BIOS会自动加载中断表吗?

时间:2014-09-17 16:55:12

标签: x86 interrupt bios

我见过像bootloaders这样的程序会产生像int 10,int 13这样的中断。显然这些条目并不总是存在,所以BIOS加载它们吗?如果是这样,BIOS会加载哪些中断?此外,是否可以覆盖这些条目?顺便说一句,整个事情是Intel x86。

1 个答案:

答案 0 :(得分:1)

是的BIOS在系统启动时加载自己的中断表,更具体,只有当它处于实模式时才称为IVT(中断向量表)。它位于RAM的第一个KB内存中。

现在你的问题是哪些中断是由BIOS加载的? 当它首次引入BIOS中断的概念时,它完全依赖于BIOS制造商。许多制造商决定实施1000多个BIOS调用。但很少有它们变得非常标准,并且包含在所有BIOS中。其中很少列在下面

0x10 --> Video
0x13 --> Disk
0x14 --> Serial Port
0x16 --> Keyboard

参考:http://en.wikipedia.org/wiki/BIOS_interrupt_call#Interrupt_table

保护模式下的IDT是IVT的对应物,它告诉CPU哪里有ISR位于RAM中。 在实模式下覆盖IVT是可以的,直到你指向正确的位置,否则它将产生三重故障并重置CPU。

相关问题