中断向量
中断向量即中断源的识别标志,可用来存放中断服务程序的入口地址或跳转到中断服务程序的入口地址。
(1)存放中断服务程序的入口地址
在PC/AT机中,中断向量是指中断服务程序的入口地址,每个中断向量分配4个连续的字节单元,两个高字节单元存放入口的段地址CS,两个低字节单元存放入口的段内偏移量IP。在PC/AT中,规定内存储器的最低1 KB用来存放中断向量(共256个),称这一片内存区为中断向量表,地址范围是0~3FFH,如图所示。
在PC/AT中由硬件产生的中断标识码被称为中断类型号(当然,中断类型号还有其他的产生方法,如指令中直接给出、CPU自动形成等),即在中断响应期间8259A产生的是当前请求中断的最高优先级的中断源的中断类型号。中断类型号和中断向量之间有下面的关系:
中断类型号×4=存放中断子程序的首地址=中断向量
有了存放中断向量的首地址,从该地址开始的4个存储单元中取出的就是中断服务程序的入口。
(2)跳转到中断服务程序的入口地址
在AVR或ARM微处理器中,中断向量的大小也是4个字节,但其中存放的不是中断程服务程序的入口地址,而是可执行的代码。当响应中断时,硬件自动执行相应中断向量处的跳转代码,然后跳转到具体的中断服务程序的入口地址。
中断向量地址和中断向量
中断向量:中断服务程序的入口地址
中断向量地址:内存中存放中断服务程序入口地址的地址