81中断概念及处理过程 ●Step2:CPU进行中断响应 ●(二)cPU的中断响应周期 主程序 中断响应周期 中断服务程序 识别中断源,获得中断类型号 保护现场 向中断源发出中断响应信号 FLAGS,CS,IP进栈 开中断 清除TF,标志F,关中断 中断处理 读中断向量 关中断 转入中断服务程序 恢复现场 中断返回 断点 16 xtwang@mailxidian.edu.cn
xtwang@mail.xidian.edu.cn 8.1 中断概念及处理过程 • Step 2: CPU进行中断响应 •(二)CPU的中断响应周期 16 识别中断源,获得中断类型号 FLAGS,CS,IP 进栈 清除 TF ,标志IF,关中断 读中断向量, 转入中断服务程序 开中断 中断处理 关中断 恢复现场 中断返回 主程序 保护现场 断点 中断响应周期 中断服务程序 向中断源发出中断响应信号
81中断概念及处理过程 o Step3.中断服务程序 由一系列的PUSH指令完成,保护那些与 保护现场 主程序中有冲突的寄存器。 开中断 由ST实现,为了能进行中断的嵌套。 执行中断程序 中的输入输出 提供具体的数据传输和处理。 关中断 CLI F=0。 恢复现场 与保护现场对应,注意恢复次序 使用中断返回指令IRET,不能用子程序返回指 返回 令RET。恢复断点地址外和标志寄存器的值。 xtwang@mailxidian.edu.cn ②功毛 XIDIAN UNIVERSITY
xtwang@mail.xidian.edu.cn 8.1 中断概念及处理过程 • Step3. 中断服务程序 17 由一系列的PUSH指令完成,保护那些与 主程序中有冲突的寄存器。 由STI实现,为了能进行中断的嵌套。 与保护现场对应,注意恢复次序。 使用中断返回指令IRET,不能用子程序返回指 令RET。恢复断点地址外和标志寄存器的值。 提供具体的数据传输和处理。 CLI IF=0
81中断概念及处理过程 入口地址: PUSH AX PUSH BX 保护现场 PUSH CX 保护现场,将 PUSH DX PUSH SI 有可能用到的 开中断 PUSH DI 寄存器入栈 PUSH SP PUSH BP: 执行中断程序 SⅣ; 开中断 中的输入输出 CLI: 关中断 POP BP 关中断 POP SP: POP DI; POP DX 恢复现场 POP SI 恢复现场 POP CX: POP BX 返回 POP AX: STI 开中断 IRET 18 xtwang@mailxidian.edu.cn
xtwang@mail.xidian.edu.cn 8.1 中断概念及处理过程 18 入口地址:PUSH AX; PUSH BX; PUSH CX; PUSH DX; PUSH SI; PUSH DI; PUSH SP; PUSH BP; STI; : : CLI; POP BP; POP SP; POP DI; POP DX; POP SI; POP CX; POP BX; POP AX; STI ; IRET 保护现场,将 有可能用到的 寄存器入栈 开中断 关中断 恢复现场 开中断
81中断概念及处理过程 ●step4.中断返回 无论内部中断或者外部中断,都是由中断服务程序的末 尾设置IRET指令实现的。 IRET指令的操作是:恢复断点处的地址CSIP和PSW 使被中断的程序继续执行 19 xtwang@mailxidian.edu.cn
xtwang@mail.xidian.edu.cn 8.1 中断概念及处理过程 • Step 4. 中断返回 ◼ 无论内部中断或者外部中断,都是由中断服务程序的末 尾设置 IRET 指令实现的。 ◼ IRET指令的操作是:恢复断点处的地址CS IP和PSW, 使被中断的程序继续执行 19
Contents 1)中断概念及处理过程 8086的中断系统 3)可编程中断控制器8259A及其应用 4总结 20 xtwang@mailxidian.edu.cn
20 xtwang@mail.xidian.edu.cn 中断概念及处理过程 Contents 1 2 8086的中断系统 3 可编程中断控制器8259A及其应用 4 总结