【问题标题】:Hello what does this code: $02 mean in assembly language你好这个代码是什么意思:$02 在汇编语言中是什么意思
【发布时间】:2014-10-21 18:48:00
【问题描述】:

您好,我在理解代码时遇到问题。如下:

ldi R17, $02
out PORTD, R17

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

【问题讨论】:

  • $02 是十六进制数 2

标签: assembly atmel


【解决方案1】:

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

之所以需要两行是因为端口寄存器的内存空间较高,不能直接将立即值加载到其中。因此,该值首先加载到寄存器中,然后复制到所需的最终位置。

【讨论】:

  • 非常感谢您的回答!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多