• 1211阅读
  • 3回复

3中断和异常 [复制链接]

上一主题 下一主题
离线啊冲
 

只看楼主 倒序阅读 使用道具 楼主  发表于: 2016-02-12


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和标志寄存器的值,然后返回执行被中断的程序.

善者 慈悲心常在 无怨无恨 以苦为乐
默认压缩密码www.hifyl.com
文件分享密码问题:http://www.hifyl.com/read-htm-tid-4444.html
离线v2680267313

只看该作者 沙发  发表于: 2016-04-30
用户被禁言,该主题自动屏蔽!
离线pdffj

只看该作者 板凳  发表于: 2016-05-04
不错不错学习了
<a href=http://www.wei2008.com/ alt="维维软件园">维维软件园</a>
离线wbc023

只看该作者 地板  发表于: 2016-11-29
有点儿深度,看不大懂,不过顶一下
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个