📄 msubb.asm
字号:
;多字节的BCD码的减法
/*算法是:先向高位借1,即总共有100
(9AH)与原来的数相减后,如果有借位则借来的数是99
如果没有则再借来的数是100,调整后借位依然是不受影响*/
MSUBBA EQU 40H ;
MSUBBB EQU 42H ;
MSUBBCOUNT EQU 2 ;
ORG 0000H
AJMP MSUBB
MSUBB: MOV R0,#MSUBBA ;计算高低字节的位差
MOV R1,#MSUBBB
MOV A,#MSUBBCOUNT
ADD A,R0
MOV R0,A
MOV A,#MSUBBCOUNT
ADD A,R1
MOV R1,A
MOV R6,#MSUBBCOUNT
SETB C ;借位预置
DEC R0
DEC R1
MSUBBLOP: CLR A ;借位与减的处理
ADDC A,#99H ;
SUBB A,@R1 ;
ADD A,@R0 ;
DA A ;
MOV @R0,A ;
DEC R0
DEC R1
DJNZ R6,MSUBBLOP
SJMP $
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -