如何在ARM汇编中使用bitshift在寄存器之间进行复制?

时间:2015-11-20 06:36:04

标签: assembly arm

我无法在同一时间找出正确的bitshift和ldr语法......这就是我一直在尝试的,

ldr r4, r1, lsr #1

我想将r1除以2并以快速运动的方式将其存储在r4中。然而,gcc说垃圾跟着指示。

1 个答案:

答案 0 :(得分:2)

mov是用于将一个寄存器移动到另一个寄存器的适当指令,而不是ldr

ARM模式下的语法是:

mov r4, r1, lsr#1

在Thumb模式下你可以这样做(如果你正在使用unified syntax,也可以在ARM模式下工作):

lsr r4, r1, #1