13
ATmega161(L)
1228B–09/01
The five different addressing modes for the data memory cover: Direct, Indirect with Dis-
placement, Indirect, Indirect with Pre-decrement and Indirect with Post-increment. In the
register file, registers R26 to R31 feature the indirect addressing pointer registers.
The direct addressing reaches the entire data space.
The Indirect with Displacement mode features a 63-address locations reach from the
base address given by the Y- or Z-register.
When using register indirect addressing modes with automatic pre-decrement and post-
increment, the address registers X, Y, and Z are decremented and incremented.
The 32 general purpose working registers, 64 I/O registers and the 1K byte of internal
data SRAM in the ATmega161 are all accessible through all these addressing modes.
See the next section for a detailed description of the different addressing modes.
Program and Data
Addressing Modes
The ATmega161 AVR
RISC microcontroller supports powerful and efficient addressing
modes for access to the program memory (Flash) and data memory (SRAM, register file
and I/O memory). This section describes the different addressing modes supported by
the AVR
architecture. In the figures, OP means the operation code part of the instruction
word. To simplify, not all figures show the exact location of the addressing bits.
Register Direct, Single
Register Rd
Figure 9.
Direct Single Register Addressing
The operand is contained in register d (Rd).
Register Direct, Two Registers
Rd and Rr
Figure 10.
Direct Register Addressing, Two Registers
REGISTER FILE
15
OP
d
d
31
0
4
0
0
d
r
31
REGISTER FILE
OP
r
d
15
9
5 4
0