Table 147. Explanation of different variables used in Figure 138 and the mapping to the
Z-pointer, ATmega2560/2561
Corresponding
Variable
Z-value(2)
Description(1)
PCMSB
16
6
Most significant bit in the Program Counter.
(The Program Counter is 17 bits PC[16:0])
PAGEMSB
ZPCMSB
Most significant bit which is used to address the
words within one page (128 words in a page
requires seven bits PC [6:0]).
Z17:Z16(3)
Z7
Bit in Z-pointer that is mapped to PCMSB.
Because Z0 is not used, the ZPCMSB equals
PCMSB + 1.
ZPAGEMSB
Bit in Z-pointer that is mapped to PCMSB.
Because Z0 is not used, the ZPAGEMSB
equals PAGEMSB + 1.
PCPAGE
PC[16:7]
PC[6:0]
Z17(3):Z8
Z7:Z1
Program Counter page address: Page select,
for Page Erase and Page Write
PCWORD
Program Counter word address: Word select,
for filling temporary buffer (must be zero during
Page Write operation)
Notes: 1. Z0: should be zero for all SPM commands, byte select for the (E)LPM instruction.
2. See “Addressing the Flash During Self-Programming” on page 322 for details about
the use of Z-pointer during Self-Programming.
3. The Z-register is only 16 bits wide. Bit 16 is located in the RAMPZ register in the I/O
map.
334
ATmega640/1280/1281/2560/2561
2549A–AVR–03/05