General Purpose
Register File
2502K–AVR–10/06
The Register File is optimized for the AVR Enhanced RISC instruction set. In order to
achieve the required performance and flexibility, the following input/output schemes are
supported by the Register File:
•
One 8-bit output operand and one 8-bit result input
•
Two 8-bit output operands and one 8-bit result input
•
Two 8-bit output operands and one 16-bit result input
•
One 16-bit output operand and one 16-bit result input
Figure 4 shows the structure of the 32 general purpose working registers in the CPU.
Figure 4. AVR CPU General Purpose Working Registers
General
Purpose
Working
Registers
Most of the instructions operating on the Register File have direct access to all registers,
and most of them are single cycle instructions.
As shown in Figure 4, each register is also assigned a data memory address, mapping
them directly into the first 32 locations of the user Data Space. Although not being phys-
ically implemented as SRAM locations, this memory organization provides great
flexibility in access of the registers, as the X-, Y-, and Z-pointer Registers can be set to
index any register in the file.
7
0
Addr.
R0
0x00
R1
0x01
R2
0x02
...
R13
0x0D
R14
0x0E
R15
0x0F
R16
0x10
R17
0x11
...
R26
0x1A
R27
0x1B
R28
0x1C
R29
0x1D
R30
0x1E
R31
0x1F
ATmega8535(L)
X-register Low Byte
X-register High Byte
Y-register Low Byte
Y-register High Byte
Z-register Low Byte
Z-register High Byte
11
Need help?
Do you have a question about the ATmega8535L and is the answer not in the manual?