博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
3中断和异常
阅读量:5079 次
发布时间:2019-06-12

本文共 481 字,大约阅读时间需要 1 分钟。

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

你可能感兴趣的文章
.NET Core采用的全新配置系统[9]: 为什么针对XML的支持不够好?如何改进?
查看>>
linux内核SPI总线驱动分析(一)(转)
查看>>
ASP.NET Core 认证与授权[5]:初识授权
查看>>
Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十四章:曲面细分阶段...
查看>>
在WPF控件上添加Windows窗口式调整大小行为
查看>>
asp.net core参数保护之自定义要保护的参数类型
查看>>
RabbitMQ 在 C# 中简单应用
查看>>
[UWP]针对UWP程序多语言支持的总结,含RTL
查看>>
Bind Enum to Combobox.SelectedIndex
查看>>
背水一战 Windows 10 (36) - 控件(弹出类): ToolTip, Popup, PopupMenu
查看>>
零元学Expression Blend 4 - Chapter 35 讨厌!!我不想一直重复设定!!『Template Binding』使用前後的差异...
查看>>
(转)ZXing生成二维码和带logo的二维码,模仿微信生成二维码效果
查看>>
方法模板ThinkPHP3.1.2项目技巧三部曲 一
查看>>
属性页面Flexbox布局的简单演示之二
查看>>
最全的node.js安装步骤
查看>>
开学第一课
查看>>
运用NPOI操作EXCEL
查看>>
10 个 Redis 建议/技巧
查看>>
170112
查看>>
弹出层
查看>>