EFI Byte Code Virtual Machine
Version 1.10 12/01/02 19-37
MOVI
SYNTAX:
MOVI[b|w|d|q][w|d|q] {@}R
1
{Index16}, Immed16|32|64
DESCRIPTION:
This instruction moves a signed immediate value to Operand 1. In the instruction syntax, the first
variable character specifies the width of the move, which may be 8 bits (b), 16 bits (w), 32-bits (d),
or 64 bits (q). The second variable character specifies the width of the immediate data, which may
be 16 bits (w), 32 bits (d), or 64 bits (q).
OPERATION:
Operand 1 <= Operand 2
Table 19-27. MOVI 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 = 0x37
Bit Description
7 Reserved = 0
6 0 = Operand 1 index absent
1 = Operand 1 index present
4..5 0 = 8 bit (b) move
1 = 16 bit (w) move
2 = 32 bit (d) move
3 = 64 bit (q) move
1
3 0 = Operand 1 direct
1 = Operand 1 indirect
0..2 Operand 1
2..3 Optional 16-bit index
2..3/4..5 16-bit immediate data
2..5/4..7 32-bit immediate data
2..9/4..11 64-bit immediate data