English
Language : 

ATMEGA8U2_14 Datasheet, PDF (11/310 Pages) ATMEL Corporation – 125 Powerful Instructions – Most Single Clock Cycle Execution
ATmega8U2/16U2/32U2
Figure 6-3. The X-, Y-, and Z-registers
15
XH
XL
0
X-register
7
07
0
R27 (0x1B)
R26 (0x1A)
15
YH
YL
0
Y-register
7
07
0
R29 (0x1D)
R28 (0x1C)
Z-register
15
ZH
7
0
R31 (0x1F)
ZL
0
7
0
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).
6.6 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, see Figure
7-2 on page 18.
See Table 6-1 for Stack Pointer details.
Table 6-1.
Instruction
PUSH
CALL
ICALL
RCALL
POP
RET
RETI
Stack Pointer instructions
Stack pointer
Description
Decremented by 1 Data is pushed onto the stack
Return address is pushed onto the stack with a subroutine call or
Decremented by 2 interrupt
Incremented by 1
Incremented by 2
Data is popped from the stack
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 implementa-
tions of the AVR architecture is so small that only SPL is needed. In this case, the SPH Register
will not be present.
11
7799D–AVR–11/10