汇编语言(王爽第三版)检测点12
检测点12.1
(1)用debug查看内存,情况如下:
0000:0000 68 10 A7 00 8B 01 70 00-16 00 9D 03 8B 01 70 00
解释:一个表项存放一个中断向量,也就是一个中断处理程序的入口地址,这个入口地址包括段地址和偏移地址,一个表项占两个字,高地址存放段地址,低地址存放偏移地址。
计算中断服务入口地址的方法是:从内存地址为中断类型码*4和中断类型码*4+2的两个字单元中读取中断处理过程的入口地址设置IP和CS
0号:00A7:1068
1号:0070:108B
2号:039D:0016
3号:0070:108B
3号:IP读取3*4=12的两个bytes就是12和13两个bytes,CS读取3*4+2=14的两个bytes就是14和15两个bytes。
则3号中断源对应的中断处理程序入口的地址为:
0070:018b
(2)存储N号中断源对应的中断处理程序入口的偏移地址的内存单元的地址为: 4N
存储N号中断源对应的中断处理程序入口的段地址的内存单元的地址为: 4N+2
讲解:8086系统在存储器的最低1KB区域(00000H~003FFH)建立一个中断向量表,存放256个中断类型的中断向量。这1024个单元被分成256组,每组包括4个字节单元,存储一个中断向量的段基址和段内偏移地址,高2个字节用於存放段基址,低两个字节用於存放段内偏移地址。
8086系统把中断向量表中的中断明确分为3个部份:
1.专用中断:类型号0~4(所以中断不是从1开始,而是0)
2.系统备用中断:类型号5~31H
3.用户中断:类型号32H~0FFH