微机原理第三章
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理第三章——习题三答案
一、选择题:
1-7:A B C A D C A
二、填空题:
1.16B
2. 2
3. 8
4. 200FE
5. 81H
6. 20 16
三、简答题:
1. 8086CPU从功能上分为几部分?各部分由什么组成? 各部分的功能是什么?
. 答:8086CPU从功能上分为两部分:执行部件EU和总线接口部件BIU。
(1)执行部件EU的组成:
①4个通用寄存器:AX、BX、CX、DX;
②4个专用寄存器:BP、SP、SI、DI;
③标志寄存器(FR)
④算逻部件(ALU)
⑤EU的控制系统。
(2)总线接口部件BIU的组成:
①4个段地址寄存器CS、DS、ES、SS;
②16 位指令指针寄存器IP;
③地址形成逻辑(20位的地址加法器),
④ 6 字节的指令队列;
⑤总线控制逻辑
执行部件EU的功能:(1)负责从BIU 的指令队列中获取指令,将指令译码,然后执行该指令;(2)利用内部的寄存器和ALU对数据进行所需的处理,完成指令所规定的操作;(3)进行内存有效地址的计算,向BIU提供所需访问数据的内存或I/O 端口的地址,并对通用寄存器、标志寄存器和指令操作数进行管理。
总线接口部件BIU的功能:(1)负责从内存指定区域取出指令送到指令队列中排队;(2)执行指令时所需要的操作数(内存操作数或I/O操作数)也由BIU从相应的内存区域或I/O 端口取出,传送给执行部件EU;(3)执行指令的结果如果需要送入内存(或I/O端口)的话,也由BIU写入相应的内存区域(或I/O端口)。
总之BIU是负责CPU与存储器、I/O端口之间传送数据的,即BIU管理对外存取程序和数据的实际处理过程。
2.8086CPU有哪些寄存器?各有什么用途?标志寄存器中包括哪些标志位?各标志位在
什么情况下置位?
答:8086CPU的寄存器和用途:
(1)4个16位通用寄存器AX、BX、CX、DX:
累加器AX:是执行算术运算的主要寄存器,还被指定作为十进制调整、乘除法以及I/O等操作的专用寄存器;
基址寄存器BX:用于存放数据段内存空间的基地址;
计数寄存器CX:用于循环操作和字串处理的计数控制;
数据寄存器DX:用于乘除法运算时扩展累加器及I/O操作时提供端口地址。。
(2)4个16位专用寄存器BP、SP、SI、DI:
基数指针寄存器BP:用来提供堆栈段中某一个数据区的“基地址”;
栈顶指针寄存器SP:用来提供堆栈顶的偏移地址;
源变址寄存器SI:串操作时提供DS段中指定单元的偏移地址;
目的变址寄存器DI:串操作时提供ES段中指定单元的偏移地址。
(3)4个16位段地址寄存器CS、DS、ES、SS:
CS:位代码段寄存器:指向当前的代码段,指令由此段中取出;
DS:位数据段寄存器:指向当前的数据段,通常用来存放程序变量(存储器操作数);
ES:位附加段寄存器:指向当前的附加段,通常也用来存放数据;
SS:位堆栈段寄存器:指向当前的堆栈段,堆栈操作的对象就是该段中存储单元的内容;
(4)1个16 位指令指针寄存器IP:用来存放CS段中指令的偏移地址,该寄存器指向下一条要取的指令,从而可以控制程序的执行流程。
(5)1个16位标志寄存器(FR):有意义的共有9位,根据功能,这些位可分为两类:CF、AF、SF、PF、OF和ZF为状态标志,表示执行某种操作后ALU所处的状态,这些状态将会影响后面的操作;DF、IF 和TF 为控制标志。是人为设置的,指令系统中有专门的指令用于控制标志的设置和清除,每个控制标志将对某种特定的功能起控制作用。
各标志置位的条件如下:
✧CF进位标志:反映指令执行后是否在最高位产生进位或借位,若产生进位或借位,则CF=1,否则CF=0;
✧AF辅助进位标志:反映指令执行后,一个8位量的低4位向高4位是否产生进位
或借位,若产生进位或借位,则AF=1,否则AF=0;
✧PF奇偶标志:反映运算结果的低8 位中所含的“1”的个数的情况,若为偶数,
则PF=1,否则PF=0;
✧SF符号标志:带符号数运算结果符号位的情况,结果为负,则SF=1,否则SF=0;
✧ZF零标志:反映当前的运算结果是否为零的情况。若运算结果为0,则ZF=1,否
则ZF=0 。
✧OF溢出标志:带符号数(以二进制补码表示)运算结果是否超过机器所能表示的
数值范围的情况,当运算结果超出机器所能表示的范围,即字节运算超出了-128 ~+127,或字运算超出了-32768 ~+32767时就产生溢出,置OF=1,否则OF=0。
✧DF方向标志:在进行字符串操作时,每执行一条串操作指令,对源操作数或目的操
作数的地址要进行一次调整(字节操作±1,字±2),若DF=0,为递增,即从低地址向高地址方向进行,若DF=1,为递减,即从高地址向低地址方向进行。该标志可用STD和CLD指令分别置1和清0。
✧IF中断允许标志:控制对中断的响应,表示系统是否允许响应外部的可屏蔽中断
若IF=0,CPU 不能对可屏蔽中断请求作出响应;若IF=1,CPU 可以接受可屏蔽中断请求。对不可屏蔽中断请求以及内部中断不起作用,该标志可用STI 和CLI 指令分别置1和清0。
✧陷阱标志TF:用来控制单步操作,当TF=1 时,微处理器每执行完一条指令便自
动产生一个内部中断,转去执行一个中断服务程序;可以借助中断服务程序来检查每条指令的执行情况,称为“单步工作方式”,常用于程序的调试。该标志没有对应的指令操作,只能通过堆栈操作改变它的状态。
3. 什么是最大模式?什么是最小模式?用什么方法将8086/8088置为最大模式和最小模式?简要说明8086最小模式系统的基本配置
所谓最小模式,就是在系统中只有8086/8088一个微处理器。在这种系统中,所有的