8086中断系统讲解
中断响应总线周期
中断响应过程的总线操作
• 第1个总线周期,通知外设,CPU准备响 应中断; • 第2个总线周期,外设发送中断类型码; • 总线写周期,标志寄存器入栈; • 总线写周期,CS内容入栈; • 总线写周期,IP内容入栈; • 总线读周期,偏移量送IP; • 总线读周期,段地址送CS;
5. 中断处理子程序
① ② ③ ④ ⑤ 进一步保护中断现场 开放中断 中断处理的具体内容 弹出堆栈指令(恢复保护的现场) 中断返回指令(自动返回F、CS、IP)
6. 软件中断
① 用一条指进入中断处理子程序,并 且,中断类型码由指令提供。 ② 不执行中断响应总线周期,也不从数 据总线读取中断类型码。 ③ 不受中断允许标志IF的影响 ④ 执行过程中可响应外部硬件中断 ⑤ 软件中断没有随机性
2. 中断向量和中断向量表
例:
• 中断类型号20H, 其中断程序入口地址为 2000H:1000H, 问:中断向量是什么?应存 放在什么位置,内容是什么?
3. 硬件中断
1. NMI:
a. 优先级别:级别较高;
b. 用于十分紧急的情况处理,如系统掉电 i. 将当前现场保存在非易失性存储器中; ii. 启动热备份设备; iii. 启动一定的线路接通一个可充电的电源 系统,以维持系统正常工作。
– 上升沿,维持两个时钟周期的高电平
• NMI的响应过程
几点说明:
1. 非屏蔽中断和可屏蔽中断有两点差别; 2. TF是单步中断标志 ; 3. 在中断响应后,又遇NMI; 4. 结束时,返回断点; 5. 不能立即响应中断的情况:
a. 遇到LOCK命令; b. 执行往段寄存器中传送数据的指令;
6. 等待或串操作时,允许过程中进入中断
4. 硬件中断的响应和时序
• 可屏蔽中断的响应过程 :
– – – – – 从数据总线上读取中断类型码,存入暂存器 将标志寄存器的值推入堆栈 把标志寄存器的IF和TF清零 将断点保护到堆栈中。 寻找中断向量,转入中断处理程序
• INTR信号:
– 电平触发信号 – 高电平要维持到CPU相应中断才结束
• NMI信号:
2.3.3 中断操作和中断系统
1. 8086的中断分类
硬件中断(NMI和INTR), 软件中断
2. 中断向量和中断向量表
• 中断类型号:8086中断系统中的每一个 中断都有一个0-255号的中断类型号; • 中断向量:所谓中断向量就是中断服务 程序的入口地址(段地址、偏移量地址); • 中断向量表:为便于进入中断服务程序, 将各个中断向量组成一个表放在固定位 置上(0000H-003FFH),由此表得到相 应中断的中断向量,将此向量传送给指 令指针,进入相应的中断服务程序。