9.5.2.2 Register Names

The AVR has 32 x 8-bit general purpose working registers ‘r0’, ‘r1’, ... ‘r31’ (‘r16’, ... ‘r31’ on the Reduced Core). Six of these registers can be used as three 16-bit address registers for data addressing. One of the these address registers can also be used as an address pointer for lookup tables in Flash memory. These added function registers are the 16-bit ‘X’, ‘Y’ and ‘Z’ registers.

X = r26:r27
Y = r28:r29
Z = r30:r31