asctbcd.asm

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

ASM
27
字号
;********************ASCTBCD********************
;本程序实现ASCII码转化为一位BCD数。
;入口参数:原ASCII码在SOU中。
;出口参数:结果在SOU低四位中,若原ASCII码超出范围则STATUS:C为1,否则为0。
;占用资源:W,STATUS,024H,一重堆栈。

           IFNDEF       ASCTBCD1
            #DEFINE     ASCTBCD1

ASCTBCD     MOVLW       30H
            SUBWF       SOU,W
            BTFSS       STATUS,C    
            GOTO        OVF1        ;SOU<30H则转溢出处理
            MOVLW       3AH
            SUBWF       SOU,W
            BTFSC       STATUS,C
            GOTO        OVF1        ;SOU>39H则转溢出处理
            MOVLW       30H
            SUBWF       SOU,F
            BCF         STATUS,C    ;未溢出
            RETURN
OVF1        BSF         STATUS,C    ;溢出
            RETURN
           ENDIF

                  

⌨️ 快捷键说明

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