1. 预备知识
- 对于 8086CPU,当 CPU 内部出现如下情况时,将产生相应的中断信息:除法错误,单步执行,执行 int0 指令,执行 int 指令。上述四种中断信息的类型码分别为 0、1、4 和 n,其中 n 对应执行 int n 指令。
- 用来处理中断信息的程序称为中断处理程序。
- CPU 用 8 位中断类型码通过中断向量表找到相应的中断处理程序的入口地址,中断向量即中断处理程序的入口地址。
- 在 8086CPU 中,中断向量表存放了 256 个中断源,固定存放在 0000:0000~0000:03FF 单元。在中断向量表中,一个表项占两个字,高地址字存放段地址,低地址字存放偏移地址。
2. 检测点 12.1
(1)用 Debug 查看内存,情况如下:
0000:0000 68 10 A7 00 8B 01 70 00-16 00 9D 03 8B 01 70 00
则,3 号中断源对应的中断处理程序的入口地址为 0070:018B。
- 由预备知识,在中断向量表中,一个表项占两个字,高地址存放段地址,低地址存放偏移地址。则 3 号中断源对应于 8B 01 70 00 部分。
(2)存储 N 号中断源对应的中断程序入口的偏移地址的内存单元的地址为 4N。存储 N 号中断源对应的中断程序入口的段地址的内存单元的地址为 4N+2
- 分析同上。
3. 总结
- 在 8086CPU 中,中断向量表存放了 256 个中断源,固定存放在 0000:0000~0000:03FF 单元。在中断向量表中,一个表项占两个字,高地址字存放段地址,低地址字存放偏移地址。