尝试cmp r0, #350并说 350 不能以 Operand2 格式表示。我假设它是因为 350 大于 8 位。怎么和350比较??
您需要事先将常量加载到寄存器中,然后比较寄存器。
尝试类似的东西
ldr r1, =350
cmp r0, r1
Run Code Online (Sandbox Code Playgroud)
这个的反汇编看起来像这样
0: e51f1000 ldr r1, [pc, #-0] ; 8 <.text+0x8>
4: e1500001 cmp r0, r1
8: 0000015e .word 0x0000015e
Run Code Online (Sandbox Code Playgroud)
它将常量存储在符号的末尾,并使用与 pc 相关的访问将其加载到寄存器中。