非屏蔽中断:由输入NMI引脚的中断请求信号引发的中断
CPU响应非屏蔽中断的条件:
(1)NMI引脚有中断请求,系统没有DMA请求
(2)CPU当前指令执行完毕
非屏蔽中断对应的中断号为2
可屏蔽中断:输入到INTR引脚的中断请求信号引发的中断
CPU响应可屏蔽中断的条件:
(1)INTR引脚有中断请求,NMI引脚没有中断请求,系统没有DMA请求
(2)CPU当前指令执行完毕
(3)CPU处于开中断状态,即标志寄存器的中断允许标志置1
CPU响应可屏蔽中断的过程:
CPU在每一条指令的最后一个时钟周期,检测INTR引脚,当检测到有可屏蔽中断请求时,在满足条件后,向系统8259A发出中断响应信号(两个负脉冲)。CPU在获得中断类型码后,在实模式下查询中断向量表,从而转向相应的中断服务子程序。
PC系列机可屏蔽中断的硬件结构:
可屏蔽中断结构:两片8259A管理15级中断


记:
主IR0日时钟(8)、主IR1 键盘(9)、主 IR2来自从8259A
从 IR1 用户71H转0AH
中断优先级
主IR0、主IR1,从IR0~从IR7,主IR3~IR7
中断结束字
中断服务子程序结束之前向8259A送常规中断结束命令20H。
(1)接入主8259A IR0、IR1、IR3~IR7的中断源,其服务程序结束要向主8259A送中断结束命令字
MOV AL,20H; 20H为中断结束命令字
OUT 20H,AL; 20H为主8259A接受中断结束命令的寄存器口地址
恢复现场
IRET
(2)接入从8259A的中断源,其服务程序结束应分别向主从8259A各送一个中断结束命令字
MOV AL,20H ; 20H为 中断命令字
OUT 20H,AL ; 20H为 主9258A接受中断结束命令的寄存器口地址
OUT 0A0H,AL; 0A0H为 从8259A接受中断结束命令的寄存器口地址
恢复现场
IRET