中断异常的处理
2013-02-18 18:02
232 查看
当处理器执行一个对异常或中断处理例程的调用时:
如果将要执行的处理例程特权级数值较小,就进行栈切换。当栈切换发生时:
a.处理程序使用的栈的段选择子和栈指针是从当前运行任务的TSS 中获取的。
处理器把被中断例程的栈段选择子和栈指针压入新的栈中。
b.处理器随后把EFLAGS 寄存器、CS 寄存器、EIP 寄存器的当前值保存进新栈
中
c.如果异常同时产生了一个错误码,则把它压入栈中,位于EIP 之后。
如果将要执行的处理例程与被中断的例程特权级相同:
a.处理器在当前栈中保存当前EFLAGS 寄存器、CS 寄存器和EIP 寄存器的值
b.如果异常的错误码也保存在那里,则把它保存在当前栈的EIP 值之后。
如果将要执行的处理例程特权级数值较小,就进行栈切换。当栈切换发生时:
a.处理程序使用的栈的段选择子和栈指针是从当前运行任务的TSS 中获取的。
处理器把被中断例程的栈段选择子和栈指针压入新的栈中。
b.处理器随后把EFLAGS 寄存器、CS 寄存器、EIP 寄存器的当前值保存进新栈
中
c.如果异常同时产生了一个错误码,则把它压入栈中,位于EIP 之后。
如果将要执行的处理例程与被中断的例程特权级相同:
a.处理器在当前栈中保存当前EFLAGS 寄存器、CS 寄存器和EIP 寄存器的值
b.如果异常的错误码也保存在那里,则把它保存在当前栈的EIP 值之后。
相关文章推荐
- ARM的SWI异常中断处理程序设计
- 【Flask】abort和errorhandler、app_errorhandler进行请求中断及自定义异常处理
- ARM 异常中断处理
- 6410之异常中断处理
- ARM异常中断处理概述
- Thrift第四课 连接中断异常处理
- Arm架构异常处理流程之中断
- 中断+异常处理【学习笔记】
- 中断详解(三)——中断和异常的硬件处理
- s3c2410 中断异常处理
- ARM基础学习-异常中断处理
- ARM处理器异常与中断处理 学习总结
- DB2中load异常中断导致表状态异常处理方法
- C语言中处理异常中断的方法
- 【ARM】arm异常中断处理知识点
- 【ARM】arm异常中断处理知识点
- 中断机制和中断描述符表、中断和异常的处理
- 字符设备驱动笔记——中断方式按键驱动之linux异常处理结构(四)
- 突如其来的"中断异常",我(Java)该如何处理?
- 线程中断异常的处理 abort()