微机原理第三章课后习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ß 1. DS=1000H, BX=0200H, SI=0002H (10200H~10205H)依次存有10H,2AH,3CH,46H,59H,6BH ,给出
执行指令后AX 的内容。
(1)MOV AX ,0200H
AX=0200 (2)MOV AX ,[200H] 物理地址=1000H ×10H+0200H=10200H, AX=2A10H
(3)MOV AX ,BX
AX=0200H (4)MOV AX ,3[BX]
物理地址=1000H ×10H +0200H+3H=10203H, AX=5946H (5)MOV AX ,[BX+SI] 物理地址=1000H ×10H+0200H +2H=10202H , AX=463CH
(6)MOV AX ,2[BX+SI] 物理地址=1000H ×10H +200H+2H+2H=10204H , AX=6B59H ß 2.DS=1000H ,ES=2000H ,SS=3500H ,SI=00A0H , DI=0024H ,
BX=0100H ,BP=0200H ,VAL=0030H ,指出寻址方式和物理地址。
(1)MOV AX ,[100H] (2)MOV AX ,VAL
(3)MOV AX ,[BX] (4)MOV AX ,ES:[BX]
(5)MOV AX ,[SI] (6)MOV AX ,[BX+10H]
(7)MOV AX ,[BP] (8)MOV AX ,VAL[BP][SI]
(9)MOV AX ,VAL[BX][DI] (10)MOV AX ,[BP][DI]
(1)MOV AX, [100H] 直接寻址方式,10100H
物理地址=DS ×10H+100H=10000H+0100H=10100H
(2)MOV AX, V AL 直接寻址方式,10030H
物理地址=DS ×10H+V AL=10000H+0030H=10030H
(3)MOV AX, [BX] 寄存器间接寻址,10100H
物理地址=DS ×10H+BX=10000H+0100H=10100H
(4)MOV AX, ES:[BX] 寄存器间接寻址,20100H
物理地址=ES ×10H+BX=20000H+0100H=20100H
(5)MOV AX, [SI] 寄存器间接寻址,100A0H
物理地址=DS ×10H+SI=10000H+00A0H=100A0H
(6)MOV AX, [BX+10H] 寄存器相对寻址,10110H
物理地址=DS ×10H+BX+10H=10000H+0100H+10H=10110H
(7)MOV AX, [BP] 寄存器间接寻址,35200H
物理地址=SS ×10H+BP=35000H+0200H=35200H
(8)MOV
AX, V AL[BP][SI] 相对基址变址寻址,352D0H 物理地址=SS ×10H+BP+SI+V AL
=35000H+0200H+00A0H+0030H=352D0H (9)MOV
AX, V AL[BX][DI] 相对基址变址寻址,10154H 物理地址=DS ×10H+BX+DI+V AL
=10000H+0100H+0024H+0030H=10154H (10)MOV AX, [BP][DI] 基址变址寻址,35224H
物理地址=SS ×10H+BP+DI
=35000H+0200H+0024H=35224H
ß 3.判断并说明原因
(1)MOV DL ,AX 错,寄存器寻址方式中,目的操作数与源操作数长度必须一致错,寄存器寻址方式中,目的操作数与源操作数长度必须一致
错,寄存器寻址方式中,目的操作数与源操作数长度必须一致 (2)MOV 8650H ,AX 错,目的操作数不可以是立即数错,目的操作数不可以是立即数
(3)MOV DS ,0200H 错,MOV 指令不允许将立即数传入段寄存器 (4)MOV [BX],[1200H] 错, MOV 指令的两个操作数不能同时为存储器指令的两个操作数不能同时为存储器
(5)MOV IP ,0FFH 错, IP 不能作为MOV 指令的目的操作数指令的目的操作数
(6)MOV [BX+SI+3],IP 错, IP 不能作为MOV 指令的源操作数指令的源操作数
(7)MOV AX ,[BX][BP] 错,BX 与BP 不可以同时出现在源操作数当中
(8)MOV AL ,ES:[BP] 对
(9)MOV DL ,[SI][DI] 错,SI 与DI 是两个变址寄存器,不可以同时出现在源操作数中。
是两个变址寄存器,不可以同时出现在源操作数中。
(10)MOV AX ,OFFSET 0A20H 错,OFFSET 后面跟的应该是符号地址,再把符号地址的值作为操作数。
作为操作数。
(11)MOV AL ,OFFSET TABLE 错,TABLE 的偏移地址是16位,目的与源长度不一致位,目的与源长度不一致
(12)XCHG AL ,50H 错,交换指令可以在寄存器之间,寄存器和存储器之间进行,不可以是立即数。
以是立即数。
(13)IN BL ,05H 错,
BL 不能作为IN 指令的目的操作数,只能用AL 或AX (14)OUT AL ,0FFEH 错,端口地址0FFEH>FFH, 应用DX 间接寻址, 同时源操作数和目标操作数的位置颠倒了,应改为OUT DX, AL 。
ß 4. 已知SS=1050H ,SP=0100H ,AX=4860H ,BX=1287H ,给出执行以下指令后
,堆栈指针,堆栈内容变化情况及图示。
(a)执行PUSH AX 后(b)执行PUSH BX 后
(b)执行PUSH BX 后
(c)执行POP BX 后(d)执行POP AX 后
(d)执行POP AX 后
H ,BX=0F36H ,CX=0004H ,DX=1864H ,给出执行指令后的结果。
5.AX=2508H ,BX=0F36H ,CX=0004H ,DX=1864H ,给出执行指令后的结果。
,给出执行指令后的结果。
6.(1)AND AH ,CL
(1)AND
AH ,CL (2)OR
BL ,30H (3)NOT
AX (4)XOR
CX,0FFF0H (5)TEST
DH,OFH (6)CMP
CX,00H (7)SHR
DX,CL (8)SAR
AL,1 (9)SHL
BH,CL (10)SAL
AX,1 (11)RCL
BX,1 (12)ROR
DX,CL 1)AND AH, CL
AH=04H ,CF=0;(0010 0101B 与0000 0100B )
(2)OR BL, 30H
BL=36H ,CF=0;(0011 0110B 或0011 0000B )
(3)NOT AX
AX=DAF7H ,CF 无影响;(0010 0101 0000 1000B 取反后1101 1010 1111 0111B ) (4)XOR CX, 0FFF0H
CX=FFF4H,CF=0;(0000 0000 0000 0100B和1111 1111 1111 0000B异或后1111 1111 1111 0100B)
(5)TEST DH, 0FH
TEST操作并不修改结果,CF=0;
(6)CMP CX, 00H
CMP操作并不修改结果,CF=0;
(7)SHR DX, CL
DX=0186H,CF=0;
(8)SAR AL, 1
AH=04H,CF=0;
(9)SHL BH, CL
BH=F0H,CF=0;
(10)SAL AX, 1
AX=4A10H,CF=0;( 0010 0101 0000 1000B 左移)
左移)
(11)RCL BX, 1
若程序执行之前CF=0,BX=1E6CH,CF=0;
若程序执行之前CF=1,BX=1E6DH,CF=0。
(12)ROR DX, CL
DX=4186H,CF=0。
(13)2)OR BL,30H
(3)NOT AX
(4)XOR CX,0FFF0H
(5)TEST DH,0FH
(6)CMP CX,00H
(7)SHR DX,CL
(8)SAR AL,1
(9)SHL BH,CL
(10)SAL AX,1
(11)RCL BX,1
(12)ROR DX,CL。