Intel 253666-024US User Manual

Page 557

Advertising
background image

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;

Advertising