Intel 64 and IA-32 Architectures Software Developers Manual Volume 3A, System Programming Guide, Part 1

Vol. 3A 5-15
INTERRUPT AND EXCEPTION HANDLING
5.12 EXCEPTION AND INTERRUPT HANDLING
The processor handles calls to exception- and interrupt-handlers similar to the way it
handles calls with a CALL instruction to a procedure or a task. When responding to an
exception or interrupt, the processor uses the exception or interrupt vector as an
index to a descriptor in the IDT. If the index points to an interrupt gate or trap gate,
the processor calls the exception or interrupt handler in a manner similar to a CALL
to a call gate (see Section 4.8.2, “Gate Descriptors,” through Section 4.8.6,
Figure 5-2. IDT Gate Descriptors
31
16
15
13
14 12
8
7
0
P
Offset 31..16
D
P
L
0
4
31
16
15
0
Segment Selector
Offset 15..0
0
011D
Interrupt Gate
DPL
Offset
P
Selector
Descriptor Privilege Level
Offset to procedure entry point
Segment Present flag
Segment Selector for destination code segment
31
16
15
13
14 12
8
7
0
P
D
P
L
0
4
31
16
15
0
TSS Segment Selector
0
1010
Task Gate
45
0 0 0
31
16
15
13
14 12
87
0
P
Offset 31..16
D
P
L
0
4
31
16
15
0
Segment Selector
Offset 15..0
0
111D
Trap Gate
45
0 0 0
Reserved
Size of gate: 1 = 32 bits; 0 = 16 bitsD