您好,这段代码是什么:$ 02表示汇编语言

时间:2014-10-21 18:48:01

标签: assembly atmel

您好我无法理解代码。它是以下内容:

ldi R17, $02
out PORTD, R17

我不知道$02是什么意思。你能帮我么?提前谢谢

1 个答案:

答案 0 :(得分:1)

LDI操作码是Load Immediate,它将数字2放入寄存器R17。然后,以下行将该值从R17复制到寄存器PORTD(该寄存器的实际地址取决于您运行的确切Atmel芯片是在头文件中定义的)。这两行将从一行C代码生成,如PORTD = 2;

它需要两行的原因是因为端口寄存器在内存空间中较高,并且立即值无法直接加载到它们中。因此,首先将值加载到寄存器中,然后复制到所需的最终位置。