2022年微机原理习题答案章 2.pdf

上传人:C****o 文档编号:34275437 上传时间:2022-08-15 格式:PDF 页数:11 大小:217.17KB
返回 下载 相关 举报
2022年微机原理习题答案章 2.pdf_第1页
第1页 / 共11页
2022年微机原理习题答案章 2.pdf_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《2022年微机原理习题答案章 2.pdf》由会员分享,可在线阅读,更多相关《2022年微机原理习题答案章 2.pdf(11页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 73 第 8 章 中断系统与可编程中断控制器8259A 1.什么叫中断? 8086 微机系统中有哪几种不同类型的中断?答:在 CPU 执行程序的过程中,由于某个事件的发生,CPU 暂停当前正在执行的程序,转去执行处理该事件的一个中断服务程序,待中断服务程序执行完成后,CPU 再返回到原被中断的程序继续执行。这个过程称为中断。8086 微机系统中有3 种中断 : 1)外部可屏蔽中断。2)外部不可屏蔽中断。3)内部中断2.什么是中断类型?它有什么用处?答:通常用若干位二进制编码来给中断源编号,该编号称为中断类型号。8086 微处理器用 8 位二进制码表示一个中断类型,有256 个不同的中断。这些

2、中断可以划分为内部中断、外部不可屏蔽中断、外部可屏蔽中断三类。用处:使 CPU 识别中断源,从而能正确地转向该中断源对应的中断服务程序入口。3.什么是中断嵌套?使用中断嵌套有什么好处?对于可屏蔽中断,实现中断嵌套的条件是什么?答:微处理器在处理低级别中断的过程中,如果出现了级别高的中断请求,微处理器停止执行低级中断的处理程序而去优先处理高级中断,等高级中断处理完毕后,再接着执行低级的未处理完的程序,这种中断处理方式成为中断嵌套。使用中断嵌套的好处是能够提高中断响应的实时性。对于某些对实时性要求较高的操作, 必须赋予较高的优先级和采取中断嵌套的方式,才能保证系统能够及时响应该中断请求。对于可屏蔽

3、中断, 实现中断嵌套的条件有: ( 1)微处理器处于中断允许状态(IF=1) ( 2)中断请求的优先级高于正在执行的中断处理程序的优先级。(3)中断请求未被8259 屏蔽。(4)没有不可屏蔽中断请求和总线请求。4.什么是中断向量?中断类型号为1FH 的中断向量为2345H:1234H , 画图说明它在中断向量表中的存放位置。答:中断向量为每个中断服务子程序的入口地址,为32 位( 16 位的偏移地址和16 位的段地址) ,在中断向量表中占用4 个地址单元。 在 8086CPU 组成的计算机系统中,采用最低的1024 个地址单元(称为0 页)来存储中断向量。这1024 个地址单元成为中断向量表。

4、名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 11 页 - - - - - - - - - 74 因此,中断类型号位1FH 的中断向量,在中断向量表中的存储位置为1FH4=07CH。中断类型号为1FH 的中断向量在中断向量表中的存放位置如图8.1 所示。图 8.1 中断类型号为1FH 的中断向量在中断向量表中的存放位置5.中断向量表的功能是什么?叙述CPU 利用中断向量表转入中断服务程序的过程。答:中断向量表是用来存放中断向量的。是中断类型号与它对应的中断服务程序入口地

5、址之间的换算表。1)CPU获得中断类型号n 后,将当前PSW 、CS和 IP 的内容依次压入堆栈,保存断点的状态和断点地址,以便返回时恢复。2)将 PSW 中的 IF 位和 TF位清 0,关闭中断。3)把地址为 4n和 4n+1 两个单元的16 位数作为中断服务程序入口的偏移地址置入 IP,把地址为4n+2 和 4n+3 两个单元的16 位数作为中断服务程序入口的段地址置入 CS 。4)转入中断服务程序。6.叙述可屏蔽中断的响应过程。答:在 IF 位为 1 情况下, 从 INTR 端加入中断请求信号开始,到进入中断服务程序为止名师资料总结 - - -精品资料欢迎下载 - - - - - - -

6、 - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 11 页 - - - - - - - - - 75 所经过的一系列操作,称为可屏蔽中断的响应过程。首先等待当前指令结束后,进入中断响应周期。然后,从微处理器外部的中断控制逻辑获得中断类型号。随后把当前的PSW、CS 和 IP 的内容依次压入堆栈,接着清除 PSW 中的 IF 位和 TF 位为 0。最后把中断服务程序的入口地址置入IP 和 CS。至此,完成了可屏蔽中断的响应过程,开始进入中断服务程序。7.简要叙述8259A 内部 IRR、IMR 、ISR 三个寄存器的作用。答: IRR:中断请

7、求寄存器,用来锁存外部设备送来的70IR IR中断请求信号。当外部中断请求线IRi有中断请求时,IRR 中与之对应的第i 位被置 1。该寄存器内容可以被微处理器读出。IMR :用于设置中断请求的屏蔽信号。此寄存器第i 位被置 1 时,与之对应的外部中断请求线IRi被屏蔽,不能向微处理器发出INT 信号。ISR:用于记录当前正在被服务的所有中断级,包括尚未服务完而中途被更高优先级打断的中断级。若微处理器响应了IRi中断请求,则ISR 中与之对应的第i 位置 1。中断处理结束前,要用指令清除这一位。8.中断控制器8259A 的初始化编程是如何开始的?答:初始化编程就是指对ICW(初始化命令字)的初

8、始化, 对 ICW 的初始化有一定的顺序,必须从 ICW1 开始。对中断控制器8259A 的初始化编程次序如图8.2 所示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 11 页 - - - - - - - - - 76 初始化ICW1初始化ICW3初始化ICW2是级联吗?IC4=1?初始化ICW1YNYN地址A0=0地址A0=1地址A0=1地址A0=1图 8.2 对中断控制器8259A 的初始化编程次序9.设某微机系统需要管理64 级中断,问组成该中断机构时需片 82

9、59A。解:一片8259 可控制 8 级中断,第1 片通过级联8 片 8259 可将中断扩充至64 级。所以组成该中断机构共需9 片 8259。10. 完全嵌套的优先级排序方式的规则是什么?如何设置这种方式?答:在全嵌套方式下,中断优先级的级别是固定的,即0IR优先级最高,IR16IR逐级次之,7IR最低。如果对8259A进行初始化后没有设置其他优先级别,那么8259A 就按全嵌套方式工作。11. 如果设备 D1、D2、D3、D4、D5 按完全嵌套优先级排列规则。设备D1 的优先级最高,D5 最低。在下列中断请求下,给出各设备的中断处理程序的次序(假设所有的中断处理程序开始后就有STI 指令,

10、并在中断返回之前发出结束命令)(1)设备 3 和 4 同时发出中断请求;(2)设备 3 和 4 同时发出中断请求,并在设备3 的中断处理程序完成之前,设备2 发出中断请求;(3)设备 1、3、5 同时发出中断请求,在设备3 的中断处理程序完成之前,设备2 发出中断请求。解:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 11 页 - - - - - - - - - 77 (1)设备 3 和 4 同时发出中断请求;中断处理次序为:D3D4,示意图如图8.3(a)所示。主程序

11、D3服务程序D4服务程序D3,D4同时请求STISTIIRETIRETISR3置1ISR3清零ISR4置1ISR4清零图 8.3(a)设备 3 和 4 同时发出中断请求的中断处理程序的次序示意图(2)设备 3 和 4 同时发出中断请求,并在设备3 的中断处理程序完成之前,设备2 发出中断请求;中 断 处 理 次 序 为 :D3 D2 D3 D4 , 示 意 图 如 图8.3 ( b ) 所 示 。主程序D3服务程序D4服务程序D3, D4同时请求STISTIIRETIRETISR3置1ISR3清零ISR4置1ISR4清零D2服务程序STID2请求ISR2置1IRETISR2清零图 8.3(b)

12、中断处理程序的次序示意图(3)设备 1、 3、5 同时发出中断请求,在设备3 的中断处理程序完成之前,设备2 发出名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 11 页 - - - - - - - - - 78 中断请求。中断处理次序为:D1D3 D2D3 D5,示意图如图8.3(c)所示。主程序D1服务程序D5服务程序D1, D3,D5同时请求STIIRETISR1置1ISR1 清零ISR3置1D3服务程序STIIRETISR3清零D2请求STID2服务程序ISR2清

13、零IRETSTIISR5清零IRETISR5置1图 8.3(c)中断处理程序的次序示意图12. 8259A 是怎样进行中断优先权管理的?答: 8259A 利用优先权处理器来识别和管理中断请求信号的优先级别。当几个中断请求信号同时出现时,优先权处理器根据控制逻辑规定的优先权级别和IMR 的内容来判断这些请求信号的最高优先级。微处理器响应中断请求时,把优先权最高的IRR 中的“1”送入 ISR.。当 8259A 正在为某一级中断服务时,若又出现新的中断请求,则由优先权处理器判断新出现的中断请求的级别是否高于正在处理的那一级。若是,则进入多重中断处理。13. 特殊全嵌套方式有什么特点?它的使用场合是

14、什么?答:多片8259 级联时,主片必须工作在特殊全嵌套方式下。假设从片工作在全嵌套方式下,先后收到了两次中断请求,而且第二次中断请求有较高的优先级,那么该从片就会两次通过INT 引脚向上一级申请中断。如果主片采用全嵌套方式,则它不会响应来自同一引脚的第二次中断请求。而采用特殊全嵌套方式后,就会响应该请求。14. 向 8259A 发送“中断结束” 命令有什么作用?8259A 有哪几种中断结束方式?分析各自名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 11 页 - - -

15、 - - - - - - 79 的利弊。答:向 8259A 发送“中断结束”命令,使相应的中断级在ISR 中的相应位清“0” ,表示该中断处理已经结束。8259A 有自动中断结束方式(AEOI )和非自动中断结束方式(EOI) 。(1)自动中断结束方式(AEOI ) 。在这种方式下,系统一旦进入中断响应,8259A 就在第二个中断响应周期INT A信号的后沿,自动将ISR 中被响应中断级的对应位清“0” 。这是一种最简单的中断结束处理方式,可以通过初始化命令来设定,但这种方式只能用在系统中只有一个8259A,且多个中断不会嵌套的情况。(2)非自动中断结束方式(EOI) 。在这种工作方式下,从中

16、断服务程序返回前,必须在程序里向8259A 输出一个中断结束命令( EOI) ,把 ISR 对应位清“ 0” 。具体做法有一般的中断结束方式和特殊的中断结束EOI 命令。这种方式可用于系统中有多个8259A 或多个中断中有嵌套的情况,但这种方式要比自动中断结束方式复杂。而且在这种方式下,如果在程序里忘记了将ISR 对应位清零,那么, 8259A 在一般情况下将不再响应这个中断以及比它级别低的中断请求。15. 初始化 8259A 时设置为非自动结束方式,则在中断服务程序即将结束时必须设置什么操作命令?不设置这种命令会发生什么现象?如果初始化时设置为自动结束方式时,还需要设置这种操作吗?答:必须发

17、送中断结束命令,即向操作控制字2OCW的 EOI 位写 1。如果不设置这种命令,则该中断服务程序结束后,CPU 将无法响应优先级比它低的中断请求以及它自身的下一次中断请求。若初始化为自动结束方式,则不需设置这种操作。16. 在哪些情况下需用CLI 指令关中断?在哪些情况下需用STI 指令开中断?答:关于有前缀的指令,前缀包括段寄存器前缀(例如指令MOV AX , CS:V AR) 、重复前缀(例如指令REP MOVSB ) 、和LOCK 前缀。应明确的是,指令前缀并不是一个独立的指令, 只是指令的一部分,所以不允许在前缀码和指令码之间响应中断,所以应在这条指令前置CLI(关中断)指令,在这条指

18、令后置STI(开中断)指令。对于目的地址是段寄存器的MOV 和 POP 指令(除 CS 外) ,本条指令后不允许响应中名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 11 页 - - - - - - - - - 80 断,而是还要执行一条指令结束后才能响应中断,这时可以在指令前加CLI ,指令后加STI。需要进行中断嵌套时,由于微处理器在响应中断时已将IF 清零,所以一定要在中断处理程序中加开中断指令,才有可能进行中断嵌套。17. 某系统中有两片8259A,从片的请求信号

19、连主片的IR2引脚,设备A 中断请求信号连从片 IR5引脚。说明设备A 在一次 I/O 操作完成后通过两片8259A 向 8086 申请中断, 8086微处理器通过两片8259A 响应中断,进入设备A 的中断服务程序,发送中断结束命令,返回断点的全过程。答:设备A 在一次 I/O 操作完成后在8259A 从片中断请求输入端IR5 上产生中断请求,中断请求被锁存在8259A 从片 IRR 中,并经 IMR“屏蔽”,其结果送给优先权电路判优。控制逻辑接收中断请求,向8259A 主片 IR2 引脚输出INT 信号,中断请求被锁存在8259A 主片IRR 中,并经 IMR “屏蔽”,其结果送给优先权电

20、路判优。控制逻辑接收中断请求,向CPU输出 INT 信号。 CPU 从 INTR 引脚接受8259A 主片的 INT 信号,进入连续两个INTA周期。优先权电路设置ISR 中的对应位,在收到第一个INTA信号后,8259A 主片把当前申请中断的8259A 从片的 ID 代码 010,通过 CAS0CAS2 送到相应的8259A 从片。相应地 8259A 从片在收到第二个INTA信号时,将中断类型号N 送到数据线上。8086CPU 获得中断类型号N 后,在 N 4 和 N 4+2 对应的中断向量表单元获取中断向量分别置入IP 和 CS ,从此进入设备A 的中断服务程序。在中断服务程序结束前(即执

21、行IRET 指令前),应分别向从片8259 和主片 8259 发送 EOI 中断结束命令,然后执行IRET 指令,返回断点。18. 某 8086 系统用 3 片 8259A 级联构成中断系统,主片中断类型号从10H 开始。从片的中断申请连主片的IR4和 IR6引脚,它们的中断类型号分别从20H、30H 开始。主、从片均采用上升沿触发, 非自动中断结束方式。且主片采用特殊全嵌套方式,从片采用完全嵌套方式。请编写他们的初始化程序。答:设 8258A 主片的端口地址为20H(A0=0)和 21H(A1=1),第一个8259A 从片的端口地址为 50H(A0=0)和 51H(A1=1),第二个 825

22、9A 从片的端口地址为0A0H(A0=0)和 0A1H(A1=1),初始化程序如下:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 11 页 - - - - - - - - - 81 主片:MOV AL ,00010001B ;1ICW:边沿触发,级联OUT 20H,AL MOV AL ,00010000B ;2ICW:中断类型号10H17H OUT 21H,AL MOV AL ,01010000B ;3ICW:4IR和6IR连有从片OUT 21H,AL MOV AL ,

23、00010001B ;4ICW:特殊全嵌套,非缓冲,非自动中断结束OUT 21H,AL 从片 1:MOV AL ,00010001B ;1ICW:边沿触发,级联OUT 50H,AL MOV AL ,00100000B ;2ICW:中断类型号20H27H OUT 51H,AL MOV AL ,00000100B ;3ICW:INT 引脚连主片4IROUT 51H,AL MOV AL ,00000001B ;4ICW:完全嵌套,非缓冲,非自动中断结束OUT 51H,AL 从片二:MOV AL ,00010001B ;1ICW:边沿触发,级联OUT 0A0H ,AL MOV AL ,00110000

24、B ;2ICW:中断类型号30H37H OUT 0A1H ,AL MOV AL ,00000110B ;3ICW:INT 引脚连主片6IROUT 0A1H ,AL MOV AL ,00000001B ;4ICW:完全嵌套,非缓冲,非自动中断结束名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 11 页 - - - - - - - - - 82 OUT 0A1H ,AL 19. 设 8259A 的端口地址为50H (A0=0) 和 51H (A1=1),请给下面的8259A

25、初始化程序加上注释,说明各命令字的含义。MOV AL, 13H OUT 50H , AL MOV AL, 08H OUT 51H , AL MOV AL, 0BH OUT 51H , AL 解:MOV AL, 13H OUT 50H , AL ;初始化1ICW,设置为边沿触发,单片工作MOV AL, 08H OUT 51H , AL;2ICW;中断类型号的高5 位为 00001B,即中断类型号为08H0FH MOV AL, 0BH OUT 51H , AL ; 初始化4ICW,一般全嵌套缓冲方式,中断非自动结束20.设 8259A 端口地址为20H 和 21H,怎样发送清除ISR3的命令?答:

26、 8259A 可通过设置操作控制字错误!未找到引用源。发送中断结束命令(EOI 命令),来清除ISR 的指定位。 错误!未找到引用源。的值为23H,错误!未找到引用源。用低位端口地址(即A0=0 )进行操作,因此可编程如下:MOV AL,23H MOV 20H,AL 21.根据中断过程的要求设计的一个中断系统,大致需要考虑哪些问题?答: 1)设计必要的中断源,确定它们提出的中断请求的方式。2)编写初始化程序。根据急迫程度的不同,规定好中断源的优先级别,以确定当几个中断源同时请求时,处理机能有一个先后响应次序。3)当处理机响应中断后,需要把被中断程序的现场、断点保护起来,以便中断处理结束后能返回

27、原程序。4)中断服务程序设计。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 11 页 - - - - - - - - - 83 5)恢复现场,返回原程序。22.给定 (SP)=0100H ,(SS)=0300H ,(PSW)=0240H ,以及存储单元的内容(00020H)=0040H ,(00022H)=0100H , 在段地址为0900H 及偏移地址为00A0H 的单元中有一条中断指令INT 8 ,试问执行INT 8 指令后, SP、SS、 IP、PSW 的内容是

28、什么?栈顶的三个字是什么?答:执行INT8 之后, (SP)=00FAH , (SS) =0300H, (IP)=0040H , (PSW)=0040H 。由于 INT8 为双字节指令,所以栈顶的三个字从上到下分别是00A2H ,0900H,0240H。23. 中断服务程序结束时,用RETF 指令代替IRET 指令能否返回主程序?这样做存在什么问题?答:可以。但这样做存在问题。IRET 指令执行时将出栈IP,CS 和 PSW 的值,而 RETF 指令只出栈IP,CS 的值,因而若中断服务程序中改变了标志位,用RETF 指令返回在主程序中将无法恢复标志位的值。尤其是在中断服务程序中关中断后(IF=0 ) ,用 RETF 指令将无法重新开中断,从而导致中断服务结束后CPU 不能再响应其他可屏蔽中断。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 11 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com