8086汇编-内中断(12)
引言
中断:外部终端和内部终端
1.中断处理程序
1.CPU的设计者必须在中断信息和其处理程序的入口地址之间建立某种联系,使得COU根据中断信息可以找到要执行的处理程序
2.中断信息包含有标志中断源的类型码。根据CPU的设计,中断类型码的作用就是用来定位中断处理程序。
1 | 比如CPU根据中断类型码4,就可以找到4号的处理程序 |
2.中断向量表
1.CPU中8位的中断类型码,通过中断向量表找到相应的中断处理程序的入口地址
1 | 起始就是一个索引 |
2.中断向量表在内存中存放,对于8086CPU机,中断向量表指定放在内存地址0处
从内存0000:0000到0000:03ff的1024个内存单元中存放着中断向量表
1 | 为什么是1024? |
3.中断过程
1.8086CPU的中断过程
1 | 1.(从中断信息中)取得中断类型码 |
简单点
1 | 1.取得中断类型码N |
中断处理程序的步骤
1 | 1.保存用到的寄存器 |
4.iret指令的功能
1.用汇编语法解释
1 | 1.pop IP |
2.iret通常和硬件自动完成的中断过程配合使用
5.除法错误中断的处理
编写一个程序,让发生除法错误中断的时候,在屏幕上输出xxx
分析
1 | 1.当发生除法溢出的时候,会参数0号中断信息,从而引发中断过程 |
6.有一个编程
1 | 看12.10play |
7.单步中断
CPU在执行完一条命令后,如果检测到编制寄存器的TF位1,则残生单步中断
1 | 也就是说TF=1是产生中断的标志 |
步骤
1 | 1.取得中断类型码1 |
8.响应中断的特殊情况
一般情况下,CPU在执行当前指令后,如果检测到中断信息,就响应中断,引发中断过程
可是在有些情况下,CPU在执行当前指令后,即便是发生中断,也不会响应
因为某些过程需要连续完成,不能卡在中间,比如ss:sp的设置就不能中断,在完成ss的设置后,即使发送中断CPU也不会中断,sp的设置因该连续完成
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Safety-Blog!