Assembly 如何修改AVR中的.byte变量
在这个程序中,我需要一个名为globalSum的变量(Assembly 如何修改AVR中的.byte变量,assembly,avr,Assembly,Avr,在这个程序中,我需要一个名为globalSum的变量(globalSum:.byte 0for init)。我不知道如何将r24中的值添加到此变量。我应该只使用Z寄存器还是有方法添加到这样的变量?当您写入: globalSum: .byte 0 实际情况是,您只在程序内存中分配了0个字节,并为这0个字节设置了一个标签(globalSum) 如果您想要一个变量,它是这样的(在本机AVR程序集中): 现在,您可以使用一种名为globalSum的变量进行操作,例如,将其设置为0: LDI globa
globalSum:.byte 0
for init)。我不知道如何将r24
中的值添加到此变量。我应该只使用Z寄存器还是有方法添加到这样的变量?当您写入:
globalSum: .byte 0
实际情况是,您只在程序内存中分配了0个字节,并为这0个字节设置了一个标签(globalSum)
如果您想要一个变量,它是这样的(在本机AVR程序集中):
现在,您可以使用一种名为globalSum的变量进行操作,例如,将其设置为0:
LDI globalSum, 0
AVR是RISC加载存储机器,因此没有内存目标添加。您必须加载到寄存器中,计算并存储结果。如果您想要一个示例,请询问C编译器()@PeterCordes说了什么。阅读AVR零件的汇编语言参考。如果没有该指令,则必须按照建议使用多个指令。
LDI globalSum, 0