The program and data addressing modes, Register direct, single register rd, Register direct, two registers rd and rr – Rainbow Electronics ATmega163L User Manual
Page 11: Atmega163(l)

ATmega163(L)
11
The lower 1120 Data Memory locations address the Register file, the I/O Memory, and the internal data SRAM. The first 96
locations address the Register File + I/O Memory, and the next 1024 locations address the internal data SRAM.
The five different addressing modes for the data memory cover: Direct, Indirect with Displacement, 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 1024 bytes of internal data SRAM in the ATmega163
are all accessible through all these addressing modes.
The Program and Data Addressing Modes
The ATmega163 AVR Enhanced 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 10. Direct Single Register Addressing
The operand is contained in register d (Rd).
Register Direct, Two Registers Rd And Rr
Figure 11. Direct Register Addressing, Two Registers
Operands are contained in register r (Rr) and d (Rd). The result is stored in register d (Rd).