结构推理 已知(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
【答案解析】