如何在 ARM 汇编中使用位移位在寄存器之间进行复制?
How to copy between registers with a bitshift in ARM assembly?
我无法同时找到 bitshift 和 ldr 的正确语法...这就是我一直在尝试的方法,
ldr r4, r1, lsr #1
我想将 r1 除以二,并在一个 swift 动作中将其存储在 r4 中。然而 gcc 正在按照指令说垃圾。
mov
是用于将一个寄存器移动到另一个寄存器的适当指令,而不是 ldr
.
ARM 模式下的语法为:
mov r4, r1, lsr#1
在 Thumb 模式下你可以这样做(如果你使用 unified syntax 也可以在 ARM 模式下工作):
lsr r4, r1, #1
我无法同时找到 bitshift 和 ldr 的正确语法...这就是我一直在尝试的方法,
ldr r4, r1, lsr #1
我想将 r1 除以二,并在一个 swift 动作中将其存储在 r4 中。然而 gcc 正在按照指令说垃圾。
mov
是用于将一个寄存器移动到另一个寄存器的适当指令,而不是 ldr
.
ARM 模式下的语法为:
mov r4, r1, lsr#1
在 Thumb 模式下你可以这样做(如果你使用 unified syntax 也可以在 ARM 模式下工作):
lsr r4, r1, #1