微机原理与接口技术第六章8259A练习题及答案.docx
《微机原理与接口技术第六章8259A练习题及答案.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术第六章8259A练习题及答案.docx(14页珍藏版)》请在冰豆网上搜索。
![微机原理与接口技术第六章8259A练习题及答案.docx](https://file1.bdocx.com/fileroot1/2022-10/20/d7dff0d0-e47b-4a90-9600-6fe094e01838/d7dff0d0-e47b-4a90-9600-6fe094e018381.gif)
微机原理与接口技术第六章8259A练习题及答案
中断技术和中断控制器8259A练习题及答案
一、填空题
1.8088微处理器最多能处理256种不同类型的中断。
2.8088系统的中断向量表位于从内存地址00000H开始,占1K字节存储单元。
3.8088CPU响应INTR中断时,将PSW(或标志寄存器内容)和断点(或CS:
IP)进堆栈保存。
4.8259A可管理8级优先级中断源,通过级联,最多可管理64级优先级中断源。
5.若8259A的IRR(中断请求寄存器)的内容为10H,说明IR4请求中断。
二、选择题
6.8088CPU的标志寄存器中IF=1时,表示允许CPU响应______中断。
C
A.内部中断B.外部中断C.可屏蔽中断D.不可屏蔽中断
7.CPU在响应中断时,保存断点是指______。
D
A.将用户设置的程序指令地址入栈保存
B.将中断服务程序的入口地址入栈保存
C.将程序状态字PSW入栈保存
D.将返回地址即程序计数器PC(CS:
IP)的内容入栈保存
8.8088的中断向量表用于存放______。
B
A.中断类型号 B.中断服务程序的入口地址
C.中断服务程序的返回地址 D.断点地址
三、判断题
9.8086的可屏蔽中断的优先级高于不可屏蔽中断。
[]×
10.通常8259A芯片中的IR0优先级最低,IR7的优先级最高。
[]×
11.在8088系统中,所谓中断向量就是中断服务程序入口地址。
[]√
四、简答题
12.CPU响应INTR中断的条件是什么?
答:
(1)INTR信号为有效电平
(2)当前指令执行完毕
(3)CPU开中断(IF=1)
(4)没有更高级的请求(RESET,HOLD,NMI)
13.一般CPU响应中断时自动做哪些工作?
8088CPU呢?
答:
一般CPU在响应中断时,关中断,保存断点,识别中断源,找到中断服务程序入口地址,转入中断服务程序。
8080CPU在响应中断时,首先把PSW(或标志寄存器内容)入栈保存,其余同一般CPU.
14.8088CPU在执行中断返回指令IRET时,执行什么操作?
答:
(1)弹出断点送CS:
IP
(2)弹出PSW送标志寄存器
15.中断控制器8259A中下列寄存器的作用是什么?
(1)IRR(中断请求寄存器):
保存中断源的中断请求
(2)IMR(中断屏蔽寄存器):
屏蔽/允许中断源请求中断,由程序写入,1为屏蔽,0为允许
(3)ISR(中断服务寄存器):
记录CPU正在为哪些中断源服务
(4)IVR(中断向量寄存器):
保存中断向量号
16、初使化时设置为非自动结束方式,那么在中断服务程序将结束时必须设置什么操作命令?
如果不设置这种命令会发生什么现象?
答案:
当中断服务程序将结束时,必须发0CW2=20H为中断结束命令,执行此命令即撤消正在服务的中断请求和服务标志;否则,即使返回主程序但未退出此中断,造成中断响应的混乱。
17、中断服务程序结束时,用RET指令代替IRET指令能否返回主程序?
这样做存在什么问题?
答案:
RET应该可以使中断服务程序返回主程序,但因为RET是子程序返回指令,它只从堆栈中恢复CS和IP,而不能使状态字PSW得以恢复,所以不能使断点完全恢复,对原程序的继续执行造成不良影响.
18、在哪些情况下须用CLI指令关中断呢?
在哪些情况下须用STI指令开中断?
答案:
在程序初使化阶段,连续传送数据不希望被中断打断,用查询方式等情况下须用CLI关中断.在程序初始化结束之后,退出中断服务程序前,中断过程中须响应更高级中断等情况下须用STI开中断.
19、8259A的初始化命令字和操作命令字有什么差别?
它们分别对应于编程结构中哪些内部寄存器?
答案:
初始化命令字通常在系统初始化阶段设置,从ICW1开始,按照固定次序的设置,一经设置完成,则在以后的操作中基本保持不变,操作命令字是在程序执行阶段向8259A发出的命令字,实现以8259A的状态,中断方式和过程的控制.操作命令字可以一个程序中多次设置,从而改变中断的方式.初始化命令字有4个,分别为ICW1,ICW2,ICW3,ICW4,操作命令字有#个,分别为OCW1,OCW2,OCW3.
20、8259A的优先级自动循环方式和优先级特殊循环方式有什么差别?
答案:
优先级自动循环方式规定刚被服务过的中断其优先级为最高,相邻序号的中断级为最高优先级,依次循环.而优先级特殊循环方式是指定某个中断其优先级为最低,相邻高序号的中断其优先级则为最高.
21、8259A的中断屏蔽寄存器IMR和8086/8088的中断允许标志IF有什么差别?
在中断响应过程中,它们怎样配合起来工作?
答案:
IMR的8位对应8个中断级,其中置为1的位所对应的中断级的输入线IR处于被屏蔽方式,被屏蔽的中断级请求不能使8259A的INT输出端产生有效的请求信号.所以即使当中断允许IF=1时也无法响应.IF是CPU的中断允许标志,当IF=0时所有可屏蔽中断被禁止.在中断响应过程中,通过设置IF,IMR可灵活控制中断的优先次序.
22、如果利用中断方式传送数据,则娄据是如何传输的?
中断机构起什么作用?
答案:
利用中断方式传送数据,一般是首先向CPU发出中断请求,CPU响应中断后在中断处理程序中进行数据传输,传输完毕返回.中断机构起控制作用,实时性较强.
23、在8086/8088的中断系统中,响应中断过程是如何进入中断服务程务程序的?
答案:
中断源提供中断类型码,从中断向量表中相应位置取出中断服务程序首址置入IP和CS中,程序转至中断服务程序.
24、8259A的ICW2设置了中断类型码的哪几位?
说明对8259A分别设置ICW2为30H,38H,36H有什么差别?
答案:
因ICW2设置了中断类型码的高5位,所以中断类型码基值必须是能被8整除的值.若ICW2设置为30H,则8级中断的类型码依次为30H~37H.若设置为38H,则8级中断的类型码依次为38H~3FH.若设置为36H<中断类型码为30H~37H,因其高5位仍为00110B.
25、8259A通过ICW4可以给出哪些重要信息?
在什么情况下不需要用ICW3?
答案:
ICW4中给出的重要信息是:
特列全嵌套方式/正常全嵌套方式,非缓冲方式/缓冲方式,从片/主片,中断自动结束/中断正常结束,8086/8088方式还是8080/8085方式.当ICW1中的IC4=0时,表示不设置ICW4.当ICW1中的SNGL=0时,表示为级联方式,需要设置ICW3.
26、8259A的特殊屏蔽方式和普通屏蔽方式相比,有什么不同之处?
特殊屏蔽方式一般用在什么场合?
答案:
不同之处在于:
当普通屏蔽方式中断服务程序正在执行时,同级或较低级和被屏蔽的中断请求不被响应,只有当前中断结束后方可响应同级或低级中断,特殊屏蔽方式除用OCW1屏蔽方式,屏蔽掉的和正在服务的中断级外,其他任何级的中断请求都将可能中断正在服务的中断(CPU处于开中断状态).相当于赋于OCW1中未屏蔽的中断级有更高的优先权.用这种方法可在程序的不同阶段任意改变中断级的优先次序.
27、8259A可编程中断控制器的主要功能有哪些?
答案:
主要功能有四个:
(1)单片8259A可管理8级优先权中断源,通过级联,最多可管理64级优先权中断源.
(2)对任何一级中断源都可单独进行屏蔽,使该中断请求暂时被挂起,直到取消屏蔽时.
(3)能向CPU提供中断类型码.
(4)具有多种中断优先级管理方式,这些管理方式可能过程序动态地进行变化.
28、外设向CPU申请中断,但CPU不给以响应,其原因有哪些?
答案:
其原因有四个:
(1)CPU处于关中断状态,IF=0
(2)该中断请求已被屏蔽;
(3)该中断请求的时间太短,未能保持到指令周期结束;
(4)CPU已释放总线(即已响应了DMA请求),而未收回总线控制权.
29、写出8086CPU各内部中断名称及产生的条件.
答案:
(1)指令中断INTn.n由用户定义.
(2)断点中断INT3.断点由用户设置.(3)单步中断.TF=1.(4)溢出中断INTO.当OF=1时,执行一条INT4指令.(5)除法出错中断.执行DIV或IDIV指令后,或商大于表示范围则执行一条INT0指令.
五、应用题
30、下面对一个主从式8259A系统进行初始化的程序段.请对以下程序段详细注释,并具本说明各初始化命令字的含义.
主片初始程序:
M82590EQU40H
M82591EQU41H
…
MOVAL,11H
MOVDX,M82590
OUTDX,AL;
(1)
MOVAL,08H
INCDX
OUTDX,AL;
(2)
MOVAL,04H
OUTDX,AL;(3)
MOVAL,01H
OUTDX,AL;(4)
从片初始化程序:
S82590EQU90H
S82591EQU91H
…
MOVDX,S82590
MOVAL,11H
OUTDX,AL;(5)
MOVAL,70H
INCDX
OUTDX,AL;(6)
MOVAL,02H
OUTDX,AL;(7)
MOVAL,01H
OUTDX,AL;(8)
答案:
(1)设ICW1,中断请求信号为上升沿,级联方式,须设ICW4
(2)设ICW2,中断类型码基值为08H
(3)设ICW3,IR2与从片的INT相连
(4)设ICW4,正常的完全嵌套,非缓冲方式,正常中断结束,8086/8088方式
(5)同主片ICW1
(6)设ICW2,中断类型码基值为70H
(7)设ICW3,从片INT与主片的IR2相连
(8)同主片ICW4
31、IR4为正在运行的中断,希望在特殊的程序段上允许较低的IR7响应中断.试编写程序片段.
答案:
根据题意程序片段为
IR4的程序
CLI;关中断,以便设置命令
MOVAL,68H;设置特殊屏蔽方式(OCW3)
OUT20H,AL
INAL,21H;读IMR状态
ORAL10H
OUT21H,AL;屏蔽IR4
STI;开中断,允许响应其他中断请求信号
...;继续处理IR4,如果IR7有请求,可以响应,处理完后要回到IR4处
...
CLI;关中断,以便设置命令
INAL,21H;读屏蔽字
ANDAL,0EFH;开放IR4
OUT20H,AL;恢复原来的屏蔽字
MOVAL,48H;复位特殊屏蔽方式(OCW3)
OUT20H,AL
STI;CPU开中断
...;继续对IR4进行中断处理
MOVAL,20H;发中断结束命令(OCW2)
OUT20H,AL
IRET;返回主程序
32、若8086系统中采用级联方式,主8259A的中断类型码从30H开始,端口地址为20H,21H.从8259A的INT接主片的IR7,从片的中断类型码从40H开始,端口地址为22H,23H.均不要ICW4.试对其进行初始化编程
答案:
主:
M82590EQU20H
M82591EQU21H
…
MOVAL,00010000B
MOVDX,M82590
OUTDX,AL
MOVAL,30H
INCDX
OUTDX,AL
MOVAL,80H
OUTDX,AL
从S82590EQU22H
S82591EQU23H
…
MOVAL,00010