mubcdshl.asm

来自「PIC单片机的汇编源码合集,应用比较广泛,设计程序时可做子程序来用」· 汇编 代码 · 共 37 行

ASM
37
字号
;********************MUBCDSHL********************
;本程序实现多字节非压缩BCD码非循环左移1位(即乘10)。
;入口参数: 原数据地址在SADR中,字节数在CNT中。
;出口参数: 结果首地址在SADR中,字节数在CNT中,移出位在SOU中。
;占用资源: W,STATUS,FSR,020H,023H,024H,028H,一重堆栈。
;说    明: 原数据将被冲掉.     

           IFNDEF       MUBCDSHL1
            #DEFINE     MUBCDSHL1

MUBCDSHL    DECF        CNT,W
            ADDWF       SADR,F
            MOVF        SADR,W
            MOVWF       FSR         ;得到末地址
            MOVF        SOU,W
            MOVWF       TEMP1       ;保存移入位
            MOVF        INDF,W
            MOVWF       SOU         ;移出位
            DECF        CNT,F
            DECF        FSR,F
LOOP13      MOVF        INDF,W
            INCF        FSR,F
            MOVWF       INDF
            DECF        FSR,F
            DECF        FSR,F
            DECFSZ      CNT,F
            GOTO        LOOP13
            INCF        FSR,F
            MOVF        TEMP1,W
            MOVWF       INDF        ;移入位
            DECF        FSR,W
            SUBWF       SADR,W
            MOVWF       CNT         ;恢复字节数
            MOVF        FSR,W
            MOVWF       SADR
            RETLW       0
           ENDIF

⌨️ 快捷键说明

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