? 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, VAL 直接寻址方式,10030H 物理地址=DS×10H+VAL=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, VAL[BP][SI] 相对基址变址寻址,352D0H 物理地址=SS×10H+BP+SI+VAL
=35000H+0200H+00A0H+0030H=352D0H (9)MOV AX, VAL[BX][DI] 相对基址变址寻址,10154H 物理地址=DS×10H+BX+DI+VAL
=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;
BH, CL
BH=F0H,CF=0; (9)SHL
(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
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库微机原理第三章课后习题答案在线全文阅读。
相关推荐: