X86保护模式编程总结(6)

本文总结了X86保护模式中的中断和异常处理,包括可屏蔽和不可屏蔽中断、故障、自陷和中止的区别,并详细介绍了异常表、EFLAGS寄存器的RF标志、中断和自陷门的差异以及中断过程中堆栈的变化。同时讨论了多个异常和中断的优先级处理规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

中断和异常
中断:
可屏蔽中断,在CPU的INTR引脚接收的中断请求,IF=1时才允许发生可屏蔽中断
不可屏蔽中断,在CPU的NMI输入脚上接收到,CPU无法关闭不可屏蔽中断.
异常:
CPU检测的异常被分为3种:
故障,是在已被检测到异常的指令之前的指令边界上报告的异常.故障在恢复到允许指令重新启动状态时由机器报告.用于故障处理程序的返回地址指向故障的指令,而不是指会故障指令之后的指令.
自陷,自陷是在已被检测到异常指令之后紧接着的指令边界上报告的异常.
中止,中止并不总是报告引起的异常的指令位置,并且不允许引起异常的程序重新启动.中止被用来报告几种错误,例如硬件错误和在系统表中有不一致的或非法值.
由编程引发的异常.INTO,INT3,BOUND指令触发.常称为软件中断.CPU象异常一样处理它

异常和中断表
向量号    说明(实)        异常源
0(Y,故障)   除法错       DIV和IDIV指令
1     调试程序调用     任何 
2     NMI中断      不可屏蔽中断
3(N,自陷)  &nbs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值