结构推理
指出下列各条指令中源操作数的寻址方式,并指出下列各条指令执行之后,AX寄存器的内容。设有关寄存器和存储单元的内容为:(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=087H,(21203H)=65H:
(1)MOV AX,1200H
(2)MOV AX,BX
(3)MOV AX,[1200H]
(4)MOV AX,[BX]
(5)MOV AX,1100H[BX]
(6)MOV AX,[BX],[SI]
(7)MOV AX,1100H[BX],[SI]
【正确答案】DS给出数据段地址,因此,数据段的起始物理地址为(DS)×10H=20000H。由BX,SI给出的偏移量,根据寻址方式(除立即、寄存器寻址外)求出有效地址EA,再加上20000H,求出物理地址,此地址(连续两字节)的内容就是AX的内容。
(1)源操作数为立即寻址方式,因源操作数为1200H,所以(AX)=1200H。
(2)源操作数为寄存器寻址方式,因(BX)=0100H,所以(AX)=0100H。
(3)源操作数为直接寻址方式。
EA=1200H物理地址=20000H+1200H=21200H
因为 (21200H)=2AH,(21201)=4CH
所以 (AX)=4C2AH
(4)源操作数为寄存器间接寻址方式。
EA=(BX)=0100H
物理地址=20000H+0100H=20100H
因为 (20100H)=12H,(20101H)=34H
所以 (AX)=3412H
(5)源操作数为寄存器相对寻址方式。
EA=1100H+0100H=1200H
物理地址=20000H+1200H=21200H
(AX)=(21200H)=4C2AH
(6)源操作数为基址变址寻址方式。
EA=(BX)+(SI)=0100H+0002H=0102H
物理地址=20000H+0102H=20102H
(20102H)=56H,(20103H)=78H
(AX)=7856H
(7)源操作数为基址变址且相对寻址。
EA=1100H+(BX)+(SI)=1100H+0100H+0002H=1202H
物理地址=20000H+1202H=21202H
(20102H)=56H,(20103H)=78H
(21202H)=087H,(21203H)=65H
(AX)=6587H
【答案解析】