user3724492
user3724492

Reputation: 109

Does BIOS automatically load an interrupt table?

I have seen programs like bootloaders which make interrupts like int 10, int 13, and so on. Obviously these entries didn't always exist, so did BIOS load them? If so, which interrupts are loaded by BIOS? Also, is it okay to overwrite these entries? By the way, this whole thing is Intel x86.

Upvotes: 1

Views: 1528

Answers (1)

amaneureka
amaneureka

Reputation: 1150

Yeah BIOS loads its own Interrupts table when the system is booted, being more specific, only when it is in real mode, called IVT (Interrupt vector table). It is localised in very first KB of RAM memory.

Now your question which interrupts are loaded by BIOS? well it is totally dependent on BIOS manufacturer, When the concept of BIOS interrupts was first introduced. A lot of manufacturers decided to implement 1000s of BIOS Calls. But few of them becomes very much standard and is included in all BIOS. Few of them are listed below

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

Reference: http://en.wikipedia.org/wiki/BIOS_interrupt_call#Interrupt_table

IDT in Protected mode is a counterpart of IVT which tells the CPU where is ISR located in RAM. Overwriting IVT in real mode is okay till you point it to right location else it will generate triple fault and reset the CPU.

Upvotes: 2

Related Questions