User:Johnburger/Demo/x86/IVT

From OSDev Wiki
Jump to navigation Jump to search

This Demonstrator doesn't need to modify the Real-mode Interrupt Vector Table - in fact, it avoids it completely! While setting up Protected Mode it issues various BIOS calls (which uses the IVT to get to the handler), and it carefully avoids using that 1 kiB of memory for anything else.

It avoids the BIOS Data Area and Extended BIOS Data Area too, just in case you ever want to try going back to Real Mode (or even Unreal Mode).

Demo/x86/IVT.inc

;
; x86/IVT.inc
;

; These are the definitions for the (Real Mode) Interrupt Vector Table.

x86.Ints        EQU             256

x86.IVT.Base    EQU             0000h         ; Interrupt Vector Table
x86.IVT.Size    EQU             x86.Ints * 4  ; This many DWORD vectors