285
2467S–AVR–07/09
ATmega128
Notes:
1. The Z-register is only 16 bits wide. Bit 16 is located in the RAMPZ register in the I/O map.
2. Z0: should be zero for all SPM commands, byte select for the (E)LPM instruction.
3. See
“Addressing the Flash During Self-Programming” on page 278
for details about the use of
Z-pointer during self-programming.
Table 114.
Explanation of Different Variables Used in
Pointer
Variable
Corresponding
Z-value
Description
PCMSB
15
Most significant bit in the program counter. (The
program counter is 16 bits PC[15:0])
PAGEMSB
6
Most significant bit which is used to address the
words within one page (128 words in a page
requires 7 bits PC [6:0]).
ZPCMSB
Bit in Z-register that is mapped to PCMSB.
Because Z0 is not used, the ZPCMSB equals
PCMSB + 1.
ZPAGEMSB
Z7
Bit in Z-register that is mapped to PAGEMSB.
Because Z0 is not used, the ZPAGEMSB
equals P 1.
PCPAGE
PC[15:7]
Z16
:Z8
Program counter page address: Page select, for
page erase and page write
PCWORD
PC[6:0]
Z7:Z1
Program counter word address: Word select, for
filling temporary buffer (must be zero during
page write operation)