当用8259A中断控制器工作在非自动结束方式时,其中断服务程序为什么要用EOI命令结束中断服务?
答案:2 悬赏:10 手机版
解决时间 2021-03-20 14:56
- 提问者网友:却不属于对方
- 2021-03-20 02:52
当用8259A中断控制器工作在非自动结束方式时,其中断服务程序为什么要用EOI命令结束中断服务?
最佳答案
- 五星知识达人网友:从此江山别
- 2021-03-20 04:24
EOI是外部中断的中断结束命令,这个CPU执行
mov al,20h
out 20h,al
就是给8259a芯片发送EOI命令,通知8259A芯片一个中断完成,8259a将负责把ISR中的位清除,以便以后可以继续接受中断。
如果不加的话,8259a永远收不到中断结束命令,那么就认为某一个中断一直在执行,所以如果遇到比这个阻塞的中断级别低或者相等的中断发生时就不会再响应了。
mov al,20h
out 20h,al
就是给8259a芯片发送EOI命令,通知8259A芯片一个中断完成,8259a将负责把ISR中的位清除,以便以后可以继续接受中断。
如果不加的话,8259a永远收不到中断结束命令,那么就认为某一个中断一直在执行,所以如果遇到比这个阻塞的中断级别低或者相等的中断发生时就不会再响应了。
全部回答
- 1楼网友:迷人又混蛋
- 2021-03-20 05:50
非自动结束方式时,ISR在中断响应结束时对应位不会复位,这时如果出现新的,比之前低优先级的中断,8259A不会响应。所以需要中断服务程序用EOI命令使ISR置0,以响应其他中断。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯