【发布时间】:2019-02-19 18:06:04
【问题描述】:
嘿,我是 AVR 系列汇编编程的新手,但熟悉 PIC 等 uC。我现在感到困惑的是一些示例代码的以下摘录。
.dseg
.org 0x0100
RegA: .byte 1
RegB: .byte 1
RegC: .byte 1
....
对于 PIC 系列,您可以在定义标签后立即指定标签寄存器的地址。但是在 AVR 系列中,使用这种语法我不确定RegC 的存储位置。我知道 ATMega328P 上的 SRAM 是 16 位宽,所以这意味着 RegA 和 RegB 存储在 0x0100?结果堆栈指针自动递增并将RegC存储在地址0x0101?
【问题讨论】:
-
第一行真的是
.desg而不是.dseg吗?你用什么工具链来编译这个? -
@DavidGrayson 抱歉,错字和 avr-gcc 工具链