结构推理
已知(DS)=3000H,(SS)=3001H,(BX)=100H,(BP)=0F3H,(SI)=2,内存单元的值如图所示,求下列指令执行后AX的值。
30100H
30101H
30102H
30103H
30104H
30105H
30106H
30107H…
12H
34H
05H
06H
1AH
10H
7CH
OBH
…
(1)MOV AX, 1200H
(2)MOV AX, BX
(3)MOV AX, [100H]
(4)MOV AX, [BX]
(5)MOV AX, 2[BX]
(6)MOV AX, [BX][SI]
(7)MOV AX, [BP][SI]
(8)MOV AX, DS:11H[BP][SI]
(9)MOV AX, 4H[BX][SI]
【正确答案】解:
(1)(AX) = 1200H 立即寻址
(2)(AX) = 0100H 寄存器寻址
(3)(AX) = 3412H 直接寻址
源操作数物理地址 = (DS)× 10H + 100H = 30100H
(4)(AX) = 3412H 寄存器间接寻址
源操作数物理地址 =(DS)× 10H +(BX)= 30100H
(5)(AX) = 0605H 寄存器相对寻址
源操作数物理地址 =(DS)× 10H +(BX)+ 2H = 30102H
(6)(AX) = 0605H 基址变址寻址
源操作数物理地址 =(DS)× 10H +(BX)+(SI)= 30102H
(7)(AX) = 7C10H 基址变址寻址
源操作数物理地址 =(SS)× 10H +(BP)+(SI)= 30105H
(8)(AX) = 0B7CH 相对基址变址寻址(段超越)
源操作数物理地址 =(DS)× 10H +(BP)+(SI)+ 11H = 30106H
(9)(AX) = 0B7CH 相对基址变址寻址
源操作数物理地址 =(DS)× 10H +(BX)+(SI)+ 4H = 30106H
【答案解析】