中断向量与中断向量表
6 v, \4 u# n# }$ v) M6 R. X
前面介绍中断源识别方法时提到:早期的微机系统中将由硬件产生的中断标识码
; G6 g' T, w- s+ a$ D& u
8 V" i6 w& W& Y" B1 e- a) X; G: J7 G" K
7 S0 x- i& m, r8 u1 N! d3 Z
(中断源的识别标志,可用来形成相应的中断服务程序的入口地址或存放中断服务程序的首地址)称为中断向量。在Pc/AT中也用到这个名称,但含义有所不同。在Pc/AT机中,中断向量是指中断服务程序的入口地址,包括段地址CS和段内偏移 量IP共4个字节。在PC/AT中,规定内存储器的最低1 KB用来存放中断向量(共256个),称这一片内存区为中断向量表,如图5.2l所示。
% ^4 u! C9 ?6 U 在Pc/AT中由硬件产生的中断标识码被称为中断类型号(当然,中断类型号还有其他的产生方法,如指令中直接给出、CPU自动形成等),即在中断响应期间8259A产生的是当前请求中断的最高优先级的中断源的中断类型号。中断类型号和中断向量之间有下面的关系:
; @3 e9 q" C% i5 Q, S. ?$ B3 Q 中断类型号×4=存放中断向量的首地址
9 P& s) E, t% M, B
有了存放中断向量的首地址,从该地址开始的4个存储单元中取出的就是中断服务程序的入口地址。