Vol. 2A 3-87
INSTRUCTION SET REFERENCE, A-M
CALL—Call Procedure
CALL—Call Procedure
Description
Saves procedure linking information on the stack and branches to the called proce-
dure specified using the target operand. The target operand specifies the address of
Opcode Instruction 64-Bit
Mode
Compat/
Leg Mode
Description
E8 cw CALL rel16 N.S. Valid Call near, relative, displacement relative
to next instruction.
E8 cd CALL rel32 Valid Valid Call near, relative, displacement relative
to next instruction. 32-bit
displacement sign extended to 64-bits
in 64-bit mode.
FF /2 CALL r/m16 N.E. Valid Call near, absolute indirect, address
given in r/m16.
FF /2 CALL r/m32 N.E. Valid Call near, absolute indirect, address
given in r/m32.
FF /2 CALL r/m64 Valid N.E. Call near, absolute indirect, address
given in r/m64.
9A cd CALL
ptr16:16
Invalid Valid Call far, absolute, address given in
operand.
9A cp CALL
ptr16:32
Invalid Valid Call far, absolute, address given in
operand.
FF /3 CALL m16:16 Valid Valid Call far, absolute indirect address given
in m16:16.
In 32-bit mode: if selector points to a
gate, then RIP = 32-bit zero extended
displacement taken from gate; else RIP
= zero extended 16-bit offset from far
pointer referenced in the instruction.
FF /3 CALL m16:32 Valid Valid In 64-bit mode: If selector points to a
gate, then RIP = 64-bit displacement
taken from gate; else RIP = zero
extended 32-bit offset from far
pointer referenced in the instruction.
REX.W + FF /3 CALL m16:64 Valid N.E. In 64-bit mode: If selector points to a
gate, then RIP = 64-bit displacement
taken from gate; else RIP = 64-bit
offset from far pointer referenced in
the instruction.