📄 dsadd.asm
字号:
;********************DSADD********************
;本程序实现双字节有符号数加法。
;入口参数:被加数在SOUH:SOU中,加数在RLTH:RLT中。
;出口参数:补码表示的结果在SOUH:SOU中,若发生溢出则STATUS:C置1,否则为0。
;占用资源:W,STATUS,024H,025H,026H,027H,028H,一重堆栈。
IFNDEF DSADD1
#DEFINE DSADD1
DSADD MOVF RLTH,W
XORWF SOUH,W
MOVWF TEMP1
MOVF RLT,W
ADDWF SOU,F
MOVF RLTH,W
BTFSC STATUS,C
INCFSZ RLTH,W
ADDWF SOUH,F
DONE3 MOVF SOUH,W
XORWF TEMP1,W ;检测BIT6有没有向BIT7进位
RRF TEMP1,F ;检测BIT7有没有进位
XORWF TEMP1,F ;BIT6的进位和BIT7的进位相异或
RLF TEMP1,W
RETURN
ENDIF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -