任何人都可以帮我解释一下这段代码。我不明白这些代码。特别是什么意思? 通过R2寄存器旋转R0 。我试图理解,但我没有得到它。
问题是:
运行以下代码段后提供R0,R1,R2内容。
这是我的代码:
MOV R0, #0x0000FF00
MOV R2, #0xFF
MOV R1, R0, ROR R2
BIC R0, R1, R0
ADD R0, R0, R2
结果将在这里。
R0=........,
R1=..........,
R2= ..........
手臂移位是如何工作的?
答案 0 :(得分:1)
这是一条带有灵活的第二个操作数的MOV
指令。 R0
向右x
位旋转,x
存储R2
。
例如,假设
r0 = 0x01
r2 = 0x02
r1 = 0x00
指示后MOV r1, r0, ROR R2
R1
将等于0x40000000,因为0x01正向旋转两位,其他寄存器将保持不变。