ascth.asm

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

ASM
39
字号
;********************ASCTH********************
;本程序实现ASCII码转化为一位十六进制数。
;入口参数:原ASCII码在SOU中。
;出口参数:结果在SOU中,若原ASCII码超出范围则STATUS:C为1。
;占用资源:W,STATUS,024H,一重堆栈。

           IFNDEF       ASCTH1
            #DEFINE     ASCTH1

ASCTH       MOVLW       30H
            SUBWF       SOU,W
            BTFSS       STATUS,C    
            GOTO        OVF         ;SOU<30H则转
            MOVLW       47H
            SUBWF       SOU,W
            BTFSC       STATUS,C
            GOTO        OVF         ;SOU>46H则转
            MOVLW       3AH
            SUBWF       SOU,W
            BTFSS       STATUS,C
            GOTO        LOW10_4     ;SOU<=39H则转
            MOVLW       41H
            SUBWF       SOU,W
            BTFSS       STATUS,C
            GOTO        OVF         ;SOU<41H则转
            MOVLW       37H
            SUBWF       SOU,F
            BCF         STATUS,C    ;未溢出
            RETURN
LOW10_4     MOVLW       30H
            SUBWF       SOU,F
            BCF         STATUS,C    ;未溢出
            RETURN
OVF         BSF         STATUS,C    ;溢出
            RETURN
           ENDIF

                  

⌨️ 快捷键说明

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