微机原理及接口技术习题答案 下载本文

第一章习题及答案

1. 微处理器内部包含哪三大部分? 解: 运算器、控制器和寄存器组。

2. 完成下列数制的转换

①10101101B=( )D=( )H 解:10101101B=173D=ADH。

②0.11B=( )D 解:0.11B=0.75D。

③211.25=( )B =( )H 解:211.25=11010011.01B=D3.4H。

④10111.0101B=( )H=( )BCD

解:10111.0101B=17.5H=23.3125D=(0010 0011.0011 0001 0010 0101)BCD

3. 已知X=+1011010B,Y=–0011011B,设机器数为8位,分别写出X、Y的原码、反码和补码。

解:

?X?原?01011010B?Y?原?10011011B ?X?反?01011010B ?Y?反?11100100B

?X?补?01011010B?Y?补?11100101B

4. 已知X的真值为32,Y的真值为–19,求?X?Y?补?? 解:?X?Y?补?00001101B

5. 已知X=51,Y=–86,用补码完成下列运算,并判断是否产生溢出(设字长为8位)。 ① X+Y ② X-Y ③ –X+Y ④ –X-Y 解:

10100011B,因为C6?C7?0,所以未产生溢出。

[X]补=00110011B [Y]补=[Y]反+1=[11010110]反+1=10101001+1=10101010B [X+Y]补=[X]补+[Y]补=00110011B+10101010B=11011101B X+Y=[[X+Y]补] 补=[11011101] 补=10100010+1=10100011B ·2· 微机原理及接口技术习题及答案

② 11110111B,因为C6?C7?1,所以产生溢出。 ③ 01110111B,因为C6?C7?1,所以产生溢出。 ④ 00100011B,因为C6?C7?0,所以未产生溢出。

6. 若使与门的输出端输出高电平,则各输入端的状态是什么? 解:各输入端为高电平。

7. 若使与非门的输出端输出低电平,则各输入端的状态是什么? 解:各输入端为高电平。

8. 如果74LS138译码器的Y4端输出低电平,则C、B、A三个输入端的状态分别是什么?

解:C、B、A三个输入端的状态分别是‘1’,‘0’,‘0’。

微机原理及接口技术习题及答案 ·3·

第二章习题及答案

1. 8086/8088CPU由哪两大功能部分所组成?简述它们的主要功能? 解:8086/8088CPU由EU和BIU两大功能部分组成。

执行单元EU主要完成指令的译码和执行。执行单元通过EU控制电路从BIU中取出指令,经过指令译码形成各种定时控制信号,向EU内各功能部件发出相应的控制命令,以完成指令所规定的操作。

总线接口单元BIU是8086/8088同外部联系的接口。它负责所有涉及外部总线的操作,包括取指令、读操作数、写操作数、地址转换和总线控制等。BIU内部设置指令预取队列,每当指令队列有两个或两个以上的字节空间,且执行单元未向BIU申请读/写存储器操作数时,BIU顺序地预取后续指令的代码,并填入指令队列中。当EU执行的是转移指令时,则BIU清除当前的指令预取队列的内容,从新的地址取回指令,并立即送到EU去执行,然后,从后续的指令序列中取回指令填满队列。

2. 什么是指令流水线?指令流水线需要哪些硬件支持?

解:指令流水线是指8086/8088CPU内部的执行单元EU和总线接口单元BIU通过指令预取队列协同工作从而实现指令的并行执行。指令流水线最主要的硬件支持是BIU内部的指令预取队列。

3. 逻辑地址如何转换成物理地址?已知逻辑地址为2D1EH:35B8H,对应的物理地址是什么?

解:逻辑地址是段基址和段内偏移地址形式的地址。 物理地址=段基址×16+段内偏移

已知逻辑地址为2D1EH:35B8H,则对应的物理地址?2D1EH?16?35B8H?30798H

4. 8088和8086的指令预取队列的长度分别是多少?

解:8088的指令预取队列的长度为4字节;8086的指令预取队列的长度为6字节。

5. 简述8086/8088CPU内部的各寄存器的作用。

解:AX、BX、CX和DX通用寄存器一般用于存放参与运算的数据或运算的结果。 SP:用于存放堆栈栈顶的段内偏移量。 BP:用于存放访问内存时的偏移地址。

SP和BP也可以用来存放数据,它们的默认段寄存器都是SS。

SI和DI通常在间接寻址方式中存放操作数的偏移地址。在串操作指令中,DI的默认段寄存器是ES。SI和DI也可以用来存放数据。

CS:代码段寄存器,用于存放代码段的段基址。 DS:数据段寄存器,用于存放数据段的段基址。 SS:堆栈段寄存器,用于存放堆栈段的段基址。 ES:附加段寄存器,用于存放附加段的段基址。

IP:指令指针寄存器,用于存放CPU即将执行的下一条指令在代码段中的段内偏移地址。

FLAGS:标志寄存器,用于存放指令执行结果的特征。

6. 8086/8088CPU内部的状态标志寄存器共有几位标志位?各位的含义是什么?

·4· 微机原理及接口技术习题及答案

解:状态标志寄存器共有9位标志位,其中包含6个状态标志位和3个控制标志位。 状态标志位:

CF(Carry Flag):进位标志。当算术运算结果使最高位产生进位或借位时,则CF=1;否则CF=0。

PF(Parity Flag):奇偶标志。若运算结果中的低8位含有偶数个1,则PF=1;否则PF=0。

AF(Auxiliary carry Flag):辅助进位标志。运算过程中若D3位向D4有进位或借位时,AF=1;否则AF=0。

ZF(Zero Flag):零标志。若运算结果为0,则ZF=1;否则ZF=0。 SF(Sign Flag):符号标志。若运算结果为负,则SF=1;否则SF=0。

OF(Overflow Flag):溢出标志。当带符号数的补码运算结果超出机器所能表达的范围时,就会产生溢出,这时OF=1;否则OF=0。

控制标志位: DF(Direction Flag):方向标志。控制串操作指令的地址变化的方向。当DF=0时,串操作指令的地址指针按增量变化;当DF=1时,串操作指令的地址指针按减量变化。

IF(Interrupt Flag):中断允许标志。控制微处理器是否允许响应可屏蔽中断请求。若IF=1,则允许响应;否则禁止响应。

TF(Trap Flag):单步标志。TF=1时,CPU工作在单步方式。

7. 8086/8088系统中存储器的分段原则是什么?

解:分段原则是要求段的起始单元的物理地址是16的整数倍,每段的物理长度为64KB。

8. 当ALE有效时,8088的地址/数据总线上将出现什么信息? 解:当ALE有效时,8088的地址/数据总线上将出现地址信息。

9. READY管脚的作用是什么?

解:READY用于微处理器时序中插入等待状态。若该引脚被置为低电平,则微处理器进入等待状态并保持空闲;若该引脚被置为高电平,则它对微处理器的操作不产生影响。

CPU在读、写操作时序中的T3时钟周期开始处,通过检测READY管脚的状态来决定是否插入TW等待时钟周期,以解决CPU与存储器或I/O接口之间速度不匹配的矛盾。

10. 为什么在基于8086/8088的系统中经常需要使用缓冲器?

解:由于基于8086/8088的系统驱动能力的不足,需要使用缓冲器。

11. 8088工作在最小模式下包含哪些控制信号?

解:最小模式下包含的控制信号有: RD、WR、IO/M、ALE、DT/R、DEN和INTA等信号。

12. 若CS=4000H,则当前代码段可寻址的存储空间范围是多少?

解:CS=4000H时,当前代码段可寻址的存储空间范围为40000H~4FFFFH。