3中断和异常

3.13 

异常来自于CPU本身,是主动产生的,而中断来自于外部设备,是中断源发起的,CPU是被动的


3.2

异常分为3类:错误,陷阱,中止

错误类异常通常可以被纠正,如内存页错误,错误异常处理程序返回时,CPU执行的第一条指令仍是刚才导致异常的那条指令,所以如果导致异常的情况没有消除,会再次产生异常

陷阱类异常会执行紧接关要执行的下一条指令,如INT3

中止类异常主要用于报告严重错误,不允许恢复继续执行,


3.5

中断和异常处理的核心数据结构是中断描述符表(IDT)

响应的全过程:

1.cs和EIP的低16位入栈

2.标志寄存器低16位入栈

3.清除标志寄存器的IF标志,以禁止其他中断

4.清除标志寄存器的TF,RF,AC标志

5.以向量号n为索引,找到对应表项,

6.把表项中段地址和编移地址装入CS和EIP中,执行

7.以IRET指令结束,IRET会从堆栈中弹出CS,IP和标志寄存器的值,然后返回执行被中断的程序.


转载于:https://www.cnblogs.com/hgy413/archive/2013/02/16/3693432.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值