标签: assembly avr cpu-registers
我正在开发一个项目,该项目包括将程序集项目迁移到C代码中。我已经做了很多,但我遇到了一个我无法完全理解的指令。 就是这个:
ldi ZH, high(V_avgbuf)
其中V_avgbuf是一个容纳8 x 24位V样本的缓冲区。它定义如下:
V_avgbuf: .byte 24 ; 8 x 24-bit V samples
我的问题是,在执行指令后,这是ZH寄存器的内容? (ZH是8位寄存器)。
提前致谢,
亚历
答案 0 :(得分:1)
因为V_avgbuf的大小比ZH大,所以它必须分成两部分。高位取代地址的“上部”。
高是一个宏。
请参阅This以供参考。