编一采用查表法求1~20的平方数子程序。要求x在累加器A中,1<=x<=15,平方数高位存放在R6,低位放在R7

来源:百度知道 编辑:UC知道 时间:2024/05/22 05:10:54

以前的是错误的,不过楼下的也不对,因为400已经不能再用一个字节保存了。

修改后的答复:

ORG 0000H
MOV A,#5 ;把要计算的自变量送入A
MOV DPTR,#TAB
DEC A ;减一对齐
RL A ;A乘以2
MOV B,A ;保护A
MOVC A,@A+DPTR ;高位
MOV R6,A
MOV A,B ;恢复A
INC A
MOVC A,@A+DPTR ;低位
MOV R7,A
SJMP $
ORG 1000H
TAB: DW 1,4,9,16,25,36,49,64,81,100
DW 121,144,169,196,225,256,289,324,400
END

这次应该对了,测试通过……

org 0030H
MOV DPTR,#TAB
RL A
MOVC A,@A+DPTR
MOV R6,A
INC DPTR
MOVC A,@A+DPTR
MOV R7,A
TAB:
DW 0,1,4,9,16,25,36,49,81,100,121,144,169,196,225,256,289,324,400
SJMP $
END