1.中断的基本概念
中断是指在计算机执行期间,CPU收到某个信号(来自软件或硬件),暂时保存正在执行的程序的上下文,转而去执行相应的中断处理程序.
2.8086CPU内部有内部有下面的情况发生时,将产生相应的中断信息.
- 除法错误,比如div指令产生的除法溢出 中断码:0
- 单步执行; 中断码: 1
- 执行into指令 中断码:4
执行int指令 中断码:n
cpu收到中断信息后,就会对中断信息进行处理,而如何处理,可以由我们编程决定,我们编写的用来处理终端信息的程序就被称为中断处理程序,一般来说,对不同的中断信息,就要编写不同的处理程序.
我们知道,要想让8086CPU执行某处的程序,就要将CS:IP指向它的入口地址.那么,产生中断后,怎么定位中断处理程序的入口地址呢?
3.中断向量表
CPU用8位的中断码通过中断向量表找到相应的中断处理程序的入口地址,简单的来说,就是一个中断码和中断处理程序入口地址的映射表:
中断码 | 中断处理程序的入口地址 |
---|---|
0 | 0号中断处理程序的地址 |
1 | 1号中断处理程序的地址 |
… | ….. |
中断向量表在内存中存放,内存0000:0000到0000:03FF的1024个单元中存放中断向量表.(8086规定).对于8086一个表项占32位,低16位表示的是偏移地址,高16位表示段地址.