3-307
INSTRUCTION SET REFERENCE
INT n/INTO/INT 3Call to Interrupt Procedure (Continued)
The interrupt vector number specifies an interrupt descriptor in the interrupt descriptor table
(IDT); that is, it provides index into the IDT. The selected interrupt descriptor in turn contains a
pointer to an interrupt or exception handler procedure. In protected mode, the IDT contains
an array of 8-byte descriptors, each of which is an interrupt gate, trap gate, or task gate. In real-
address mode, the IDT is an array of 4-byte far pointers (2-byte code segment selector and
a 2-byte instruction pointer), each of which point directly to a procedure in the selected segment.
(Note that in real-address mode, the IDT is called the interrupt vector table, and its pointers
are called interrupt vectors.)
The following decision table indicates which action in the lower portion of the table is taken
given the conditions in the upper portion of the table. Each Y in the lower section of the decision
table represents a procedure defined in the Operation section for this instruction (except #GP).
NOTES:
?
Dont Care.
YYes, Action Taken.
BlankAction Not Taken.
PE
0111
1
1
1
1
VM
0
1
1
IOPL
<3
=3
DPL/CPL
RELATIONSHIP
DPL<
CPL
DPL>
CPL
DPL=
CPL or C
DPL<
CPL &
NC
INTERRUPT TYPES/W
GATE TYPE
TaskTrap or
Interrupt
Trap or
Interrupt
Trap or
Interrupt
Trap or
Interrupt
Trap or
Interrupt
REAL-ADDRESS-
MODE
Y
PROTECTED-MODE
YYY
Y
Y
Y
Y
TRAP-OR-
INTERRUPT-GATE
Y
Y
Y
Y
Y
INTER-PRIVILEGE-
LEVEL-INTERRUPT
Y
INTRA-PRIVILEGE-
LEVEL-INTERRUPT
Y
INTERRUPT-FROM-
VIRTUAL-8086-
MODE
Y
TASK-GATE
Y
#GP
Y
Y
Y