Computer Hardware User's Manual

3-508 Vol. 2A JMP—Jump
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.
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.