试题详情
简答题简述IA-32处理器的中断工作过程。
  • IA-32处理器获得向量号识别出中断源后,中断或异常接着的工作过程如下:
    (1)将标志寄存器EFLAGS压入堆栈,保护各个标志位;将被中断指令的逻辑地址(代码段寄存器和指令指针寄存器内容)压入堆栈,保护断点。
    (2)如果有错误代码,将其压入堆栈(有些异常产生错误代码,更具体地表明产生异常的原因)。实地址方式的异常不返回错误代码。
    (3)根据向量号获得中断服务程序(中断或异常的处理程序)的段选择器和指令指针,分别传送给代码段寄存器CS和指令指针寄存器EIP。
    (4)对于中断,要设置中断允许标志IF为0,即禁止进一步的可屏蔽中断。
    (5)控制转移至中断服务程序入口地址(首地址),开始执行中断或异常处理程序。
    中断服务程序最后是中断返回指令IRET。中断返回指令IRET将断点地址和标志寄存器出栈恢复,如果压入了错误代码还需要相应增量堆栈指针,于是控制又返回到断点指令继续执行。
  • 关注下方微信公众号,在线模考后查看

热门试题