伪寄存器 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。
我无法理解以下代码
;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。