3-62
INSTRUCTION SET REFERENCE
CALLCall Procedure (Continued)
Protected Mode Exceptions
#GP(0)
If target offset in destination operand is beyond the new code segment
limit.
If the segment selector in the destination operand is null.
If the code segment selector in the gate is null.
If a memory operand effective address is outside the CS, DS, ES, FS, or
GS segment limit.
If the DS, ES, FS, or GS register is used to access memory and it contains
a null segment selector.
#GP(selector)If code segment or gate or TSS selector index is outside descriptor table
limits.
If the segment descriptor pointed to by the segment selector in the
destination operand is not for a conforming-code segment, noncon-
forming-code segment, call gate, task gate, or task state segment.
If the DPL for a nonconforming-code segment is not equal to the CPL or
the RPL for the segments segment selector is greater than the CPL.
If the DPL for a conforming-code segment is greater than the CPL.
If the DPL from a call-gate, task-gate, or TSS segment descriptor is less
than the CPL or than the RPL of the call-gate, task-gate, or TSSs segment
selector.
If the segment descriptor for a segment selector from a call gate does not
indicate it is a code segment.
If the segment selector from a call gate is beyond the descriptor table
limits.
If the DPL for a code-segment obtained from a call gate is greater than the
CPL.
If the segment selector for a TSS has its local/global bit set for local.
If a TSS segment descriptor specifies that the TSS is busy or not available.
#SS(0)
If pushing the return address, parameters, or stack segment pointer onto
the stack exceeds the bounds of the stack segment, when no stack switch
occurs.
If a memory operand effective address is outside the SS segment limit.
#SS(selector)If pushing the return address, parameters, or stack segment pointer onto
the stack exceeds the bounds of the stack segment, when a stack switch
occurs.