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
温馨提示:答案为网友推荐,仅供参考