伪寄存器 Z 加载到单个寄存器中?

Pseudo-register Z load into a single register?

我无法理解以下代码

;assume code for start of cseg
;and stack setup
.equ MAXNUM = 4
    ldi ZL, 0
    ldi ZH, 0 
    ldi r20, MAXNUM
loop_generate:
    lpm r0, Z+
    eor r0, ZL
...

首先,Z+到底是什么意思?我 google 它并找到了 "load Z and then increase Z by 1"?

其次,如果上述成立,Z是一个伪寄存器,也就是说Z代表两个寄存器。我们如何将 Z 加载到 r0 中?

lpm r0, Z+ 将 Z 伪寄存器指向的程序存储器中的字节加载到 r0,然后将 Z 加 1。