在80C51汇编语言中专门设置了2条查表指令:“MOVC A,@A+DPTR”和“MOVC A,@A+PC”。
设计一个将十六进制数转换成ASCII码的子程序。设十六进制数存放在R0中的低4位,要求将转换后的ASCII码送回R0中。
ORG 60H
MOV A,R0
ANL A,#0FH ;保留低4位
ADD A,#02 ;变址调整
MOVC A,@A+PC ;查表获取ASCII码值
MOV R0,A
RET
TAB:DB 30H,31H,32H
DB 33H,34H,35H
DB 36H,37H,38H
DB 39H,41H,42H
DB 43H,44H,45H,46H
由于“MOVC A,@A+PC”指令与表格首地址相隔2字节,故变址调整值为2
我要赚赏金
