第一范文网 - 专业文章范例文档资料分享平台

微机原理及应用第2章习题及答案

来源:用户分享 时间:2025/5/30 1:45:38 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

CH02 8086/8088指令系统

习题与思考题

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)MOV AX,0ABH

寻址方式:立即寻址;源操作数在数据线上;物理地址:无

(2)MOV AX,[100H]

寻址方式:直接寻址;源操作数在存储器中;物理地址:DS*16+100H=

2000H*16+100H=20100H

(3)MOV AX,VAL

寻址方式:直接寻址;源操作数在存储器中;物理地址:DS*16+VAL=

2000H*16+0050H=20050H

(4)MOV BX,[SI]

寻址方式:寄存器间接寻址;源操作数在存储器中;物理地址:DS*16+SI=

2000H*16+00A0H=200A0H

(5)MOV AL,VAL[BX]

寻址方式:变址寻址;源操作数在存储器中;物理地址:DS*16+VAL+BX=

2000H*16+0050H+0100

=20150H

(6)MOV CL,[BX][SI]

寻址方式:基址加变址寻址;源操作数在存储器中;物理地址:DS*16+BX+SI=

2000H*16+0100H+00A0H

=201A0H

(7)MOV VAL[SI],BX

寻址方式:寄存器寻址;源操作数在寄存器中;物理地址:无

(8)MOV [BP][SI],100

寻址方式:立即寻址;源操作数在;物理地址:无

2.设有关寄存器及存储单元的内容如下:

DS=2000H,BX=0100H,AX=1200H,SI=0002H,[20100H]=12H,[20101H]=34H,[20102H]=56H,[20103]=78H,[21200]=2AH,[21201H]=4CH,[21202H]=0B7H,[21203H]=65H。 试说明下列各条指令单独执行后相关寄存器或存储单元的内容。 (1)MOV AX,1800H (2)MOV AX,BX

(3)MOV BX,[1200H] (4)MOV DX,1100[BX]

(5)MOV [BX][SI],AL (6)MOV AX,1100[BX][SI] 解答: 题号 (1) MOV (2) MOV (3) MOV (4) MOV (5) MOV (6) MOV 指 令 AX,1800H AX,BX BX,[1200H] DX,1100[BX] [BX][SI],AL AX,1100[BX][SI] 执 行 结 果 AX=1800H AX=0100H BX=4C2AH DX=4C2AH [20102H]=00H AX=65B7H

3.假定BX=0E3H,变量VALUE=79H,确定下列指令执行后的结果(操作数均为无符号数。对3、6,写出相应标志位的状态)。

(1)ADD VALUE,BX (2)AND BX,VALUE (3)CMP BX,VALUE (4)XOR BX,0FFH (5)DEC BX (6)TEST BX,01H 解答: 题号 (1) ADD (2) AND (3) CMP (4) XOR (5) DEC (6) TEST 指 令 VALUE,BX BX,VALUE BX,VALUE BX,0FFH BX BX,01H 执 行 结 果 BX=015CH BX=0061H BX=00E3H(CF=ZF=OF=SF=0,AF=PF=1) BX=001CH BX=00E2H BX=00E3H(CF=ZF=OF=SF=AF=PF=0)

4.已知SS=0FFA0H,SP=00B0H,先执行两条把8057H和0F79H分别进栈的PUSH指令,再执行一条POP指令,试画出堆栈区和SP内容变化的过程示意图。(标出存储单元的地址) 解答:

堆栈段SS=0FFA0H堆栈段SS=0FFA0H00ACH00ADH00AEH00AFH0FFA0:00B0H···X···FFAABHFFAACHFFAADHFFAAEHFFAAFHFFAB0H00ACH00ADH00AEH00AFH0FFA0:00B0H···57H80HX···FFAABHFFAACHFFAADHFFAAEHFFAAFHFFAB0H①初始状态;SP=00B0H②PUSH AX;(AX=8057H)SP=00AEH堆栈段SS=0FFA0H堆栈段SS=0FFA0H00ACH00ADH00AEH00AFH0FFA0:00B0H···79H0FH57H80HX···FFAABHFFAACHFFAADHFFAAEHFFAAFHFFAB0H00ACH00ADH00AEH00AFH0FFA0:00B0H···57H80HX···FFAABHFFAACHFFAADHFFAAEHFFAAFHFFAB0H③PUSH BX;(BX=0F79H)SP=00ACH④POP BX;SP=00AEH

5.已知程序段如下: MOV AX,1234H MOV CL,4 ROL AX,CL DEC AX MOV CX,4 MUL CX 试问:(1)每条指令执行后,AX寄存器的内容是什么(2)每条指令执行后,CF,SF及ZF的值分别是什么(3)程序运行结束时,AX及DX寄存器的值为多少 指 令 MOV MOV

执 行 结 果 AX AX=1234H AX=1234H CF × × SF × × ZF × × AX,1234H CL,4

ROL DEC MOV MUL AX,CL AX CX,4 CX AX=2341H AX=2340H AX=2340H AX=8D00H,DX=0000H 1 1 1 0 0 0 0 0 0 0 0 0

6.写出实现下列计算的指令序列。(假定X、Y、Z、W、R都为字变量) (1)Z=W+(Z+X) (2)Z=W-(X+6)-(R+9) (3)Z=(W*X)/(R+6) (4)Z=((W-X)/5*Y)*2 解答:(1)Z=W+(Z+X) 题号 MOV MOV MOV ADD ADC MOV MOV MOV MOV MUL PUSH MOV ADD MOV POP DIV MOV MOV 指 令 AX,Z BX,X CX,W BX CX Z,AX DX,0 AX,W BX,X BX AX AX,R AX,6 CX,AX AX CX Z,AX Z+1,DX (4) 题号 (2) MOV ADD MOV ADD MOV SUB SUB MOV MOV MOV SUB MOV MOV DIV MOV MUL MOV MUL MOV MOV 指 令 Z=W-(X+6)-(R+9) DX,R DX,9 BX,X BX,6 AX,W AX,BX AX,DX Z,AX AX,W BX,X AX,BX DX,0 CL,5 CL BX,Y BX CL,2 CL Z,AX Z+1,DX (1) Z=W+(Z+X) (3) Z=(W*X)/(R+6) Z=((W-X)/5*Y)*2

7.假定DX=001B,CL=3,CF=1,试确定下列各条指令单独执行后DX的值。 (1)SHR DX,1 (2)SHL DL,1 (3)SAL DH,1 (4)SAR DX,CL (5)ROR DX,CL (6)ROL DL,CL (7)RCR DL,1 (8)RCL DX,CL 解答: 题号 (1) SHR (2) SHL

指 令 DX,1 DL,1 执 行 结 果 DX=0110 0100 1101 1100(64DCH) DX=1100 1001 0111 0010(C972H)

(3) SAL (4) SAR (5) ROR (6) ROL (7) RCR (8) RCL DH,1 DX,CL DX,CL DL,CL DL,1 DX,CL DX=1001 0010 1011 1001(92B9H) DX=1111 1001 0011 0111(F937H) DX=0011 1001 0011 0111(3937H) DX=1100 1001 1100 1101(C9CDH) DX=1100 1001 1101 1100(C9DCH) DX=0100 1101 1100 1011(4DCFH)

8.已知DX=1234H,AX=5678H,试分析下列程序执行后DX、AX的值各是什么该程序完成了什么功能

MOV CL,4 SHL DX,CL MOV BL,AH SHL BL,CL SHR BL,CL OR DL,BL

解答:DX=2345H,AX=6780H。该程序完成的功能如图所示,将DX,AX拼装成双字后,左移四位。

DX12342DX34020DX3456AX780AX56786AX78

9.试分析下列程序段: ADD AX,BX JNC L2 SUB AX,BX JNC L3

JMP SHORTL5

如果AX、BX的内容给定如下:

AX BX (1)14C6H 80DCH (2)B568H 54B7H 问该程序在上述情况下执行后,程序转向何处 解答:(1)AX=AX+BX=14C6H+80DCH=95A2H;CF=0;无进位,转移至L2;

(2)AX=AX+BX=B568H+54B7H=0A1FH;CF=1;有进位,继续执行;

AX=AX-BX=0A1FH+54B7H=B568H;CF=1;有借位,继续执行;

无条件转移至SHORTL5

10.编写一段程序,比较两个5字节的字符串OLDS和NEWS,如果OLDS字符串不同于NEWS

字符串,则执行NEW_LESS,否则顺序执行。 解答:编程如下,(说明:左测程序为常规编法,两个字符串在一个数据段中;右测的程序

搜索更多关于: 微机原理及应用第2章习题及答案 的文档
微机原理及应用第2章习题及答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c69u9a0xrat9jajr88ky455t2h95xc900w7r_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top