MOV DPTR,#TAB4
MOV A,R2
ADD A,R2
JNC NADD
INC DPH
NADD:MOV R3,A
MOVC A,@A+DPTR ;取地址高8位
XCH A,R3
INC A
MOVC A,@A+DPTR ;取地址低8位
MOV DPL,A
MOV DPH,R3
CLR A
JMP @A+DPTR
TAB4:DW OPR0
DW OPR1
DW OPR2
……
DW OPRn
上面程序中MOVC A,@A+DPTR 两个为啥不一样呀,若有这样的规定,先取高八位,再取低八位,那我就更有点不懂了,看下面另一个程序
MOVC A,@A+DPTR ,若A原存放值为E0H ,DPTR中存放值为2000H,则A+DPTR为20E0H,20EOH单元存放的值为47H,则执行该指令后A中为47H。
为什么上面的没有顺序之分类,直接一起加了,也就是16位与8位直接加起来了,同理上面第一个程序,也可以这样理解么
|