中断隐指令

image.png
最关键的问题在于如何找到在内存中的中断服务程序。

在实际中断中,我们一般都有一个中断号 n,当 CPU 执行 int n 指令时,相当于引发一个 n 号中断的中断过程。

对于 8086 的 CPU,执行 n 号中断的过程如下:

  1. 从指令 int n 取中断类型码;
  2. 标志寄存器入栈,IF = 0, TF = 0
  3. CS、IP 入栈;(通过 CS、IP 寄存器,我们可以找到指令在主存中的位置);
  4. (IP) = (n * 4),(CS) = (n * 4 + 2)
    以上的过程就是硬件向量法的基本过程。下图是示意图:
    image.png
    通过中断号,我们可以找到中断向量(在中断向量表中)的地址,然后通过中断向量找到中断服务程序的入口地址。