System32 Function 01 (01h) - Set Interrupt Vector
Description |
This service lets applications hook interrupts. Even though the system is flexible enough to let applications modify the IDT themselves, it is advised that applications use this routine. This makes it possible for the V2_OS to unhook interrupts when an application unexpectedly crashes, or is being terminated for any other reason. It also makes it possible for other applications to see who hooked this interrupt. This could be usefull for determining if an 'updated service' should be installed or not. |
Input |
AL |
01h |
---|---|
AH |
Interrupt number to hook (00h-ffh) |
BX |
Code selector of the new interrupt handler |
EDI |
Offset of the new interrupt handler in the BX selector |
Output |
None |
Always successful |
---|
Errorcodes |
None |
Always successful |
---|
Notes |
*Selectors passed to this service should always reside in
the GDT(Global Descriptor Table), not in a LDT(Local Descriptor Table). If BX is the CS of
the application, the selector is always in the GDT. *If an application chooses to hook an interrupt to an interrupthandler in a selector that has not (yet) been allocated, the service will let it. It is the applications task to make sure that the intterupt is not fired until the selector is allocated and the code is installed. |
Development Status |
Complete |