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