(B)=l0H
(40H)=(P1)=(P2)=CAH,(l0H)=20H
例:设外部RAM (0203H)=FFH,分析以下指令执行后结果。
MOV DPTR,#0203H ; (DPTR)←0203H 90 02 03
MOVX A, @DPTR ; (A)←((DPTR)), E0
MOV 30H, A ; (30H)←(A), F5 30
MOV A, #0FH ; (A)←0FH, 74 0F
MOVX @DPTR, A ; ((DPTR))←(A), F0
执行结果为
(DPTR)=0203H
(30H)=FFH
(0203H)=(A)=0FH
例:在外部ROM/EPROM中,从2000H单元开始依次存放0~9的平方值:0、1、4、9、 、
81,要求依据累加器A中的值(0~9)来查找所对应的平方值,分析下述程序的结果。
MOV DPTR, #2000H ; (DPTR)←2000H, 90 20 00
MOV A, #09H ; (A)←09H, 74 09
MOVC A, @A+DPTR ;(A)←((A)十(DPTR)), 93
执行结果:
(DPTR)=2000H,
(A)=51H(81的十六进制数
例:以上例外部ROM/EPROM 2000H单元开始存放0~9的平方值,以PC作为基址寄
存器进行查表。
解: 设MOVC指令所在地址(PC)=1FF0H,则
偏移量=表首地址-(MOVC指令所在地址+1)
偏移量=2000H-(1FF0H+1)=0FH
相应的程序如下:
MOV A,#09H ;(A)←09H, 74 09
ADD A,#0FH ;地址调整, 24 0F
MOVC A,@A+PC ;(A)←((A)+(PC)+1), 83
执行结果为:
(PC)=1FF1H,
(A)= 51H(81的十六进制数)
例 设(R0)=30H, (30H)=4AH, (A)=28H,则:
XCH A,@R0
结果为: (A)=4AH, (30H)=28H
XCHD A,@R0