scobcdsub.asm

来自「微芯公司的PIC子程序库及运算平台」· 汇编 代码 · 共 23 行

ASM
23
字号
;********************SCOBCDSUB********************
;本程序实现单字节压缩BCD码减法。
;入口参数:被减数在SOU中,减数在RLT中。
;出口参数:结果在SOU中,借位标志在STATUS:C中,'0'表示有借位。
;占用资源:W,STATUS,024H,026H,028H,一重堆栈。

           IFNDEF       SCOBCDSUB1
            #DEFINE     SCOBCDSUB1
                        
SCOBCDSUB   MOVF        RLT,W
            SUBWF       SOU,F       ;二进制减法
            RLF         TEMP1,F     ;保存借位
            MOVLW       6
            BTFSC       STATUS,DC   ;判断有无半借位
            ADDWF       SOU,F       ;若没有
            SUBWF       SOU,F       ;有,LSD减6
            MOVLW       60H
            BTFSS       TEMP1,0     ;判断结果的MSD是否大于9
            SUBWF       SOU,F       ;减60H
            RRF         TEMP1,F     ;置借位标志
            RETLW       0
           ENDIF

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?