单片机汇编一个将2位16进制数转换为ASCII子程序

如题所述

URNUM EQU #0F1H
;还是分两段吧, 有需要的话把main修改成子程序用RET返回
MAIN:
MOV A,URNUM
PUSH ACC
ACALL HEX2ASC
MOV R6,R2
POP ACC
SWAP A
ACALL HEX3AC
MOV R7,R2
SJMP $

ORG #0064H
HEX2ASC:
ANL A,#0FH   ;取低4位
CJNE A,#0AH,CONVT
CONVT: 
ADD A,#30H  ;小于10转成数字
JNC ISCHAR  ;大于等于10再加1转成字符
SJMP NEXT
ISCHAR:INC A
NEXT:
MOV R2,A   ;保存转换结果
RET
温馨提示:答案为网友推荐,仅供参考
相似回答