中断可分为硬件中断和软件中断。硬件中断指由外部(主要是外设)的请求所引起的中断;软件中断指由指令的执行所引起的中断。
8086有两条外部中断请求线:非屏蔽中断NMI和可屏蔽中断INTR。
外部中断:
出现在INTR线上的请求信号是电平触发的,它的出现是异步的,在CPU内部是由CLK得上升沿来同步的。在INTR线上的中断请求信号必须保持到当前指令结束。在此线上出现的中断请求,CPU是否响应要取决于标志位IF的状态,若IF=1,则CPU响应,此时CPU处于开中断状态;若IF=0,CPU处于关中断状态。
出现在NMI线上的中断请求,不受标志位IF影响,在当前指令执行完后,CPU就响应。通常NMI用于电源故障,优先权高于INTR。
内部中断:
DIV或IDIV指令
INT指令
INTO指令
单步执行