内部中断 除法错中断 ■除数为0或商超出寄存器范围。中断类型号N=0 ■ 溢出中断指令NTO ■在算术运算指令之后紧跟NTO指令,可检查溢 出标志OF。中断类型号N=4 ■ 例如:测试加法的溢出 MOV AX.0009H MOV AX,9000H ADD AX.0080H ADD AX.8000H INTO INTO 无溢出,不中断,顺序 溢出,中断,转移 11/66
11/66 内部中断 除法错中断 除数为0或商超出寄存器范围。中断类型号N=0 溢出中断指令INTO 在算术运算指令之后紧跟INTO指令,可检查溢 出标志OF 。中断类型号N=4 例如:测试加法的溢出 MOV AX,0009H MOV AX,9000H ADD AX,0080H ADD AX,8000H INTO INTO : : 无溢出,不中断,顺序 溢出,中断,转移
内部中断 ■ 单步中断 ■当标志位TF=1时,每执行一条指令, CPU便产生中断类型号N=1的单步中断. 单步中断用于Debug调试程序 断,点中断 当程序设置了断,点时,CPU执行到断点 处便产生中断类型号N=3的断点中断, 并显示寄存器及单元内容,供Debug调 试程序使用 国 12/66
12/66 内部中断 单步中断 当标志位TF=1时,每执行一条指令, CPU便产生中断类型号N=1的单步中断。 单步中断用于 Debug调试程序 断点中断 当程序设置了断点时,CPU执行到断点 处便产生中断类型号N=3的断点中断, 并显示寄存器及单元内容,供Debug调 试程序使用
可屏蔽中断处理流程 执行指令 N 指令结求 取下一条指令 Y CPU开中断时 N 有中断请求 CPU硬件完成 Y 标志自动进栈,CPU自动关中断 响应中断 IP,CS自动进栈 关中断 保护断点 寻找中断源 转中断服务程序 PUSH保护寄存器内容 保护现场 中断服务程序 关中断,寄存器内容POP慨复 中断服务 恢复现场 弹出P,CS,及标志,自动开中断 返回
N Y Y N 中 断 服 务 程 序 CPU开中断时 标志自动进栈,CPU自动关中断 IP,CS自动进栈 PUSH保护寄存器内容 关中断,寄存器内容POP恢复 弹出IP,CS,及标志,自动开中断 C P U 硬 件 完 成 可屏蔽中断处理流程
CPU响应中断过程 可屏蔽中断请求INTR 1.CPU响应可屏蔽中断 2.CPU转入中断服务过程 14/66
14/66 CPU响应中断过程 可屏蔽中断请求INTR 1. CPU响应可屏蔽中断 2. CPU转入中断服务过程
CPU响应中断过程 1. CPU响应可屏蔽中断 当中断屏蔽触发器未被屏蔽时,外设发出中断 请求信号 CPU在每条指令的最后一个机器周期的最后一 个T状态采样中断请求NTR引脚,若有中断请 求信号且CPU内部中断允许触发器是开放的 (IF=1),则CPU响应中断 CPU向外设接口发两个中断响应信号INTA 外设收到第二个NTA,往数据线送中断类型号 15/66
15/66 CPU响应中断过程 1. CPU响应可屏蔽中断 当中断屏蔽触发器未被屏蔽时,外设发出中断 请求信号 CPU在每条指令的最后一个机器周期的最后一 个T状态采样中断请求INTR引脚,若有中断请 求信号且CPU内部中断允许触发器是开放的 (IF=1),则CPU响应中断 CPU向外设接口发两个中断响应信号INTA 外设收到第二个INTA,往数据线送中断类型号