百度的推荐答案是错误的,正确的程序如下:
MOV DPTR, #TABLE ;设置成表首地址
MOV A, DPL ;加上R2R3中的元素号码
ADD A, R3
MOV DPL, A
MOV A, DPH
ADDC A, R2
MOV DPH, A ;这时,DPTR就指向R2R3指定的元素了
CLR A
MOVC A, @A+DPTR ;取来
MOV R0, A ;保存
END ;完
MOV R4,#1000
AA:MOV R1,#TABLE
MOVX A,@R1
CJNE R2,A,BB
AJMP CC
BB:CJNE R3,A,DD
CC:MOV R0,A
HERE:AJMP HERE
DD:INC R1
DJNZ R4,AA
不论片外和片内的ROM,都一样用MOVC指令