3-317
INSTRUCTION SET REFERENCE
INT n/INTO/INT 3Call to Interrupt Procedure (Continued)
Virtual-8086 Mode Exceptions
#GP(0)
(For INT n, INTO, or BOUND instruction) If the IOPL is less than 3 or the
DPL of the interrupt-, trap-, or task-gate descriptor is not equal to 3.
If the instruction pointer in the IDT or in the interrupt-, trap-, or task gate
is beyond the code segment limits.
#GP(selector)If the segment selector in the interrupt-, trap-, or task gate is null.
If a interrupt-, trap-, or task gate, code segment, or TSS segment selector
index is outside its descriptor table limits.
If the interrupt vector number is outside the IDT limits.
If an IDT descriptor is not an interrupt-, trap-, or task-descriptor.
If an interrupt is generated by the INT n instruction and the DPL of an
interrupt-, trap-, or task-descriptor is less than the CPL.
If the segment selector in an interrupt- or trap-gate does not point to a
segment descriptor for a code segment.
If the segment selector for a TSS has its local/global bit set for local.
#SS(selector)If the SS register is being loaded and the segment pointed to is marked not
present.
If pushing the return address, flags, error code, stack segment pointer, or
data segments exceeds the bounds of the stack segment.
#NP(selector)If code segment, interrupt-, trap-, or task gate, or TSS is not present.
#TS(selector)If the RPL of the stack segment selector in the TSS is not equal to the DPL
of the code segment being accessed by the interrupt or trap gate.
If DPL of the stack segment descriptor for the TSSs stack segment is not
equal to the DPL of the code segment descriptor for the interrupt or trap
gate.
If the stack segment selector in the TSS is null.
If the stack segment for the TSS is not a writable data segment.
If segment-selector index for stack segment is outside descriptor table
limits.
#PF(fault-code)If a page fault occurs.
#BP
If the INT 3 instruction is executed.
#OF
If the INTO instruction is executed and the OF flag is set.