如何写入寄存器中包含的内存地址?

时间:2015-10-01 21:45:27

标签: assembly avr

我参加了我的第一次集会课程,而且我对如何写入连续的内存位置有点不确定。

编辑: 我查看了AVR汇编程序说明并提出了以下内容:

.cseg   ; current segment is code
.org 0  ; begin assembling at memory address 0

    clr r27
    ldi r26, $60
    ldi r16, 0x00   ; set initial loop counter to 0

lp:                     ; on each iteration
        st X+, r16      ; load current number from 0x00-0x0F into memory (increment X)
        inc r16         ; increment r16
        cpi r16, 0x10   ; compare current value of r16 to max value
        breq done       ; done if max value reached
        rjmp lp         ; otherwise loop again

done: jmp done

我是否正确使用X?

1 个答案:

答案 0 :(得分:0)

您需要执行间接操作,但这些操作只能从X,Y和Z执行。您需要使用其中一个并执行后增量存储,增加包含值的寄存器,比较,和循环。