dsadd.asm

来自「pic单片机常用的汇编程序,很有用的,分成各个小模块」· 汇编 代码 · 共 25 行

ASM
25
字号
;********************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 + =
减小字号Ctrl + -
显示快捷键?