给定的一个字节二进制数,转换成ASCII码。
将累加器A中的值拆为两个ASCII码,并存入从RWESULT开始的两个单元中。
示例程序给A赋值#1AH
代码如下:
RESULT EQU 30H
ORG 00H
START:
MOV A,#1AH
CALL BINTOHEX
LJMP $
BINTOHEX:
MOV DPTR,#ASCIITAB
MOV B,A ;暂存A
SWAP A
ANL A,#0FH ;取高四位
MOVC A,@A+DPTR ;查ASCII表
MOV RESULT, A
MOV A,B ;恢复A
ANL A,#0FH ;取低四位
MOVC A,@A+DPTR ;查ASCII表
MOV RESULT+1,A
RET
ASCIITAB:
DB '0123456789ABCDEF' ;定义数字对应的ASCII表
END
Debug:使用keilC调试可看到D:30h 和31h 的值为31 41