BIOS是否自动加载中断表



我见过像引导程序这样的程序,它们会产生int 10、int 13等中断。显然,这些条目并不总是存在,所以BIOS加载了它们吗?如果是,BIOS加载哪些中断?另外,可以覆盖这些条目吗?顺便说一句,这就是英特尔x86。

是的,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的对应物,IVT"告诉"CPU ISR在RAM中的位置。在真实模式下重写IVT是可以的,直到你把它指向正确的位置,否则它会产生三重故障并重置CPU。

最新更新