| |
Interrupt
86/88 |
Y |
186 |
Y |
286 |
Y |
386 |
Y |
486 |
Y |
INT |
Ovfl |
N |
Dir |
N |
Int |
0 |
Trap |
0 |
Sign |
N |
Zero |
N |
Aux |
N |
Prty |
N |
Carry |
N |
INT pushes the flags register, clears the Trap and Interrupt-enable
Flags, pushes CS and IP, then transfers control to the interrupt
handler specified by the interrupt-num. If the interrupt handler
returns using an IRET instruction, the original flags are restored.
Notes: The flags are stored in the same format as that used
by the PUSHF instruction.
The address of the interrupt vector is determined by
multiplying the interrupt-num by 4. The first word
at the resulting address is loaded into IP, and the
second word into CS.
All interrupt-nums except type 3 generate a two-byte
opcode; type 3 generates a one-byte instruction
called the Breakpoint interrupt.
------------------------------------ Timing ----------------------------------
OpCode Instruction 386 286 86
CC INT 3 33 23 52
Protected mode, same priveledge 59 40
Protected mode, more priveledge 99 78
Protected mode, V86 to PLO 119
Protected mode, via task gate ts 167
CD ib INT imm8 37 23 51
Protected mode, same priveledge 59 40
Protected mode, more priveledge 99 78
Protected mode, V86 to PLO 119
Protected mode, via task gate ts 167
------------------------------------ Logic -----------------------------------
PUSHF
TF = 0
IF = 0
CALL FAR (int*4)
See Also IRET INTO PUSHF CALL POPF INT/03 Flags |