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

时间:2018-02-07 03:08:47

标签: 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然后将Z增加1"?

其次,如果以上是真的,并且Z是伪寄存器,这意味着Z代表两个寄存器。我们如何将Z加载到r0?

1 个答案:

答案 0 :(得分:1)

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