1)引发中断的三类情况
- 外设往CPU送一个中断请求信号
(外部硬件中断、非屏蔽中断) - CPU或协处理器执行指令时产生异常
(内部异常) - 程序执行INT指令
(软件中断)
异常按报告错误方式分为三类:
- 故障(Fault)保存在堆栈中的CS、EIP值指向导致Fault指令,从而异常处理后可以继续执行该指令。
- 陷阱(Trap)保存在堆栈中的CS、EIP值指向导致Trap指令的下一条指令,从而异常处理后从下一条指令处恢复。
异常中止(Abort)不保存任何信息,系统可能需要重新启动。
2)中断向量和中断描述符表
中断类型号通过一个地址指针表与中断服务程序相联。
在实方式下,地址指针表称为中断向量表。
在保护方式下,地址指针表称为中断描述符表(IDT)。中断向量表位置——IDTR:基址为0,限长:03ffh
中断描述符表位置—- IDTR的值确定
门描述符可定义:中断门、陷阱门、任务门
- IDTR的限长07FFH