Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 如何修改AVR中的.byte变量_Assembly_Avr - Fatal编程技术网

Assembly 如何修改AVR中的.byte变量

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的变量(
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