题目
1. 对 假 定 ( DS ) =2000H , ( ES ) =2100H , ( SS ) =1500H ,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据变量 VAL 的偏移地址为 0050H,请指出下列指令源操作数是什么寻址方式,其物理地址是多少?(1) MOV AX, 0ABH(2) MOV AX, [100H](3) MOV AX, VAL(4) MOV BX, [SI](5) MOV AL, VAL[BX](6) MOV CL, [BX][SI](7) MOV VAL[SI], BX(8) MOV [BP][SI], 100
1. 对 假 定 ( DS ) =2000H , ( ES ) =2100H , ( SS ) =1500H ,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据变量 VAL 的偏移地址为 0050H,请指出下列指令源操作数是什么寻址方式,其物理地址是多少?(1) MOV AX, 0ABH(2) MOV AX, [100H](3) MOV AX, VAL(4) MOV BX, [SI](5) MOV AL, VAL[BX](6) MOV CL, [BX][SI](7) MOV VAL[SI], BX(8) MOV [BP][SI], 100
题目解答
答案
答:(1) 立即数寻址,无物理地址(2) 直接寻址,物理地址=2000H×10H+100H=20100H(3) 直接寻址,物理地址=2000H×10H+0050H=20050H(4) 寄存器间接寻址,物理地址=2000H×10H+00A0=200A0H(5)相对寄存器寻址,物理地址=2000H×10H+(0050+0100H)=20150H(6)基址加变寻址,物理地址=2000H×10H+(0100H+00A0H)=201A0H(7) 寄存器寻址,无物理地址(8) 立即数寻址,无物理地址
解析
步骤 1:MOV AX, 0ABH
- 立即数寻址,源操作数是立即数0ABH,无物理地址。
步骤 2:MOV AX, [100H]
- 直接寻址,源操作数是内存地址100H处的数据,物理地址=DS×10H+100H=2000H×10H+100H=20100H。
步骤 3:MOV AX, VAL
- 直接寻址,源操作数是内存地址VAL处的数据,物理地址=DS×10H+0050H=2000H×10H+0050H=20050H。
步骤 4:MOV BX, [SI]
- 寄存器间接寻址,源操作数是内存地址SI处的数据,物理地址=DS×10H+00A0H=2000H×10H+00A0H=200A0H。
步骤 5:MOV AL, VAL[BX]
- 相对寄存器寻址,源操作数是内存地址VAL+BX处的数据,物理地址=DS×10H+(0050H+0100H)=2000H×10H+0150H=20150H。
步骤 6:MOV CL, [BX][SI]
- 基址加变寻址,源操作数是内存地址BX+SI处的数据,物理地址=DS×10H+(0100H+00A0H)=2000H×10H+01A0H=201A0H。
步骤 7:MOV VAL[SI], BX
- 寄存器寻址,源操作数是寄存器BX,无物理地址。
步骤 8:MOV [BP][SI], 100
- 立即数寻址,源操作数是立即数100,无物理地址。
- 立即数寻址,源操作数是立即数0ABH,无物理地址。
步骤 2:MOV AX, [100H]
- 直接寻址,源操作数是内存地址100H处的数据,物理地址=DS×10H+100H=2000H×10H+100H=20100H。
步骤 3:MOV AX, VAL
- 直接寻址,源操作数是内存地址VAL处的数据,物理地址=DS×10H+0050H=2000H×10H+0050H=20050H。
步骤 4:MOV BX, [SI]
- 寄存器间接寻址,源操作数是内存地址SI处的数据,物理地址=DS×10H+00A0H=2000H×10H+00A0H=200A0H。
步骤 5:MOV AL, VAL[BX]
- 相对寄存器寻址,源操作数是内存地址VAL+BX处的数据,物理地址=DS×10H+(0050H+0100H)=2000H×10H+0150H=20150H。
步骤 6:MOV CL, [BX][SI]
- 基址加变寻址,源操作数是内存地址BX+SI处的数据,物理地址=DS×10H+(0100H+00A0H)=2000H×10H+01A0H=201A0H。
步骤 7:MOV VAL[SI], BX
- 寄存器寻址,源操作数是寄存器BX,无物理地址。
步骤 8:MOV [BP][SI], 100
- 立即数寻址,源操作数是立即数100,无物理地址。