微机组成原理练习试题带答案四.docx
《微机组成原理练习试题带答案四.docx》由会员分享,可在线阅读,更多相关《微机组成原理练习试题带答案四.docx(16页珍藏版)》请在冰点文库上搜索。
微机组成原理练习试题带答案四
微机组成原理练习试题带答案
三、 程序分析题(每小题6分,共24分)
1.ADW1234H
BDW5678H
:
PUSHA
PUSHB
POPA
POPB
试回答:
①上述程序段执行后(A)=_______,(B)=______
②设执行前SP=200H,执行后SP=____________
2AB.读下面程序段,请问,在什么情况下,本段程序的执行结果是AH=0?
BEGIN:
INAL,5FH
TESTAL,80H
JZBRCH1
MOVAH,0
JMPSTOPBRCH1:
MOVAH,0FFH
STOP:
HLT
答:
3A.现有下列程序段:
MOVAX,6540H
MOVDX,3210H
MOVCL,04
SHLDX,CL
MOVBL,AH
SHLAX,CL
SHRBL,CL
ORDL,BL
试问上述程序段运行后,
(AX)=_____________
(BL)=_____________
(DX)=_____________
4A现有下列程序段
MOVAL,60H
MOVBL,20H
STC
ADCAL,BL
问程序执行后,AL=BL=CF=
.已知(DS)=09lDH,(SS)=1E4AH,(AX)=1234H,(BX)=0024H,(CX)=5678H,(BP)=0024H,(SI)=0012H,(DI)=0032H,(09226H)=00F6H,(09228H)=1E40H,(1E4F6H)=091DH。
下列各指令或程序段分别执行后的结果如何?
(1) MOVCL,20H[BX][SI]
(2) MOV[BP][DI],CX
(3) LEABX,20H[BX][SI]
MOVAX,2[BX]
(4) LDSSI,[BX][DI]
MOV[SI],BX
(5) XCHGCX,32H[BX]
XCHG20H[BX][SI],AX
答
(1)(CX)=56F6H;
(2)(09226H)=5678H;
(3)(AX)=1E40H;
(4)(1E4F6H)=0024H;
(5)(09226H)=1234H,(AX)=5678H.
1.假设寄存器AX=1234H,DX=0A000H
MOVBX,0
MOVCX,BX
SUBCX,AX
SBBBX,DX
MOVAX,CX
MOVDX,BX
上述程序段执行后AX=0FDCFH,DX=60000H
程序功能是对原AX、DX中的值求补码,因为取补码指令就相当于用0减去此操作数,见书本P122
.
4.分析下面程序段,
MOVAL,200
SARAL,1
MOVBL,AL
MOVCL,2
SARAL,CL
ADDAL,BL
试问程序段执行后(BL)=11100100B=_E4H_(AL)=11111001B=F9H
5.程序段如下:
BLK1DB46,84,34,-5,20,122,73
:
MOVCX,7
LEAS1,BLK1
NEXT:
MOVAL,[SI]
INCSI
TESTAL,81H
LOOPZNEXT
MOVBL,[SI]
:
请回答程序段运行后:
(AL)=_____46_______
(BL)=____84________
14.对于下面的数据定义,各条MOVE指令单独执行后,有关寄存器的内容是什么?
FLDBDB
TABLEADW20DUP(?
)
TABLEBDB‘ABCD’
MOVEAX,TYPEFLDB
MOVEAX,TYPETABLEA
MOVECX,LENGTHTABLEA
MOVEDX,SIZETABLEA
MOVECX,LENGTHTABLEB
解答:
AX=0001H
AX=0002H
CX=0014H
DX=0028H
CX=0001H。
19.读下面程序段,请问:
在什么情况下,本段程序的执行结果是AH=0?
BEGIN:
INAL,5FH
TESTAL,80H
JZBRCHl
MOVAH,0
JMPSTOP
BRCHl:
MOVAH,0FFH
STOP:
HLT
解答:
AL中的最高位为1时。
20.读程序:
START:
INAL,20H
MOVBL,AL
INAL,30H
MOVCL,AL
MOVAX,0
ADLOP:
ADDAL,BL
ADCAH,0
DECCL
JNZADLOP
HLT
请问:
(1)本程序实现什么功能?
(2)结果在哪里?
解答:
完成20H*30H,结果在AX中。
21.请编一程序段完成AX*l0的任务(要求不准用乘法指令做)。
解答:
MOVBX,AX
MOVCL2
SHLAX,CL
ADDAX,BX
SHLAX,1
22.编程序使:
(1)AX寄存器低4位清零。
(2)BX寄存器低4位置“1”。
(3)CX寄存器低4位变反。
(4)用TEST指令测试DL寄存器位3、位6是否同时为0,若是,将0送DL;否则l送DH。
解答:
1,ANDAX,0FFF0H
2,ORBX,000FH
3,XORCX,000FH
4,TESTDL,48H
JZLOOP
MOVDH,1
HLT
LOOP:
MOVDL,0
HLT
23.编一程序段,完成符号函数(-128≤x≤127):
1(x.>0)
y=0(x=0)
-1(x<0)
假设x的值存放在DATAl中,y的值存放在DATA2中。
解答:
START:
MOVAL,DATA1
ANDAL,AL
JGEBIGR
MOVAL,0FFH
MOVDATA2.AL
HLT
BIGR:
JEEQUL
MOVAL,1
MOVDATA2,AL
HLT
EQUL:
MOVDATA2,AL
HLT
24.设AX寄存器中有一个16位二进制数,编一程序,统计AX中“l”的个数,统计结果送CX中。
解答:
START:
MOVCX,0
LOOP:
SUBAX,0
JZSTP
SALAX,1
JNCNOD
INCCX
NOD:
JMPLOOP
STP:
HLT
25.编一子程序利用XLAT指令把十六进制数转换成ASCII码。
假设ASCII码
存放在以DAT1为首地址的数据区中,对应的16进制数放在以DAT2为首地址的数据区中,转换结果送以DAT3为首地址的数据区中。
解答:
MAIN:
PUSHBX
PUSHSI
PUSHDI
PUSHCX
PUSHAL
PUSHDS
START:
MOVBX,DATA1
MOVSI,DATA2
MOVDIDATA3
MOVCX,16
NEST:
LODSB
XLATDATA1
STOSB
LOOPNEST
POPDS
POPAL
POPCX
POPDI
POPSI
POPBX
RET
1.设AX=0FFH,执行ANDAX,86H后,AX=?
AX=86H
2.设AX=1000H,DX=2000H,CX=3000H,SP=1234H
执行PUSHCX
PUSHDX
PUSHAX
后,SP=?
再执行
POPCX
POPDX
POPAX
后,AX=?
,DX=?
,SP=?
答:
SP=122EH
AX=3000H,DX=2000H,SP=1234H(错一题扣2分,错2题扣3.5分)
7.请完成如下程序段,使它完成求|AX-BX|,结果放在AX的功能。
AX,BX
JC
SUBAX,BX
AA1
AA:
SUB,
MOVAX,BX
AA1:
HLT
CMPAX,BX(1分)
JCAA(1分)
SUBAX,BX
JMPAA1(2分)
AA:
SUBBX(1分),AX(1分)
MOVAX,BX
AA1:
HLT
下面是多字节加法程序,第一个数是8A0BH,第二个数是D705H。
请填写出正确结果。
(7分)
DATASEGMENT
FIRSTDB,,0H
SECONDDB,
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVCX,
MOVSI,0
NEXT:
MOVAL,SECOND[SI]
ADCFIRST[SI],AL
INCSI
LOOPNEXT
MOVAL,0
ADCAL,
MOVFIRST[SI],AL
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
四、判断题(在对的后面画√,错的后面画×):
1、段内转移指令执行结果要改变IP、CS的值。
(×)
2、PUSHCS。
(√)
3、OUT2000H,AL(×)
4、MOVAH,BX(错)
5、8088中,取指令和执行指令可以重叠操作。
( √ )
6、MOV[BX],[SI] ( × )
7、8088CPU用逻辑地址1234H:
5678H访问时,可交换一个字。
(√)
8、MOVBYTEPTR[BX],1000(×)
9、MOV5,AL(×)
10、MOVAX,[SI+DI](×)
2、8088的数据可以存放在几个不连续的段中。
(√ )
4.ADD15H,BX(错)
5、REP是指令前缀,重复操作的条件是CX≠0。
(对)
6、POP CS (错)
7、MOVCS,AX(错)
8、MOV[BX],[SI](错)
9、INAL,2000H(错)
10、8086中,取指令和执行指令可以重叠操作。
(对)
11.当8086CPU内标志寄存器中的IF=0时,意味着禁止CPU响应所有类型的中断。
(错)
12.一个外设最多可含有控制端口、数据端口、状态端口三种类型的端口。
(对)
13. 若BUF是变量名,指令LEABX,BUF和指令MOVBX,OFFSETBUF是等效的。
(对)
14. OUT3FCH,AL指令是正确的。
(错,16位地址端口号要先赋给DX)
15. 8255AA口工作在方式1输入,B口工作在方式0输出的方式控制字是0011×00×B。
(错)
16. 若SS=2000H,SP=1000H,执行指令PUSHAX后,AX内容压入21000H字单元中。
(错)
17. 所谓寻址方式是指CPU执行指令时寻找操作数的方式。
(对)
18. 8086CPU所有外部中断,仅INTR需申请中断的外设提供中断类型码。
(错)
19.一个外设最多含有控制端口和数据端口。
(错,还有状态端口)
20.8086CPU内部F标志寄存器的所有标志位均可用指令事先置1或清0。
(对,用SAHF设置标志指令,见书本P119))
21.执行INAL,DX指令时,DX的内容送到数据总线上。
(错)
22、段内转移指令执行结果要改变IP、CS的值。
(错)
23.8255工作在方式1的输出时,OBF信号表示输出缓冲器满信号。
(对)
24.有数据定义NUMDB‘123456’,经汇编后,NUM占有3字节存储单元。
(错,应是6个字节的存储单元,每一个存的是对应的字符ASCII码值)
25.OUTDX,AL指令的输出是16位操作数。
(错)
26.若SP=1000H,则执行指令PUSHAX后,(SP)=0FFEH。
(对)
27.8088CPU对内存读/写1个字均需两个总线周期。
(对)
30..MOVAH,BX(错)
31..ADD15H,BX(错)
32..MOVCS,AX(错)
33..MOVAX,[SI][DI](错,不能同时使用两个变址寄存器)
34.MOVAX,[CX](错)
35.MOV[1000H],[2000H](错)
36..MOVBYTEPTR[BX],1000H(对)
37.SAR指令左补零(错)
38.执行CMP指令后,操作数的值会改变(错)
39.8088的Ready信号是由外部硬件产生的。
………………( 对 )
40.
/
及HOLD、HLDA信号是与系统中其它总线主设备有关的信号。
……………( 对 )
41.8088的
信号可用作中断矢量的读选通信号。
……………………………………( 对 )
42.8088的数据可以存放在几个不连续的段中。
…………………………………………( 对 )
43.、8088中,取指令和执行指令可以重叠操作。
…………………………………………( 对 )
44.8088的可屏蔽中断的优先权高于非屏蔽中断。
………………………………………( 错 )
45.多个外设可以通过一条中断请求线,向CPU发中断请求。
……………………………( 对 )
46.8255A中端口A使用的是INTR,
及
等线是端口C的线。
………………………( 对 ),见工作方式1的图
47.、中断服务程序可放在用户可用的内存的任何区域。
…………………………………( 错 )
48.8086系统的存储器中各段的大小固定为64KB,同时各段之间可以重叠。
(对)
49.堆栈操作所访问的段是由SS和ES所指定。
(错)
50.在存储器连接过程中,应注意避免地址重叠。
(错)
51.内部中断的优先权总是高于外部中断。
(对)
52.两片8259A级连后可管理16级中断。
(错)
53.8259A所管理的中断源中,优先级低的中断源不可能中断优先级高的中断服务子程序。
(错)
54.若8259A中断屏蔽字OCW1为00H,则8259A所管理的8级中断全被屏蔽.(错)
55.只要8259A所管理的中断源没有被屏蔽,则任何中断源的中断请求都能得到CPU的响应和服务。
(错)
56..给8255C口PC3按位置位字是06H。
(错)
57..当8086CPU内标志寄存器中的IF=0时,意味着禁止CPU响应所有类型的中断。
(错)
58.一个外设最多可含有控制端口、数据端口、状态端口三种类型的端口。
(对)
59..在8086微机系统中,通常外设的中断申请接至8259A的IR上,8259A的中断申请线接至CPU的INTR。
(对)
60.8086CPU对内存读/写1个字的操作仅需一个总线周期。
(错)
61.总线控制器8288专门用于8086最大模式下产生控制信号。
(对)
62..两片8259A采用主从连接方式时,最多可接收15级中断请求。
(对)
63.执行INAL,DX指令时,DX的内容送到数据总线上。
(错,到AL)
64.段内转移指令执行结果要改变IP、CS的值。
(错)
65.若SS=2000H,SP=1000H,执行指令PUSHAX后,AX内容压入21000H字单元中。
(对)
66.在8086/8088中,内中断源的级别均比外中断源级别高。
(错)
67.8088CPU用逻辑地址1234H:
5678H访问时,可交换一个字。
(错)
68..在PC机上可用地址400H来访问I/O端口。
(错)
69..当8255的PA口方式1输出时,若外设有负脉冲回答,则PC3定会上升为高电平。
(对)
70..CPU响应HOLD请求的条件之一是指令周期结束。
(对)
)
71.
若BUF是变量名,指令LEABX,BUF和指令MOVBX,OFFSETBUF是等效的。
2. OUT3FCH,AL指令是正确的。
3. 8255AA口工作在方式1输入,B口工作在方式0输出的方式控制字是0011×00×B。
4. 若SS=2000H,SP=1000H,执行指令PUSHAX后,AX内容压入21000H字单元中。
5. 所谓寻址方式是指CPU执行指令时寻找操作数的方式。
(对)
6. 8086CPU所有外部中断,仅INTR需申请中断的外设提供中断类型码。
(错)
7. 8086CPU没有直接对TF标志位置1或清0的指令。
1、8088的Ready信号是由外部硬件产生的。
A.正确
B.不正确
2、/及HOLD、HLDA信号是与系统中其它总线主设备有关的信号。
A.正确
B.不正确
3、8088的信号可用作中断矢量的读选通信号。
A.正确
B.不正确
4、8088的数据可以存放在几个不连续的段中。
A.正确
B.不正确
6、8088的可屏蔽中断的优先权高于非屏蔽中断。
A.正确
B.不正确
7、多个外设可以通过一条中断请求线,向CPU发中断请求。
A.正确
B.不正确
12、串行异步接口的双向工作方式指的是在串行接口上可同时发送和接收串行数据。
A.正确
B.不正确
14、中断服务程序可放在用户可用的内存的任何区域。
A.正确
B.不正确