beautypg.com

Sram data memory, Atmega16(l) – Rainbow Electronics ATmega64L User Manual

Page 14

background image

14

ATmega16(L)

2466B–09/01

SRAM Data Memory

Figure 9 shows how the ATmega16 SRAM Memory is organized.

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 and 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 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 reaches 63 address locations 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 or incremented.

The 32 general purpose working registers, 64 I/O registers, and the 1024 bytes of inter-
nal data SRAM in the ATmega16 are all accessible through all these addressing modes.
The Register file is described in “General Purpose Register File” on page 8.

Figure 9. Data Memory Map

Register File

R0
R1

R2

R29
R30

R31

I/O Registers

$00
$01
$02

...

$3D
$3E

$3F

...

$0000
$0001

$0002

$001D
$001E

$001F

$0020
$0021
$0022

...

$005D
$005E

$005F

...

Data Address Space

$0060
$0061

$045E
$045F

...

Internal SRAM