第3章练习题.docx
《第3章练习题.docx》由会员分享,可在线阅读,更多相关《第3章练习题.docx(18页珍藏版)》请在冰豆网上搜索。
第3章练习题
第3章指令系统
1、条件转移指令转移的范围是_______________。
2、执行指令段:
AGAIN:
MOVES:
(DI),AL
INCDI
LOOPAGAIN
完成的操作,与其等效的指令组:
_______________、_______________。
3、设当前的(SP)=0100H,执行PUSHAX指令后,(SP)=_______________H,若改为执行INT21H指令后,则(SP)=_______________H。
4、执行PUSHAX指令后,SP自动_______________。
5、8086的I/O指令有__________和__________两种寻址方式。
1、答案:
-128——127字节
2、答案:
CLD,REPSTOSB
3、答案:
00FE,00FA
4、答案:
减2
5、答案:
直接寻址,寄存器间接寻址(次序可以颠倒)
6、程序控制类指令的功能是_______________。
7、已知(BX)=2000H,(DI)=3000H,(SS)=4000H,(DS)=6000H,(SS)=5000H,66000H单元的内容为28H,则指令MOVAL,[BX+DI+1000H]的执行结果是_______________。
8、在寻址方式中,可作基址寄存器的有___________、_________。
9、若(AL)=95H,执行SARAL,1后(AL)=________。
10、指令LEADX,BUFFER的功能是将_______________传送给DX。
6、答案:
改变程序执行的顺序
7、答案:
(AL)=28H(28H送到AL寄存器)
8、答案:
BX,BP (次序无关)
9、答案:
0CAH
10、答案:
变量BUFFER的段内偏移地址(意思相近即可)
11、若(CS)=1000H,(DS)=2000H,(SS)=3000H,(ES)=4000H,(SI)=1000H,(BP)=2000H,则指令MOVAX,[BP]的功能是将____________单元的内容传送给AL,将__________单元的内容传送给AH(填写物理地址)。
12、指令MOVDX,OFFSETBUFFER的源操作数的寻址方式是:
_______________。
13、若(AL)=35H,执行ROLAL,1后,(AL)=_______________。
14、指令MOVAX,[DI-4]中源操作数的寻址方式是______________。
15、两个压缩BCD码表示的数相减以后,应紧跟着用_______________指令来进行十进制调整。
11、答案:
32000H单元的内容,32001H单元的内容
12、答案:
立即寻址方式
13、答案:
6AH
14、答案:
寄存器相对寻址方式(相对寄存器寻址方式)
15、答案:
DAS
16、累加器专用传送指令IN间接访问I/O端口,端口号地址范围为_______________。
17、若(DS)=2000H,(ES)=2100H,(CS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据量COUNT的偏移地址为0050H,则执行指令LEAAX,[BX][SI]之后,(AX)=___________H,源操作数是____________寻址方式。
19、若(AX)=9520H,则当AX的内容为带符号数时,(AX)/2应用指令__________,结果是(AX)=_____________H。
20、MOVAX,[BX][DI]指令中源操作数的寻址方式为_______________。
16、答案:
0-65535(其他数值表示也可以)
17、答案:
01A0H,基址变址寻址
18、指令“MOVAX,BX”源操作数的寻址方式为_______________。
18、答案:
寄存器寻址
19、答案:
SARAX,1,0CA90H
20、答案:
基址加变址寻址方式(基址址寻址方式)
21、指令MOVDX,OFFSETBUFFER的功能是_______________。
答案:
将变量BUFFER的段内偏移地址送到DX寄存器中(意思相近即可)
22、若当前(SP)=6000H,CPU执行一条IRET指令后,(SP)=_______________H;而当CPU执行一条段内返回指令RET6后,(SP)=_______________H。
答案:
6006H,6008H
23、执行一条PUSH指令后,SP的内容会自动___________(增或减)___________。
答案:
减,2
24、完成将BX清零,并使标志位CF清零,下面错误的指令是_________。
A)SUBBX,BXB)XORBX,BXC)MOVBX,00HD)ANDBX,00H
答案:
C
25、已知(DS)=1000H,(BP)=0010H,(BX)=0100H,(DI)=0100H,(010110H)=ABH,(010111H)=BAH,执行指令LEACX,[BP][DI]后,(BX)=_________。
A)ABBAHB)0100HC)BAABHD)0110H
答案:
B
26、下面的指令不合法的是________。
A)INT21HB)ADCAX,[SI]C)INAX,03HD)PUSHAL
答案:
D
27、设SP=50H,执行段间返回指令RET后,寄存器SP的内容是()。
A)44HB)54HC)5AHD)5CH
答案:
B
28、假设VAR为变量,MOVBX,OFFSETVAR的寻址方式是__________。
A)直接寻址B)变量名寻址C)立即寻址D)存储器寻址
答案:
C
29、下列四条指令中,有几条指令需要使用DX寄存器_________?
MULBXDIVBLINAX,20HOUT20H,AL
A)1条B)2条C)3条D)4条
答案:
A
30、指令INAL,DX对I/O端口的寻址范围是____________。
A)0—255B)0—65535C)0—1023D)0—32767
答案:
B
31、用MOV指令将十进制数89以压缩BCD码格式送入AX,正确使用的指令是_________。
A)MOVAX,0089B)MOVAX,0809
C)MOVAX,0089HD)MOVAX,0809H
答案:
C
32、若(AL)=0FH,(BL)=04H,则执行CMPAL,BL后,AL,BL的内容__________。
A)0FH,04HB)0BH,04HC)0FH,0BHD)04H,0FH
答案:
A
33、下列指令中操作数在代码段中的是__________。
A)CMPAL,BLB)ADDAH,BLC)INCDS:
[25H]D)MOVAL,25H
答案:
D
34、下列指令中,有语法错误的是__________________。
A)MOV[SI],[DI]B)INAL,DX
C)JMPWORDPTR[BX+8]D)PUSHWORDPTR20[BX+SI-2]
答案:
A
35、下面指令序列执行后完成的运算,正确的算术表达式应是________________。
MOVAL,BYTEPTRX
SHLAL,1
DECAL
MOVBYTEPTRY,AL
A)Y=2X+1B)X=2Y+1C)Y=2X-1D)X=2Y-1
答案:
C
36、分析下面指令序列执行后的正确结果是________________。
MOVBX,0FFFCH
MOVCL,2
SARBX,CL
A)3FFFHB)0FFFFHC)0FFFCHD)0FFF5H
答案:
B
37、可以充当端口指针的寄存器是___________。
A)BXB)DIC)SID)DX
答案:
D
38、若累加器AL的内容为13H,执行NEGAL指令后,AL内容为________。
A)OOHB)13HC)0ECHD)0EDH
答案:
D
39、8086中8位算术运算指令执行后,结果为10010001B,则ZF和SF标志位的值为______。
A)ZF=0SF=1B)ZF=0SF=0C)ZF=1SF=1D)ZF=0SF不确定
答案:
A
40、对于8086的条件转移指令,其转移范围为___________。
A)只能是段内短程B)只能是段内近程
C)只能是段间远程D)没有限制
答案:
A
41、在执行MULBL指令执行后,CF=OF=1,(AL)=82H,则表示________。
A)(BL)>0B)(AH)=FFHC)被乘数小于零D)乘积大于255
答案:
D
42、执行下面的程序后,AL中的内容是__________。
BUFDW1234H,5678H,0001H
...
MOVBX,OFFSETBUF
MOVAL,2
XLAT
A)12HB)34HC)56HD)78H
答案:
D
43、若已知(SP)=2000H,(AX)=0020H,则执行指令,PUSHAX后,(SP)和((SS):
(SP))的值分别为_________。
A)2002H,00HB)2000H,20HC)1FFFH,00HD)1FFEH,20H
答案:
D
44、8086执行POPAX指令时,正确的操作是___________________。
A)AX<--[SP+1][SP],SP<--SP+2B)AX<--[SP+1][SP],SP<--SP-2
C)SP<--SP+2,AX<--[SP+1][SP]D)SP<--SP-2,AX<--[SP+1][SP]
答案:
A
45、在子程序的最后一定要有一条__________指令。
A)HLTB)RETC)IRETD)POP
答案:
B
46、已知(AX)=1000H,(BX)=2000H,执行指令MOVAX,BX后,(AX)=_______。
A)0000HB)1000HC)2000HD)3000H
答案:
C
47、设(CL)=05H,要获得(CL)=0AH,可选用的指令是()。
A)NOTCLB)ANDCL,0FHC)XORCL,0FHD)ORCL,0AH
答案:
C
48、下列指令执行后能使BX中数据必为奇数的是()。
A)XORBX,01HB)TESTBX,01HC)ORBX,01HD)ANDBX,01H
答案:
C
49、假定(SS)=2000H,(SP)=0200H,(AX)=3421H,执行指令PUSHAX后,存放数据34H的物理地址是()。
A)20102HB)201FEHC)20101HD)201FFH
答案:
D
50、CPU在执行OUTDX,AL指令时,()寄存器的内容送到数据总线上。
A)ALB)DXC)AXD)DL
答案:
A
51、在下面80x86指令中,合法的是()
A)ADD[BX],01HB)MOVBX,01H
C)SHLCL,AXD)OUT258H,AL
答案:
B
52、已知(DS)=1000H,(BP)=0010H,(BX=0100H,(DI)=0100H,(010110H)=ABH,(010111H)=BAH,执行指令LEABX,[BP][DI]后,(BX)=_________。
A)0ABBAHB)0100HC)0BAABHD)0110H
答案:
D
53、在指令MOVES:
[SI],AX中,目的操作数为_______寻址方式。
A)寄存器B)直接C)基址变址D)寄存器间接
答案:
D
54、下列指令中错误的是________。
A)JMPDWORDPTR[BX]B)PUSHAH
C)REPMOVSWD)CMPAX,[BX][SI]
答案:
B
55、什么是寻址方式,写出五种与数据有关的寻址方式?
答案:
寻址方式就是寻找操作数或操作数地址的方法。
立即数寻址、寄存器寻址、直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址(寻址方式2分,只要能答出五个寻址方式即可得3分)
56、在IBMPC中有专用的输入输出指令,请问I/O端口的地址范围是多少?
地址范围的不同,应采用的指令格式不同,请写出在具体的范围和采用的指令格式。
答案:
I/O端口的地址范围是0000H--0FFFFH(64K)
当地址范围在0000H-00FFH时可以使用直接端口地址访问和间接访问,格式如下(以8位为例):
INAL,PORTINAL,DX
OUTPORT,ALOUTDX,AL
而当地址范围在大于00FFH时只能使用间接访问指令,格式如下(以8位为例):
INAL,DXOUTDX,AL
(范围2分,在地址小于255时2分,大于255时1分)
57、指出以下三条指令的区别(NUM为数据段一个变量名)。
(1)MOVSI,NUM
(2)LEASI,NUM
(3)MOVSI,OFFSETNUM
答案:
(1)指令执行后SI取得的是内存变量NUM的值。
(2)指令执行后SI取得的是内存变量NUM的偏移地址。
(3)同
(2)
(意思相近即可)
58、根据给定的条件写出指令或指令序列。
(1)将AX寄存器及CF标志位同时清零。
(2)BX内容乘以2再加上进位位。
(3)将AL中的位二进制数高4位和低4位交换。
(4)将首地址为BCD1存储单元中的两个压缩BCD码相加,和送到第三个存储单元中。
答案:
(1)XORAX,AX或ANDAX,0
(2)ADCBX,BX
(3)MOVCL,4(4)MOVAL,BCD1
RORAL,CLADDAL,BCD1+1
59、子程序调用的操作过程包含哪几个步骤?
答案:
(1)保护现场,即将主程序转移前的程序状态保存起来,保存内容主要是程序计数器PC的内容。
保护现场通常采用堆栈完成,将程序计数器PC的内容(断点地址)压入堆栈。
(2)将子程序入口地址送入程序计数器PC,那么,下一条要执行的指令就是子程序的第一条指令。
(意思相近即可)
60、在0624H单元内有一条二字节指令JNEOBJ,如其中位移量分别为
(1)27H
(2)6BH(3)0C6H试问:
转向地址OBJ的值是多少?
答案:
取出NEOBJ指令后,(IP)=0626H,OBJ的值是:
(IP)+D->IP
0626H+27H=064DH0626H+6BH=0691H0626H-3AH=05ECH
61、写出6种常用的寻址方式。
答案:
立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址(答出6中即可,次序无关)
67、在无超越说明时,通用数据读写、目的数据串、源数据串、堆栈操作和取指令操作分别自动选择哪些段寄存器搭配产生物理地址?
答案:
通用数据读写自动选择数据段寄存器(DS)
目的数据串自动选择附加数据段寄存器(ES)
源数据串自动选择数据段寄存器(DS)
堆栈操作自动选择堆栈段寄存器(SS)
取指令操作自动选择代码段寄存器(CS)
68、设(DS)=1000H,(AX)=1C5AH,(BX)=2400H,(SI)=1354H,(13774H)=30H,(13775H)=20H,(13754H)=40H,(13755H)=10H指令在此环境下执行,在各空中填入相应的执行结果。
SUB AX,20H[BX][SI]
(AX)=_____,SF=______,ZF=______,CF=_____,OF=______
答案:
(AX)=0FC2AH,SF=1,ZF=0,CF=1,OF=0
69、如BUFFER为数据段中0032单元的符号地址其中存放的内容为2345H,试问以下两条指令有什么区别?
指令执行完成后AX寄存器的内容是什么?
(1)MOVAX,BUFFER
(2)LEAAX,BUFFER
答案:
第一条指令是将BUFFER字单元的内容送到AX寄存器,而第二条指令是将BUFFER的段内偏移地址送到AX寄存器。
(1)(AX)=2345H
(2)(AX)=0032H(区别2分,指令值3分,意思相近即可)
70、什么叫寻址方式?
常用的寻址方式有哪些?
答案:
指令中获取操作数或操作数地址的方法。
常用的寻址方式有:
立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址等。
(定义2分,寻址方式写出4个即可)
71、若(AX)=9C5AH,(BX)=9754H,执行下列指令序列后,程序转向何处执行。
ADD AX,BX JNC L3
JNO L1 JNO L4
JNC L2 JMP L5
SUB AX,BX
答案:
L5
72、哪些指令能改变CS的内容?
答案:
JMPFAR,JMPDWORD,CALLFAR,CALLDWORD,RET,IRET,INT(次序无关,写出4个即可得分)
73、针对源操作数按下列寻址方式各举出一条指令
(1)直接寻址方式指令:
(2)寄存器间接寻址方式指令:
(3)寄存器相对寻址方式指令:
(4)基址加变址寻址方式指令:
(5)寄存器方式指令:
答案:
指令可与本答案不同。
但寻址方法必须正确。
(1)MOVAL,[100]1分
(2)MOVAL,[SI]1分
(3)MOVAL,[BX+3]1分
(4)MOVAL,[BX][SI]1分
(5)MOVAL,BL1分
74、转子程序指令的功能是什么?
答案:
子程序是完成某一功能的独立的程序段。
它不能单独运行,但可以被其他程序调用,调用者成为主程序。
通常将程序中经常用到的一些独立的功能编制成子程序,使用时调用。
子程序的功能是改变程序执行的顺序,将程序的执行由主程序转到指定的子程序去执行。
(意思相近即可)
75、中断服务程序结束时,用RET指令代替IRET指令能否返回主程序?
这样做存在什么问题?
答案:
RET应该可以使中断服务程序返回主程序,但因为RETF是子程序返回指令,它只从堆栈中恢复CS和IP,而不能使状态字PSW得以恢复,所以不能使断点完全恢复,对源程序的继续执行造成不良影响。
(回答可以返回2分,出现的问题3分,意思相近即可)
76、写出把首地址为BLOCK字数组中的第6个字,送到DX寄存的指令(或指令组),要求使用以下几种寻址方式:
(1)寄存间接寻址
(2)寄存相对寻址
(3)基址变址寻址
答案:
1)MOVBX,OFFSETBLOCK+62)LEABX,BLOCK3)LEABX,BLOCK
MOVDX,[BX]MOVDX,[BX+12]MOVSI,12
MOVDX,[BX+SI]
其他能满足要求的指令组也可以。
77、CLC
MOVAX,248BH
MOVCL,3
RCLAX,CL
执行以上程序序列后,AX=____________________。
答案:
2458H
78、阅读下面一段程序,写出该程序执行后AX、BX、CX寄存器中的内容。
ORG2000H
VEXTORDW5030H,7060H
...
MOVBX,OFFSETVECTOR
MOVAX,[BX]
MOVCX,2[BX]
PUSHAX
PUSHCX
POPAX
POPCX
问AX=_____,BX=_______,CX=______。
答案:
AX=7060H,BX=2000H,CX=5030H
79、写出下列指令序列执行后BX寄存器中的内容
MOVBX,6D16H
MOVCL,7
SHRBX,CL
答案:
00DAH
80、阅读下面一段程序,写出该程序执行后DX、AX寄存器中的内容。
MOVDX,01H
MOVAX,42H
MOVCL,4
SHLDX,CL
MOVBL,AH
SHLAX,CL
SHRBL,CL
ORDL,BL
(DX)=__________,(AX)=____________
答案:
(DX)=0010H(AX)=0420H
81、阅读下面一段程序,写出该程序执行后AX寄存器中的内容。
MOVAX,1234H
MOVCL,4
ROLAX,CL
DECAX
MOVCX,4
MULCX
(AX)=________
答案:
8D00H
82、执行如下程序段后,AL=_____________、ZF=______________。
movax,693ah
moval,ah
notal
addal,ah
incal
答案:
0000,1
83、执行下列指令可以将00H送到端口地址为1A0H的外设上。
MOVAL,00H
MOV1A0H,AL()
答案:
错
84、LEABX,DATA;变量名()
答案:
对
85、8088的MOV指令不能进行两个存储器单元之间的数据直接传送。
()
答案:
对
86、8088系统中,堆栈的存取可以以字或字节为单位。
( )
答案:
错
87、IN和OUT指令可寻址的口地址为64K个,端口地址只能用立即数。
()
答案:
错
88、JMPBX()
答案:
对
89、执行下列指令可以将其00H送到端口地址为2F8H的外设上:
()
MOVAL,00H
MOVDX,2F8H
OUTDX,AL
答案:
对
90、INAL,DX()
答案:
对
91、MOVDS,AX()
答案:
对
92、SHLAX,2()
答案:
错
93、PUSHAL()
答案:
错
94、MOVES,3F00H()
答案:
错
95、MOV[BX],[SI]()
答案:
错
96、MOVAL,[BX+10H]()
答案:
对
97、PUSHSS()
答案:
对
98、POPCS()
答案:
错
99、POPES()
答案:
对
100、PUSHCS()
答案:
对
101、XCHGBX,IP()
答案:
错
102、MOV[BX],[1000]()
答案:
错
103、INAL,N;(N>255)()
答案:
错
104、MOVDATA1,DATA2;两个均