INT             Interrupt                            Flags: O D I T S Z A P C
? ? ? ? ? ? ? ? ?
INT int_number IOv86

Logic ; Real mode
PUSHF
TF ← 0
IF ← 0
CALL FAR [0000:(int_number * 4)]

The INT n instruction generates via software a call to an
interrupt handler. The immediate operand, from 0 to 255, gives the
index number into the interrupt descriptor table (IDT) of the
interrupt service routine to be called. INT generally behaves like
a far call except that the flags register is pushed onto the stack
before the return address. Interrupt procedures return via the
IRET instruction, which pops the flags and return address from the
stack.

In protected mode, the interrupt descriptor table (IDT) consists
of an array of 8-byte descriptors; the descriptor for the
interrupt invoked must indicate an interrupt, trap, or task gate.
In real-address mode, the IDT is an array of 4-byte pointers
(interrupt vectors).
In protected and real address modes, the base linear address of
the IDT is defined by the contents of the IDTR.

This instruction is IOPL-sensitive in V86 mode.


INT 3 is a single-byte form (the breakpoint instruction) that is
useful for debugging.


Note
The first 32 interrupts are reserved by Intel for system use. Some
of these interrupts are used for internally generated exceptions.


Opcode Format
CC INT 3
CD ib INT imm8
CE INTO


Length and timing
Operands Bytes 8088 186 286 386 486 Pentium
3 1 72 45 23+m 33 26 13 NP
imm8 2 71 47 23+m 37 30 16 NP

Protected mode

Bytes 8088 186 286 386 486 Pentium
1 - - (40-78)+m 59-99 44-71 27-82 NP