Datasheet

Table Of Contents
Figure 10-3. The X-, Y- and Z-Registers
15
XH
XL
0
X-re giste r
7
0
7
0
R27 (0x1B)
R26 (0x1A)
15
YH
YL
0
Y-re giste r
7
0
7
0
R29 (0x1D)
R28 (0x1C)
15
ZH
ZL
0
Z-regis te r
7
0
7
0
R31 (0x1F)
R30 (0x1E)
In the different addressing modes these address registers have functions as fixed displacement,
automatic increment, and automatic decrement (see the Instruction Set Reference for details).
10.5. Stack Pointer
The Stack is mainly used for storing temporary data, for storing local variables and for storing return
addresses after interrupts and subroutine calls. Note that the Stack is implemented as growing from
higher to lower memory locations. The Stack Pointer Register always points to the top of the Stack. The
Stack Pointer points to the data SRAM Stack area where the Subroutine and Interrupt Stacks are located.
A Stack PUSH command will decrease the Stack Pointer.
The Stack in the data SRAM must be defined by the program before any subroutine calls are executed or
interrupts are enabled. Initial Stack Pointer value equals the last address of the internal SRAM and the
Stack Pointer must be set to point above start of the SRAM, refer to figure Data Memory Map in SRAM
Data Memory.
The following table contains Stack Pointer details.
Table 10-1. Stack Pointer instructions
Instruction Stack pointer Description
PUSH Decremented by 1 Data is pushed onto the stack
CALL
ICALL
RCALL
Decremented by 2 Return address is pushed onto the stack with a subroutine
call or interrupt
POP Incremented by 1 Data is popped from the stack
RET
RETI
Incremented by 2 Return address is popped from the stack with return from
subroutine or return from interrupt
The AVR Stack Pointer is implemented as two 8-bit registers in the I/O space. The number of bits actually
used is implementation dependent. Note that the data space in some implementations of the AVR
architecture is so small that only SPL is needed. In this case, the SPH Register will not be present.
Atmel ATmega32A [DATASHEET]
Atmel-8155I-ATmega32A_Datasheet_Complete-08/2016
25