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.