A SERVICE OF

logo

Vol. 2A 3-511
INSTRUCTION SET REFERENCE, A-M
JMP—Jump
and save the previous task link information, allowing a return to the calling task with
an IRET instruction.
In 64-Bit Mode — The instruction’s operation size is fixed at 64 bits. If a selector
points to a gate, then RIP equals the 64-bit displacement taken from gate; else RIP
equals the zero-extended offset from the far pointer referenced in the instruction.
See the summary chart at the beginning of this section for encoding data and limits.
Operation
IF near jump
IF 64-bit Mode
THEN
IF near relative jump
THEN
tempRIP RIP + DEST; (* RIP is instruction following JMP instruction*)
ELSE (* Near absolute jump *)
tempRIP DEST;
FI:
ELSE
IF near relative jump
THEN
tempEIP EIP + DEST; (* EIP is instruction following JMP instruction*)
ELSE (* Near absolute jump *)
tempEIP DEST;
FI:
FI;
IF (IA32_EFER.LMA
= 0 or target mode = Compatibility mode)
and tempEIP outside code segment limit
THEN #GP(0); FI
IF 64-bit mode and tempRIP is not canonical
THEN #GP(0);
FI;
IF OperandSize
= 32
THEN
EIP tempEIP;
ELSE
IF OperandSize
= 16
THEN (* OperandSize
= 16 *)
EIP tempEIP AND 0000FFFFH;
ELSE (* OperandSize
= 64)
RIP tempRIP;
FI;
FI;