![](https://csdnimg.cn/release/download_crawler_static/86120703/bg8.jpg)
可编辑
习题 3
1. 假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,
(BP)=0010H,数据变量 VAL 的偏移地址为 0050H,请指出下列指令原操作
数是什么寻址方式,其物理地址是多少?
(1) MOV AX, 0ABH
(3) MOV AX, VAL
(2) MOV AX, [100H]
(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) 立即数寻址,无物理地址
2. 已知(SS)=0FFA0H,(SP)=00B0H,先执行两条把 8057H 和 0F79H 分别进栈
的 PUSH 指令,再执行一条 POP 指令,试画出堆栈区和 SP 内容变化的过程示
意图。
答:
“8057H”进栈,则 SP 自动从 00B0H 指向 00B2H,“0F79H”进栈,则 SP 自动
从 00B2H 指向 00B4H;执行一条 POP 指令,“0F79H”被弹出栈,SP 从 00B4H 指向
00B2H。图略。
3. 设有关寄存器及存储单元的内容如下:
(DS)=2000H, (BX)=0100H, (AX)=1200H, (SI)=0002H, (20100H)=12H,
(20101H)=34H, (20102H)=56H, (20103H)=78H, (21200H)=2AH,
(21201H)=4CH, (21202H)=0B7H, (21203H)=65H.
试说明下列各条指令单独执行后相关寄存器或存储单元的内容。
----------------------------------------------------------------------