⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dcobcdtb.asm

📁 PIC单片机的汇编源码合集,应用比较广泛,设计程序时可做子程序来用
💻 ASM
字号:
;********************DCOBCDTB********************
;本程序实现双字节压缩BCD码转化为二进制数。
;入口参数:原BCD码数在SOUH:SOU中。
;出口参数:结果在SOUH:SOU中。
;占用资源:W,STATUS,024H,025H,028H,029H,02AH,两重堆栈。

           IFNDEF       DCOBCDTB1
            #DEFINE     DCOBCDTB1
                        
DCOBCDTB    CLRF        TEMP1       
            CLRF        TEMP2       ;暂存结果
            SWAPF       SOUH,W
            CALL        MUL10       ;结果=10*A
            MOVF        SOUH,W
            CALL        MUL10       ;10*(10*A+B)
            SWAPF       SOU,W
            CALL        MUL10       ;10*(10*(10*A+B)+C)
            MOVF        SOU,W
            ANDLW       0FH
            ADDWF       TEMP1,W
            MOVWF       SOU         ;出口
            BTFSC       STATUS,C
            INCF        TEMP2,F
            MOVF        TEMP2,W
            MOVWF       SOUH        ;出口
            RETLW       0   
;********************结果乘10子程序********************            
MUL10       ANDLW       0FH
            ADDWF       TEMP1,F     ;取出一个十进制位加到结果中
            BTFSC       STATUS,C
            INCF        TEMP2,F
            BCF         STATUS,C
            RLF         TEMP1,W     ;结果乘以2
            MOVWF       TEMP3
            RLF         TEMP2,W
            RLF         TEMP1,F
            RLF         TEMP2,F
            RLF         TEMP1,F
            RLF         TEMP2,F
            RLF         TEMP1,F       
            RLF         TEMP2,F     ;乘以8
            ADDWF       TEMP2,F
            MOVF        TEMP3,W
            ADDWF       TEMP1,F     ;完成乘10的操作
            BTFSC       STATUS,C
            INCF        TEMP2,F     ;本步操作不可能有进位
            RETLW       0
           ENDIF
                             

⌨️ 快捷键说明

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