Extensible Firmware Interface Specification
19-26 12/01/02 Version 1.10
EXTNDB
SYNTAX:
EXTNDB[32|64] {@}R
1
, {@}R
2
{Index16|Immed16}
DESCRIPTION:
Sign-extend a byte value and store the result to Operand 1. The byte can be signed extended to
32 bits (EXTNDB32) or 64 bits (EXTNDB64).
OPERATION:
Operand 1 <= (sign extended) Operand 2
Table 19-18 EXTNDB Instruction Encoding
BYTE DESCRIPTION
Bit Description
7 0 = Immediate/index absent
1 = Immediate/index present
6 0 = 32-bit operation
1 = 64-bit operation
0
0..5 Opcode = 0x1A
Bit Description
7 0 = Operand 2 direct
1 = Operand 2 indirect
4..6 Operand 2
3 0 = Operand 1 direct
1 = Operand 1 indirect
1
0..2 Operand 1
2..3 Optional 16-bit immediate data/index
BEHAVIORS AND RESTRICTIONS:
• If Operand 2 is indirect, then the immediate data is interpreted as an index, and the byte
Operand 2 value is fetched from memory as a signed value at address [R
2
+ Index16].
• If Operand 2 is direct, then the immediate data is considered a signed immediate value, is added
to the signed-extended byte from the Operand 2 register, and the byte result is sign extended to
32 or 64 bits.
• If the instruction is EXTNDB32 and Operand 1 is direct, then the 32-bit result is stored in the
Operand 1 register with the upper 32 bits cleared.