Assembly 伪寄存器Z是否加载到单个寄存器?
我很难理解下面的代码Assembly 伪寄存器Z是否加载到单个寄存器?,assembly,avr,Assembly,Avr,我很难理解下面的代码 ;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,然后将Z增加1” 第二,如果上述是真的,Z是一个伪寄存器,这意味着Z代表两个寄存器。如何将Z加载到
;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,然后将Z增加1”
第二,如果上述是真的,Z是一个伪寄存器,这意味着Z代表两个寄存器。如何将Z加载到r0中?
eor r0,ZL
工作,因为ZL
是Z
的较低部分,正好是1字节。@DavidGrayson它的程序内存/闪存。来自RAM的负载通过常规的ld
,例如ld r1,Z+