注册 登录
编程论坛 汇编论坛

中断向量表是什么东东?

yuma 发布于 2022-09-19 20:08, 2939 次点击
中断向量表是什么东西,有没有人听说过。能不通简述一下是干什么的?
1 回复
#2
Valenciax2022-09-20 13:45
这是x86系列cpu的东西,写16bit汇编,若涉及中断操作,才要弄明白中断向量表.

比如这2条指令
mov ah,0
int 16h

它就是16h中断,ah是读键功能编号,执行后,若键入a,ah回存a键的扫瞄码,al回存a键的ascii码
cpu如何执行int 16h? 这就需要中断向量表,电脑启动后,系统会在0:0000~0:0400h的地址上建立一个表格
0:0001~0:0003 共4个字节,放置一个'段:偏移的地址',表示中断1的入口
0:0004~0:0007 共4个字节,放置一个'段:偏移的地址',表示中断2的入口
...
...
一共256个中断(16进制0-ffh),占据0:0~0:0400h
cpu执行int 16h时,就会在16h * 4 的地址,取得16h的入口,保存cs,ip和flag后,就将控制权交给int16h的函式.

这是软中断,但还有硬中断,比如时脉,8h号中断,它不须要int 8h,而是直接对cpu发出中断要求,cpu收到后,和软中断一样,在中断向量表中,
找出int8h的时脉中断入口,运行之.....
1