subcdadd.asm
来自「本程序实现ASCII码转化为一位十六进制数 原ASCII码在SOU中 结果在」· 汇编 代码 · 共 26 行
ASM
26 行
;********************SUBCDADD********************
;本程序实现单字节非压缩BCD码加法。
;入口参数:被加数在SOU中,加数在RLT中。
;出口参数:结果在SOU中,进位位在STATUS:C中。
;占用资源:W,STATUS,024H,026H,一重堆栈。
IFNDEF SUBCDADD1
#DEFINE SUBCDADD1
SUBCDADD MOVF RLT,W
ADDWF SOU,W
BTFSS STATUS,DC ;检查半进位
GOTO NODC1
ADDLW 6 ;加6处理
OVER2 ANDLW 0FH
MOVWF SOU
BSF STATUS,C
RETURN
NODC1 ADDLW 6
BTFSC STATUS,DC ;DC为1,表明原结果大于9
GOTO OVER2
ADDLW 0FAH ;恢复原值
MOVWF SOU
BCF STATUS,C ;清除进位
RETURN
ENDIF
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?