8086微处理器指令系统习题集.docx
《8086微处理器指令系统习题集.docx》由会员分享,可在线阅读,更多相关《8086微处理器指令系统习题集.docx(16页珍藏版)》请在冰豆网上搜索。
8086微处理器指令系统习题集
第三章8086微处理器指令系统习题集
一.单项选择题
1.逻辑地址1000:
2000对应的物理地址为( )。
A.1200HB.12000HC.2100HD.21000H
2.下面哪个寄存器使用时的默认段寄存器为SS( )。
A.AXB.BXC.SPD.SI
3.当使用BP寄存器作基址寻址时,若无指定段替换,则内定在( )段内寻址。
A.程序B.堆栈C.数据D.附加
4.在下面四组寄存器中,第( )组都可用于对存储器间接寻址方式的寄存器。
A.AX,BX,CX,IP;B.BX,SP,DX,SI
C.IP,SP,BP,AXD.BP,BX,SI,DI
5.含有立即数的指令中,该立即数被存放在( )。
A.累加器中 B.指令操作码后的内存单元中
C.指令操作码前的内存单元中 D.由该立即数所指定的内存单元中
6.用段基值及偏移量来指明内存单元地址的方式称为( )。
A.有效地址B.物理地址C.逻辑地址D.相对地址
7.已知物理地址为0FFFF0H,且段内偏移量为0B800H,若对应的段基地址放在DS中,则DS=(( )。
A.0FFFFHB.0F47FHC.2032HD.0F000H
8.现行数据段位于存储器BOOOOH到BOFFFH字节单元,则段寄存器DS的内容及该段长度(字节数)分别为:
( )
A.BOOOH,1000HB.O0OOH,OFFFHC.BOOOH,OFFFHD.BOOOH,OOFFH
9.寄存器间接寻址方式中,操作数在( )中。
A.通用寄存器 B.堆栈 C.存储单元 D.段寄存器
10.下列指令中,有语法错误的指令是( )。
A.MOVAX,[1000H]B.LEAAL,1000H
C.MOV[1000H],ALD.MOV1000H,AX
11.堆栈的工作方式是( )
A.先进先出 B.随机读写 C.只能读出不能写入 D.后进先出
12.8086/8088中除( )两种寻址方式外,其它各种寻址方式的操作数均在存储器中。
A.立即寻址和直接寻址B.寄存器寻址和直接寻址
C.立即寻址和寄存器寻址D.立即寻址和间接寻址
13.指令()的源操作数的寻址方式为直接寻址。
A.MOV[2000H],ALB.INAL,DX
C.XORAL,[2000H]D.MOVAX,2000H
14.下列指令中,执行速度最快的指令是( )
A.ADDAX,10B.ADDAL,[SI+10H]
B.ADDAX,CXC.ADDAX,[BX]
15.下列指令中,不影响进位的指令是( )
A.ADDAX,BXB.MULBL
C.INCBXD.SUBAL,BH
16.执行PUSHAX指令后,堆栈指针SP的内容:
( )
A.减1B.减2C.加1D.加2
17.下面对PUSH指令描述正确的是( )。
A.PUSH只能将字节型数据压入堆栈。
B.PUSH只能将字型数据压入堆栈。
C.PUSH只能将双字节型数据压入堆栈。
D.PUSH可对任何类型数据操作。
18.当对两个组合(压缩)BCD数(字节)相加后,应使用( )调整。
A.AAAB.DAAC.AASD.DAS
19.若CX=3,AX=1,执行完SHLAX,CL指令后,AX=( )。
A.1B.2C.4D.8
20.8086中( )的源操作数和目的操作数可同时为存储器数。
A.数据传送指令B.算术.逻辑运算指令
C.控制转移指令D.串操作指令
21.下列指令中隐含使用寄存器SI的是:
B
AHLTB.CMPSBC.XLATD.NOT
22.下列指令中,有语法错误的指令是( )。
A.MOVAX,[BX][SI] B.LEADI,[2000H]
C.OUTDX,AL D.SHLBX,2
23.将AL中带符号数乘10送AL,正确的程序段是( )。
A.SALAL,1B.ADCAL,AL
MOVBL,ALMOVBL,AL
SALAL,1ADDAL,AL
SALAL,1ADDAL,AL
ADDAL,BLADDAL,AL
C.MOVCL,4D.ADDAL,AL
MOVBL,ALADDAL,AL
SALAL,CLADDAL,AL
ADDAL,BLADDAL,AL
ADDAL,AL
24.假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSHAX后,存放数据21H的物理地址是( )。
A.20102HB.20101HC.200FEHD.200FFH
25.设(SS)=4000H,(SP)=1000H,(AL)=78H,(AH)=0FCH,(DX)=5609H。
现要求把AL和DX中的内容压入堆栈,第( )示图中堆栈内容是正确的。
26.在串传送指令MOVSB中,源串操作数和目的串操作数使用的数据段和偏移地址指针寄存器为( )。
A.DS和SI;ES和DIB.DS和DI;ES和SI
C.ES和SI;DS和DID.DS和SI;DS和DI;
27.( )寻址方式的跨段前缀不可省略。
A.DS:
[BP] B.DS:
[SI] C.DS:
[DI] D.SS:
[BP]
28.若要检查BX寄存器中的D12位是否为1,应该用( )指令。
A.OR BX,1000H B.TEST BX,1000H
JNZ NO JNZ YES
C.XOR BX,1000H D.AND BX,1000H
JZ YES JNZ YES
29.用BP作基址变址寻址时,操作数所在的段是当前( )。
A.数据段 B.代码段 C.堆栈段 D.附加段
30.执行下列指令后:
MOV AX,1234H
MOV CL,4
ROL AX,CL
DEC AX
MOV CX,4
MUL CX
HLT
(AX)=( )
A.8D00H B.9260H C.8CAOH D.0123H
31.下列程序:
NEXT:
MOV AL,[SI]
MOV ES:
[DI],AL
INC SI
INC DI
LOOP NEXT
可用指令( )来完成该功能。
A.REP LODSB B.REP STOSB C.REPE SCASB D.REP MOVSB
32.设(AL)=-68,(BL)=86,执行SUB AL,BL指令后,正确的结果是( )。
A.CF=1 B.SF=1 C.OF=1 D.ZF=1
33.下列4条指令中,有几条指令需要使用DX寄存器( )。
MULBX;DIVBL;INAX,20H;OUT20H,AL;
A.1条B.2条C.3条D.4条
34.下列指令中,不影响标志寄存器的标志位的指令是( )。
A.SUBAX,BXB.RORAL,1
C.JNCLabelD.INTn
35.下列指令经汇编后,机器指令代码最长的是( )。
A.MOVAX,0B.SUBAX,AX
C.XORAX,AXD.MULBX
36.假设AX和BX寄存器中存放的是有符号整数,为了判断AX寄存器中的数据是否大于BX寄存器中的数据,应采用指令序列( )。
A.SUBAX,BXB.SUBAX,BX
JClabelJNClabel
C.CMPAX,BXD.CMPAX,BX
JAlabelJGlabel
37.设DS=8225H,DI=3942H,指令NEGBYTEPTR[DI]操作数的物理地址是( )
A.85B92H B.86192H
C.BB690H D.12169H
38.下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( )
A.AX,BX,CX,DX B.BX,BP,SI,DI
C.SP,IP,BP,DX D.CS,DS,ES,SS
39.循环指令LOOPNZ终止循环的条件是( )。
A.CX=0,且ZF=0 B.CX=0,或ZF=1
C.CX10,且ZF=0 D.CX10,或ZF=1
40.对寄存器AX的内容乘以4的正确指令序列是( )。
A.SHRAX,1SHRAX,1 B.SHLAX,1SHL,AX,1
C.ROLAX,1ROLAX,1 D.RCRAX,1RCRAX,1
41.设DH=10H,执行NEGDH指令后,正确的结果是( )。
A.DH=10HCF=1 B.DH=0F0HCF=0
C.DH=10HCF=0 D.DH=0F0HCF=1
42.下列传送指令中有语法错误的是( )。
A.MOVCS,AX B.MOVDS,AX
C.MOVSS,AX D.MOVES,AX
43.下面指令执行后,改变AL寄存器内容的指令是( )。
A.TESTAL,02H B.ORAL,AL
C.CMPAL,BL D.ANDAL,BL
44.执行除法指令后,影响的标志位是( )。
A.CF,OF B.SF,ZF
C.CF,OF,SF D.AF,CF,OF,PF,SF,ZF都不确定
45.执行下面指令序列后,结果是( )。
MOVAL,82H
CBW
A.AX=0FF82H B.AX=8082H
C.AX=0082H D.AX=0F82H
46.MOVSP,3210H
PUSHAX
执行上述指令序列后,SP寄存器的值是( )。
A.3211H B.320EH