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 Figure 134 and the Mapping to the Z-
Pointer
(3)
Variable
Corresponding
Z-value Description
(2)
PCMSB
15 Most significant bit in the program counter. (The
program counter is 16 bits PC[15:0])
PAG EM SB
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
Z16
(1)
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 PAGEMSB + 1.
PCPAGE
PC[15:7] Z16
(1)
: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)