Intel 64 and IA-32 Architectures Software Developers Manual Volume 2A, Instruction Set Reference, A-M
Vol. 2 3-501
INSTRUCTION SET REFERENCE, A-M
JMP—Jump
Description
Transfers program control to a different point in the instruction stream without
recording return information. The destination (target) operand specifies the address
of the instruction being jumped to. This operand can be an immediate value, a
general-purpose register, or a memory location.
This instruction can be used to execute four different types of jumps:
• Near jump—A jump to an instruction within the current code segment (the
segment currently pointed to by the CS register), sometimes referred to as an
intrasegment jump.
• Short jump—A near jump where the jump range is limited to –128 to +127 from
the current EIP value.
Opcode Instruction
64-Bit
Mode
Compat/
Leg Mode Description
EB cb JMP rel8 Valid Valid Jump short, RIP = RIP + 8-bit
displacement sign extended to 64-bits
E9 cw JMP rel16 N.S. Valid Jump near, relative, displacement relative
to next instruction. Not supported in 64-
bit mode.
E9 cd JMP rel32 Valid Valid Jump near, relative, RIP = RIP + 32-bit
displacement sign extended to 64-bits
FF /4 JMP r/m16 N.S. Valid Jump near, absolute indirect, address =
sign-extended r/m16. Not supported in
64-bit mode.
FF /4 JMP r/m32 N.S. Valid Jump near, absolute indirect, address =
sign-extended r/m32. Not supported in
64-bit mode.
FF /4 JMP r/m64 Valid N.E. Jump near, absolute indirect, RIP = 64-Bit
offset from register or memory
EA cd JMP
ptr16:16
Inv. Valid Jump far, absolute, address given in
operand
EA cp JMP
ptr16:32
Inv. Valid Jump far, absolute, address given in
operand
FF /5 JMP
m16:16
Valid Valid Jump far, absolute indirect, address given
in m16:16
FF /5 JMP
m16:32
Valid Valid Jump far, absolute indirect, address given
in m16:32.
REX.W +
FF /5
JMP
m16:64
Valid N.E. Jump far, absolute indirect, address given
in m16:64.