装配说明

时间:2012-04-12 20:26:35

标签: assembly atmel

有人可以解释一下下面的汇编代码片段是做什么的吗? 我不确定最后一行真的是什么。

.def main = r16

.equ O = 5
.equ P = 6

ldi main, 0
ldi r16, (1<<O) | (1<<P)

我特别想知道最后一行真正做了什么。 在OR语句之后,它是否向左边的两个逻辑shif的值加载寄存器16?

非常感谢。

1 个答案:

答案 0 :(得分:1)

(1<<O) | (1<<P)是由汇编程序计算的表达式,其结果(在这种情况下,96)将在最终机器代码中被替换。