我知道在 arm 组件中我们可以使用 shifter 操作数,如下所示:
mov r0, r1, lsl #2
我使用gcc来编译,因此我必须调整语法。
我已经尝试过这个:
mov w0, w1, lsl 2
它不起作用:
unexpected characters following instruction at operand 2
。对我来说,它说它无法处理第三个操作数。
有没有其他语法可以在 gnu 中完成相同的工作?
mov r0, r1, lsl #2
在 gnu as 中对我来说工作得很好。
我有
GNU assembler (2.35.2-2+14+b2) 2.35.2
可能您没有在文件中指定正确的命令行标志或选项。
尝试在文件顶部添加类似以下内容:
.syntax unified
.cpu cortex-m4