Interrupt Descriptor Table: Difference between revisions
[unchecked revision] | [unchecked revision] |
Content deleted Content added
m Interrupts Descriptor Table moved to Interrupt Descriptor Table: Removing 's' from Interrupts |
m →I386 Interrupt Gate: formatting error |
||
Line 49:
=== I386 Interrupt Gate ===
The Interrupt Gate is used to specify a interrupt service routine. When you do <tt>[[INT]] 50</tt> in assembly, running in protected mode, the CPU looks up the 50th entry (located at 50 * 8) in the IDT. Then the Interrupt Gates selector and offset value is loaded. The selector and offset is used to call the interrupt service routine. When the <tt>[[IRET]]</tt> instruction is read, it returns. If running in 32 bit mode and the specified selector is a 16 bit selector, then the CPU will go in 16 bit protected mode after calling the interrupt service routine. To return you need to do <tt>O32 IRET</tt>, else the CPU doesn't know that it should do a 32 bit return (reading 32 bit offset of the stack instead of 16 bit).
=== I386 Task Gate ===
|