Extensible Firmware Interface Specification
19-54 12/01/02 Version 1.10
PUSHn
SYNTAX:
PUSHn {@}R
1
{Index16|Immed16}
DESCRIPTION:
Adjust the stack pointer R0, and store a natural value on the stack.
OPERATION:
R0 <= R0 - sizeof (VOID *)
[R0] <= Operand 1
Table 19-40. PUSHn Instruction Encoding
BYTE DESCRIPTION
Bit Description
7 0 = Immediate/index absent
1 = Immediate/index present
6 Reserved = 0
0
0..5 Opcode = 0x35
Bit Description
7..4 Reserved = 0
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 1 is direct, and an index/immediate data is specified, then the immediate data is
fetched as a signed value and is added to the Operand 1 register contents such that Operand 1 =
R
1
+ Immed16.
• If Operand 1 is indirect, and an index/immediate data is specified, then the immediate data is
interpreted as a natural index and the Operand 1 value pushed is fetched from [R
1
+ Index16].