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.