mubcdtco.asm

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

ASM
36
字号
;********************MUBCDTCO********************
;本程序实现多字节非压缩BCD码数转化为压缩BCD码。
;入口参数:原非压缩BCD码地址在SADR中,字节数在CNT中(字节数必须为偶数)。
;出口参数:结果地址在SADR中,字节数在CNT中。
;占用资源:W,FSR,STATUS,020H,023H,028H,029H,一重堆栈。

           IFNDEF       MUBCDTCO1
            #DEFINE     MUBCDTCO1
                        
MUBCDTCO    DECF        CNT,W
            ADDWF       SADR,W      ;得到最高位字节地址
            MOVWF       TEMP2       ;原操作数指针
            MOVWF       SADR        ;结果指针
            BCF         STATUS,C
            RRF         CNT,W
            MOVWF       CNT
            MOVWF       TEMP3       ;结果字节数
LOOP33      MOVF        TEMP2,W
            MOVWF       FSR
            SWAPF       INDF,W
            MOVWF       TEMP1       ;暂存
            DECF        FSR,F
            MOVF        INDF,W
            IORWF       TEMP1,F     ;合并
            MOVF        SADR,W
            MOVWF       FSR
            MOVF        TEMP1,W
            MOVWF       INDF        ;转化结果存入相应地址中
            DECF        TEMP2,F
            DECF        TEMP2,F
            DECF        SADR,F
            DECFSZ      TEMP3,F
            GOTO        LOOP33
            INCF        SADR,F
            RETURN
           ENDIF

⌨️ 快捷键说明

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