中断响应过程

在这里插入图片描述

在这里插入图片描述

1. 中断请求

CPU每条指令执行完之前,按中断优先级的顺序分别检查是否有软中断,NMI和单步中断,如果没有就继续执行下条指令,如果有则进入中断响应周期。

2. 中断响应

根据不同的中断源形成不同的中断类型码,再根据中断类型码在中断向量中寻找中断服务程序的入口地址,转入相应的中断处理程序。

(1)硬件自动完成

  • 标志寄存器FLAGS的内容入栈;
    ① 保护单步标志TF;
    ② 清IF标志,在中断处理过程中禁止其他中断进入(关中断);
    ③ 清TF标志,使CPU不会以单步形式执行中断处理程序;
  • 保护断点,CS:IP入栈

总共有6个字节进栈。

(2)进入中断服务
如果在处理过程中又有NMI进入,NMI中断处理后会清楚CPU中锁存的NMI请求信号,使之加在CPU上的NMI只会被CPU识别一次;
执行用户编写的的中断服务程序,保护现场、中断处理和恢复现场程序。

3. 中断服务

CPU根据查询到的CS:IP执行中断服务程序。

4. 中断返回

CS:IP出栈,恢复断点,并恢复标志寄存器FLAGS的内容,返回主程序,继续执行下一条指令。

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:像素格子 设计师:CSDN官方博客 返回首页

打赏作者

一只小汤姆

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值