全球旧事资料 分类
TARTSTART1
ORGLJMPORGMOVCLRMOVMOVLCALLSETBMOVMOV
0000HSTART0100HSP60HF1R0bufferA4GetBCDKeyF1R0buffer4A4
先清除显示,再接收键输入
按键次数得到双字节十进制数被加数接收到第一个键,才清除显示
按键次数
fLCALL
GetBCDKey
得到双字节十进制数加数
MOV
Abuffer1
ADD
Abuffer5
DA
A
MOV
buffer5A
MOV
Abuffer
ADDC
Abuffer4
DA
A
MOV
buffer4A
CLR
A
RLC
A
Display
PUSH
ACC
显示结果
MOV
R0buffer
MOV
Abuffer5
低位
ACALL
B1toB2
压缩BCD码转换成非压缩BCD码
MOV
Abuffer4
高位
ACALL
B1toB2
POP
ACC
进位
ACALL
B1toB2
MOV
R010H
最高二位消隐
INC
R0
MOV
R010H
MOV
R0buffer5
MOV
R75
ACALL
BlackDisplay
将高位0消隐
MOV
R0buffer
LCALL
Display8
SJMP
START1
将一个字节压缩BCD码转换成二个字节非压缩BCD码
B1toB2
PUSH
ACC
ANL
A0FH
MOV
R0A
INC
R0
POP
ACC
ANL
A0F0H
SWAP
A
MOV
R0A
INC
R0
RET
BlackDisplay
MOV
AR0
将高位0消隐
JNZ
Exit
MOV
A10H
MOV
R0A
DEC
R0
fDJNZ
R7BlackDisplay
Exit
RET
END
f实验三双字节BCD码十进制数减法
一、实验目的熟悉51汇编指令,学会使用星研集成环境软件,掌握汇编语言的设计和调试方法。能
看懂程序流程框图,能自己设计程序,熟悉BCD码、补码,了解如何调用系统提供的子程序。
二、实验内容从键盘上输入4位被减数、减数,实现双字节BCD码四位数的减法,结果显示在数码
管上;进一步熟悉使用断点、单步进入、单步、运行到光标处、修改PC指针、全速运行等各种调试手段;熟悉查看特殊功能寄存器、内部数据RAM、外部数据空间的各种方法。
三、程序框图
开始
堆栈初始化
设定
好听全球资料 返回顶部