大学微机原理第三章习题.docx
《大学微机原理第三章习题.docx》由会员分享,可在线阅读,更多相关《大学微机原理第三章习题.docx(7页珍藏版)》请在冰豆网上搜索。
大学微机原理第三章习题
大学微机原理第三章习题
以下是为大家整理的大学微机原理第三章习题的相关范文,本文关键词为大学,微机,原理,第三章,习题,,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。
8086/8088的寻址方式和指令系统习题一.单项选择题
1.设bx=2000h,sI=3000h,指令moVAx,[bx+sI+8]的源操作有效地址为()。
A.5000hb.5008hc.23008hD.320XXh
2.设Ds=1000h,es=2000h,bx=3000h,指令ADDAL,[bx]的源操作数的物理址为()。
A.13000hb.23000hc.33000hD.3000h
3.设Ds=2000h,es=3000h,sI=200h,指令moVes:
[sI],AL的目的操作数的物理地址为()。
A.20200hb.30200hc.50200hD.200h4.指令moVmem[bx],Ax中的mem是()。
A.原码b.反码c.补码D.移码5.用来作为寄存器间接寻址的寄存器有()个。
A.8b.6c.5D.4
6.指令moV[bx+sI],AL中的目的操作数使用()段寄存器。
A.csb.Dsc.ssD.es
7.指令moVbx,[bp+5]中的源操作数使用()段寄存器。
A.csb.Dsc.ssD.es8.段内间接寻址只改变()中的内容。
A.csb.Ipc.cs和IpD.psw9.段间间接寻址只改变()中的内容。
A.csb.Ipc.cs和IpD.psw10.下述指令中不改变psw的指令是()。
A.moVAx,bxb.AnDAL,0Fhc.shRbx,cLD.ADDAL,bL11.下述指令中不影响cF的指令是()。
A.shLAL,1b.Inccx
c.ADD[bx],ALD.subAx,bx
12.两个整数补码9ch和7Ah相加运算后,会产生()。
A.无溢出且无进位b.无溢出但有进位c.有溢出且有进位D.有溢出但无进位13.指令JmpwoRDpTR[bx]属于()寻址。
A.段内直接b.段内间接c.段间直接D.段间间接14.指令moVAx,[bx+sI+8]的源操作数属于()寻址。
A.直接b.寄存器相对c.基址变址D.相对基址变址15.指令()不改变cF的内容。
A.DecALb.ADDAx,cxc.sub[bx],cLD.sbbAL,DL
16.十进制数字74所对应的压缩型bcD码的形式是()。
A.74b.74hc.4AhD.4A
17.十进制数字85所对应的非压缩型bcD码的形式是()。
A.0085b.0085hc.0805D.0805h18.设AL=67h,执行“cmpAL,76h”后,AL=()。
A.76hb.0DFhc.67hD.00
19.设AL=65h,bL=29h,执行下列指令后,AL=()。
ADDAL,bLDAA
A.8ehb.94c.94hD.8e20.压栈操作是()位数的操作。
A.8b.16c.32D.任意
21.执行ImuL指令时,如果乘积的高位部分不是低位部分的符号扩展,则()。
A.oF=0、cF=0b.oF=0、cF=1c.oF=1、cF=0D.oF=1、cF=122.设Ax=3762h,cL=5,执行“shRAx,cL”后,Ax=()。
A.0376hb.01bbhc.01bbD.0376
23.若要在buF缓冲区中寻找与AL中不相等的数据,应使用()scAsb串操作指令。
A.Repneb.Repc.RepeD.RepnZ
24.如果“JncL”指令的操作码放在0040h,转移后在0020h处取下一条指令的操作码,那么该条指令的位移量是()。
A.20hb.1ehc.0DehD.0e0h
25.如果“JAp”指令的操作码放在0050h,该指令的位移量为34H,执行完此条指令转移到取下一条指令的偏移地址为()
A.0082hb.0084hc.0086hD.0088h26.若Ds=1000h,bx=2000h,(12000h)=56h,(120XXh)=78h,Ax=1000h,执行“ADDAx,[bx]”指令后,Ax=()。
A.8856hb.6678hc.8800hD.6600h
27.设Ax、bx寄存器中存放的是有符号的二进制数据,若执行“cmpAx,bx”指令后,()L表示大于则转L。
A.JZb.JAc.JgeD.Jg28.执行“DIVbx”指令后,()寄存器中存放商。
A.ALb.Ahc.AxD.Dx
29.执行“()Ax,bx”指令不改变Ax寄存器中的内容。
A.cmpb.ADDc.xoRD.oR
30.若Ax=1000h,执行“negAx”指令后,Ax=()。
A.1000hb.0e000hc.0F000hD.1001h三.填空题
1.在一条指令中,立即数只能作操作数。
2.8086/8088cpu形成的内存物理地址有位。
3.指令“moVAx,[bx+sI]”的源操作数在内存的段。
4.指令“moVbx,[bp+DI]”的源操作数在内存的段。
5.指令“moVAx,es:
[sI]”的源操作数在内存的段。
6.入栈指令使用的是段。
7.指令“ADD[bx+sI],AL”的目的操作数是寻址方式。
8.指令“subbx,A[sI]”的源操作数是寻址方式。
9.指令“JmpDwoRDpTR[bx]”属于寻址方式。
10.可作为寄存器间接寻址的寄存器有个。
11.堆栈是从地址向方向生长的。
其操作遵循的操作原则。
12.在进行弹栈操作时应该先将弹出的数据送,然后。
13.在进行多精度加法运算时,一般使用指令。
14.通用的数据传送指令不影响。
15.“IncAL”指令不影响标志位的位。
16.若AL=11h,执行“negAL”后,AL=。
17.Jmp指令的执行psw寄存器中的各位。
18.两个无符号数进行比较时,可以根据标志位来判断大小。
在编写程序时可使用
指令来实现。
19.若执行“DIVbx”,其被除数的高16位必须放在,低16位必须放在。
20.DAA指令只对寄存器中的内容进行调整。
21.若AL=84h,在执行cbw后,AL=。
22.十进制数1234的压缩型bcD码为。
23.执行AnDAL,0FhJnZL
指令,是检测AL中的位,当它为非零则转移。
24.若移位指令的移位位数大于1时,其移位位数必须放在中。
25.如果AL=85h,cL=4,执行“sARAL,cL”时,AL=,cF=。
26.在串操作指令中,sI指向串,DI指向串。
27.如果要查找某串中与AL寄存器中有相同的字符(数),则在scAsb指令前应配合使用重复前缀。
28.转移指令“JnZL”的转移范围(十进制)是。
该指令的第二个字节为位移量,用形式表示。
29.段内调用指令改变中的内容。
30.段间调用指令改变中的内容。
四.判断题(判断下列指令是否正确,如果是错误的,请指出错误的原因)1.ADDAL,bx2.moV[bx],sI3.sub[bx],[sI]4.cmp5,AL5.moVcx,Ax6.LeAbL,A7.shRAL,6
8.moVAL,[DI+sI]9.moVbL,200h10.moVAx,DATA11.Inc[bx]
12.cmp[bx],A;A为变量13.moVAx,?
+?
14.moVAx,[bp+bx]15.ADDAx,[cx]16.ouT400,AL17.Jncp
18.moVbx,,oFFseTA19.LeADI,A[sI]20.cmpAx,5
五.改错题(按下列指令中的原意改正下列指令)1.Dec[sI]
2.cmpAL,bx;无符号数比较3.moV[Dx],AL4.moVAL,300h
5.moV[bx],[DI];字节操作6.ADDAL,[cx+sI]
7.ADDAL,bx;有符号数相加8.pushAL
9.cmp[bx],5;字节比较
10.moVDs,1234h六.简答题
1.设bx=1000h,sI=2000h,位移量D=3000h,请指出下列各种寻址方式的有效地址是什么?
(1)使用D的直接寻址
(2)使用bx寄存器的间接寻址(3)使用bx寄存器的相对寻址(4)基址变址寻址(5)相对基址变址寻址
2.请指出下列各条指令的源操作数的寻址方式是什么?
(1)moVAx,buF
(2)cmpAL,5(3)ADD[bx+5],Ax
(4)subAx,[bx+sI](5)ADcAh,A[sI](6)moVbx,[sI]
(7)AnDcx,b[bp+sI]
(8)JmpwoRDpTR[bx](9)Jmpp
(10)JmpFARpTRp
3.设Ds=2000h,bx=0100h,sI=0002h,(20XX0h)=12h,(20XX1h)=34h,(20XX2h)=56h,(20XX3h)=78h,(21200h)=2Ah,(21201h)=4ch,(21202h)=b7h,(21203h)=65h,试说明下列各条指令执行完后Ax寄存器中的内容是多少?
(1)moVAx,1200h
(2)moVAx,bx(3)moVAx,[1200h](4)moVAx,[bx]
(5)moVAx,[bx+1100h](6)moVAx,[bx+sI]
(7)moVAx,[bx+sI+1100h]
4.按下列各小题的要求写出相应的一条汇编语言指令。
(1)把bx寄存器和Dx寄存器的内容相加,结果存入Dx寄存器中
(2)以bx和sI寄存器作基址变址寻址方式,把该单元中的一个字传送到Ax。
(3)以sI和位移量20h作寄存器相对寻址,将该单元中的内容与cx寄存器中的内容相加,结果存入cx寄存器中。
(4)清除Ax寄存器的内容,同时清除cF标志位(5)将字单元num与0b6h进行比较
5.按下列各小题的要求使用相应的几条指令完成其操作。
(1)将偏移量为200h的存储单元中的数与300h相加,结果存入Ax寄存器中
(2)比较Ax寄存器中与bx寄存器中的16位有符号数,当Ax中的内容大于bx中的内容时转移到L。
(3)将buF1和buF2中的16位数据交换
(4)测试buF字缓冲区中第15位,如果为1则转移到p(5)将buFI和buF2的字相加,结果送s缓冲区
6.设bx=8234h,请说明下列两条指令的区别,执行下列各指令后bx中的内容是什么?
shRbx,1sARbx,1
7.分别说明下列每组指令中的两条指令的区别。
(1)moVbx,buFLeAbx,buF
(2)oRbL,0FhAnDbL,0Fh(3)JmpshoRTLJmpL
(4)moVAx,bxmoVAx,[bx](5)moVAx,[bx+DI]moVAx,[bp+DI]8.说明下列各指令的源操作数和目的操作数的存储地方。
(1)moV[2000h],Ax
(2)ADDAx,[bx+5](3)LeAsI,buF(4)DAA
(5)muLbL
9.指出下列无条件转移指令的转移目标地址是什么?
存放在何处?
(1)Jmpbx
(2)JmpwoRDpTR[bx](3)JmpDwoRDpTR[bx](4)Jmpp
(5)JmpshoRTR
10.说明moVsb和cmpsb各能使用哪些重复前缀?
七.程序分析题
1.现有程序段如下:
moVAx,1234hmoVbx,60hADDAx,bx请回答:
(1)该程序段完成的功能是什么?
(2)程序段执行完后Ax=。
2.现有程序段如下:
moVAx,0603hmoVbL,8AAD
DIVbL请回答:
(1)该程序段完成的功能是什么?
(2)程序段执行完后Ax=。
5.设A为字节变量,变量中的内容分别为64h、52h;b为字节变量,变量中的内容分别为12h、46h,现有程序段如下:
moVAL,AsubAL,bDAs
moVc,ALmoVAL,A+1sbbAL,b+1DAs
moVc+1,AL请回答:
(1)该程序段完成的功能是什么?
(2)最后结果是什么?
6.现有程序段如下:
moVbL,AL
以下是为大家整理的大学微机原理第三章习题
(2)的相关范文,本文关键词为大学,微机,原理,第三章,习题,,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。
moVcL,4shRbL,cLmoVA,bLAnDAL,0FhmoVb,AL请回答:
(1)该程序段完成的功能是什么?
(2)如果AL的初值为56h,则A=,b=。
7.现有程序段如下:
moVAL,8moVbL,7muLbLAAm
ADDAx,3030hxchgAh,ALmoVbuF,Ax请回答:
(1)该程序段完成的功能是什么?
(2)buF两个单元中的值分别为。
8.现有程序段如下:
moVAx,mmoVDx,nshRDx,1RcRAx,1请回答:
(1)该程序段完成的功能是什么?
(2)若m=1234h,n=5678h,程序运行后Dx=9.现有程序段如下:
xoRAx,AxmoVAx,6342hmoVcx,0404hRoLAh,cLxchgch,cLRoRAL,cL请回答:
(1)该程序段执行后Ax=。
(2)cF=。
12.现有程序段如下:
cLD
moVsI,oFFseTbuF1moVDI,oFFseTbuF2moVcx,100RepmoVsb
请回答:
该程序段完成的功能是什么?
13.现有程序段如下:
cLD
LeADI,buFmoVAL,20hmoVcx,100RepnZscAsb
,Ax=。
请回答:
(1)该程序段完成的功能是什么?
(2)若ZF=1,表示buF中值为20h数据
(3)若buF的首地址为0,ZF=0,执行完该程序段后DI=。
14.现有程序段如下:
moVAL,0moVbL,1moVcx,10L:
ADDAL,bLIncbLLoopL请回答:
(1)该程序段完成的功能是什么?
(2)该程序执行完后,AL=
。
最后,小编希望文章对您有所帮助,如果有不周到的地方请多谅解,更多相关的文章正在创作中,希望您定期关注。
谢谢支持!