Movrel, Movrel syntax, Description – Intel Extensible Firmware Interface User Manual
Page 817: Operation, Behaviors and restrictions

EFI Byte Code Virtual Machine
Version 1.10
12/01/02
19-43
MOVREL
SYNTAX:
MOVREL[w|d|q] {@}R
1
{Index16}, Immed16|32|64
DESCRIPTION:
This instruction fetches data at an IP-relative immediate offset (Operand 2) and stores the result to
Operand 1. The offset is a signed offset relative to the following instruction. The fetched data is
unsigned and may be 16 (w), 32 (d), or 64 (q) bits in size.
OPERATION:
Operand 1 <= [IP + SizeOfThisInstruction + Immed]
Table 19-30. MOVREL Instruction Encoding
BYTE DESCRIPTION
Bit Description
6..7
0 = Reserved
1 = Immediate data is 16 bits (w)
2 = Immediate data is 32 bits (d)
3 = Immediate data is 64 bits (q)
0
0..5
Opcode = 0x39
Bit Description
7
Reserved = 0
6
0 = Operand 1 index absent
1 = Operand 1 index present
4..5
Reserved = 0
3
0 = Operand 1 direct
1 = Operand 1 indirect
1
0..2 Operand
1
2..3
Optional 16-bit Operand 1 index
2..3/4..5
16-bit immediate offset
2..5/4..7
32-bit immediate offset
2..9/4..11 64-bit immediate offset
BEHAVIORS AND RESTRICTIONS:
• If an Operand 1 index is specified and Operand 1 is direct, then an instruction encoding
exception is generated.