BCD转ASCII,如BCD码24H,转成ASCII应为34H和32H,即,将BCD的低高位分别提取出来加上30H就能转换为ASCII
;BCD转ASCII
ORG 0000H
MOV 30H, #25H
MOV 31H, #61H
MOV 32H, #39H
MOV 33H, #80H
MOV 34H, #08H
;随便写几个数据进去,便于观察最后的结果
MOV R0, #30H;源地址
MOV R1, #60H;目标地址
MOV R7, #05H;循环次数
TRANSFORM:
MOV A, @R0
MOV B, A
ANL A, #0FH;提取低位
ADD A, #30H
MOV @R1, A
INC R1
MOV A, B
ANL A, #0F0H
SWAP A;提取高位
ADD A, #30H
MOV @R1, A
INC R1
INC R0
DJNZ R7, TRANSFORM
SJMP $