在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