Samsung S3C2440A Laptop User Manual


 
S3C2440A RISC MICROPROCESSOR THUMB INSTRUCTION SET
4-31
FORMAT 14: PUSH/POP REGISTERS
[7:0] Register List
[8] PC/LR Bit
0 = Do not store LR/Load PC
1 = Store LR/Load PC
[11] Load/Store Bit
0 = Store to memory
1 = Load from memory
15 0
1
14
10
01
13 12
11
Rlist
1 L 0
78
9
1R
Figure 4-15. Format 14
OPERATION
The instructions in this group allow registers 0-7 and optionally LR to be pushed onto the stack, and registers 0-7
and optionally PC to be popped off the stack. The THUMB assembler syntax is shown in Table 4-15.
NOTE
The stack is always assumed to be Full Descending.
Table 4-15. PUSH and POP Instructions
L B THUMB assembler ARM equivalent Description
0 0 PUSH { Rlist } STMDB R13!, { Rlist } Push the registers specified by Rlist onto
the stack. Update the stack pointer.
0 1 PUSH { Rlist, LR } STMDB R13!,
{ Rlist, R14 }
Push the Link Register and the registers
specified by Rlist (if any) onto the stack.
Update the stack pointer.
1 0 POP { Rlist } LDMIA R13!, { Rlist } Pop values off the stack into the registers
specified by Rlist. Update the stack
pointer.
1 1 POP { Rlist, PC } LDMIA R13!, {Rlist, R15} Pop values off the stack and load into the
registers specified by Rlist. Pop the PC
off the stack. Update the stack pointer.