Intel 253666-024US Computer Hardware User Manual


 
3-104 Vol. 2A CALL—Call Procedure
INSTRUCTION SET REFERENCE, A-M
If code segment or 64-bit call gate overlaps non-canonical
space.
If the segment descriptor pointed to by the segment selector in
the destination operand is not for a conforming-code segment,
nonconforming-code segment, or 64-bit call gate.
If the segment descriptor pointed to by the segment selector in
the destination operand is a code segment and has both the D-
bit and the L- bit set.
If the DPL for a nonconforming-code segment is not equal to the
CPL, or the RPL for the segment’s 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 64-bit call-gate is less than the CPL or than the
RPL of the 64-bit call-gate.
If the upper type field of a 64-bit call gate is not 0x0.
If the segment selector from a 64-bit call gate is beyond the
descriptor table limits.
If the DPL for a code-segment obtained from a 64-bit call gate is
greater than the CPL.
If the code segment descriptor pointed to by the selector in the
64-bit gate doesn't have the L-bit set and the D-bit clear.
If the segment descriptor for a segment selector from the 64-bit
call gate does not indicate it is a code segment.
#SS(0) If pushing the return offset or CS selector 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.
If the stack address is in a non-canonical form.
#SS(selector) If pushing the old values of SS selector, stack pointer, EFLAGS,
CS selector, offset, or error code onto the stack violates the
canonical boundary when a stack switch occurs.
#NP(selector) If a code segment or 64-bit call gate is not present.
#TS(selector) If the load of the new RSP exceeds the limit of the TSS.
#UD (64-bit mode only) If a far call is direct to an absolute address in
memory.
If the LOCK prefix is used.
#PF(fault-code) If a page fault occurs.
#AC(0) If alignment checking is enabled and an unaligned memory
reference is made while the current privilege level is 3.