- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8259A与中断
8295A与中断
中断和异常中断和异常(msn:xanderzhang@,群群:4733369)o本文来自网络本文来自网络
学过8086/8088汇编的人肯定对于中断这个概念都不陌生。在80386中,这个概念在一定程度上发生了变
化,并引入了“异常”这个新概念。本篇文章就是围绕在操作系统开发中涉及到中断和异常的讨论。
中断中断
中断在系统中是由外部事件所引起的,如:一次I/O操作的结束。其产生与CPU当前所执行的指令没有关
系。从是否能够被屏蔽来划分,可将其分为两类,即可屏蔽中断与不可屏蔽中断,其中前者由CPU的INTR
引脚接收信号,后者由NMI引脚接收信号。
由于产生中断的中断源并不单一,因此在INTR接收中断的时候,同样还要接收一个8位的中断向量号,以
判断是谁发出的中断请求。CPU对于某个中断 向量号是由谁发出原则上并没有规定。但在实际系统中,为
了避免产生冲突,部分中断向量号都有自己固定的中断源,这一工作是由可编程中断控制器(PIC)完 成
的。在80386系统上,该PIC是8259A 。该芯片功能十分强大,不仅能向CPU提供中断向量号,还可以自
主处理中断请求的优先级。每个8259A 芯片可以支持8个中断请求信号,并可进行级连。对于8259A的介
绍,我们将在文章的后半部分进行。
对于是否屏蔽可屏蔽中断可以通过8259A有选择地控制,也可以通过CPU的CLI和STI指令实现。CLI和
STI指令可以设置EFLAGS寄存 器的IF位,如果该位被清除,则CPU会禁止外部中断传递信号给INTR引
脚。但对于CPU内部异常和NMI该位不起作用。在执行这两条指令时,必须要保 证当前CPL小于等于
IOPL ,否则会引起通用保护故障。当然虽然NMI是不可屏蔽中断,但通过将CMOS端口(0x70)中第7位置
1这种手段也可以将 NMI也屏蔽掉的,当然需要打开该中断将该位清零就可以了。
实现代码如下:
#define PORT_CMOS 0x70
void disable_NMI()
{
byte val;
val = inportb(PORT_CMOS);
outportb(PORT_CMOS, val | 0x80);
}
void enable_NMI()
{
byte val;
val = inportb(PORT_CMOS);
outportb(PORT_CMOS, val 0x7F);
}
异常异常
异常是在CPU执行指令期间遇到非法指令所产生的。因此异常与当前指令存在着关系,例如:除零,特权
级不正确等等,都会触发异常。80386可以识 别多种不同的异常,并以不同的中断向量号来标示它们。在
异常发生时,CPU就根据原先设定好的中断向量号转到不同的中断处理程序(ISR)执行。
根据是由是否可恢复和恢复点位置不同将异常划分为三种。它们是故障(Fault),陷阱(Trap)和中止
(Abort) 。
80386认为故障是可以排除的,因此在CPU遇到引起故障的指令的时候,会保存当前的CS和EIP值,并转
去执行故障处理程序。在故障排除后,执 行IRET指令回到刚在引发故障的位置,重新执行刚才触发故障的
指令。例如,当程序企图装入一个不存在的段时将会引发一个故障,这时操作系统会将该段装 入,并重新
进行刚才的操作。
陷阱与故障的区别主要在于,在执行陷阱处理程序之前,系统会保存CS和EIP的值为引起陷阱的下一条要
执行指令所在的位置。例如,软中断就是典型的陷阱。
中止是在系统发生严重错误时产生的。在引起中止后,当前执行的程序不能被恢复执行。并且系统在接受
到中止后,中止处理程序要重新建立各种系统表。引起这类错误的主要原因是系统表的数据不一致或者非
法等。
下表列出了80386在保护模式下的中断和异常
向量号 名称 异常类型 出错代码 相关指令
0 除法错 故障 无 DIV,IDIV
1 调试 故障/陷阱 无 调试状态下
3 断点 陷阱 无 INT 3
4 溢出 陷阱 无 INTO
5 界限检查 故障 无 BOUND
6 无效操作码 故障 无 非法指令
7 无80X87 故障 无 ESC,
您可能关注的文档
- FANUC ROBODRILL a-T14iA使用手册目录.pdf
- JN819-A用户手册.pdf
- TG19264A使用手册.pdf
- WBT-820A技术及使用说明书.pdf
- Caristi 不动点定理的推广及应用.pdf
- TM-221A&TM-421A使用说明书.pdf
- BP0420A电流输出模块使用说明书.pdf
- 优质香稻不育系玉香A的选育及利用.pdf
- 福禄克8845A 8846A数字多用表说明书.pdf
- 使用说明DS214A.pdf
- 2024-2025学年度常州信息职业技术学院单招考试文化素质数学考试综合练习完整附答案详解.docx
- 挑脚手架施工方案.doc
- 2024-2025学年度常州工业职业技术学院单招《数学》高分题库【考试直接用】附答案详解.docx
- 2024-2025学年度常州工业职业技术学院单招《数学》自我提分评估附答案详解【能力提升】.docx
- 2024-2025学年度常州信息职业技术学院单招考试文化素质数学考试综合练习完整附答案详解.docx
- 2024-2025学年度川北幼儿师范高等专科学校单招《数学》考前冲刺试卷含答案详解【必威体育精装版】.docx
- 挑檐脚手架施工方案.doc
- 2024-2025学年度川南幼儿师范高等专科学校单招考试文化素质数学经典例题附答案详解【基础题】.docx
- 2024-2025学年度川北幼儿师范高等专科学校单招《数学》模拟试题及参考答案详解(完整版).docx
- 2024-2025学年度常德职业技术学院单招《职业适应性测试》考试黑钻押题完美版附答案详解.docx
最近下载
- 数字温度计设计.doc VIP
- 2023年深圳大学软件工程专业《操作系统》科目期末试卷A(有答案).docx VIP
- 民用建筑防爆设计标准.pdf VIP
- 品管圈报告书.docx
- 2023年深圳大学软件工程专业《操作系统》科目期末试卷B(有答案).docx VIP
- 2022年深圳大学软件工程专业《操作系统》科目期末试卷B(有答案).docx VIP
- 2023年深圳大学计算机科学与技术专业《操作系统》科目期末试卷A(有答案).docx VIP
- 工程联系单管理规定.pdf VIP
- 2023年深圳大学计算机科学与技术专业《操作系统》科目期末试卷B(有答案).docx VIP
- 10KV和以下电力工程施工组织方案.pdf VIP
文档评论(0)