出于某种原因,当我尝试编译这段代码时,编译器会说syscall.s:72:invalid constant (0x172) after fixup
:
.globl _mach_msg_trap$MACH
_mach_msg_trap$MACH:
stmfd sp!, {r4,r7}
mov r7, #370 /* this is line 72 */
svc 0
ldmfd sp!, {r4, r7}
bx lr
我不知道它为什么这样做。当我将一个较小的常数放入r7
时,它可以正常工作。但是随着数字的增加,它会吐出这个错误。我通过mov r7, #300
and临时修复了它add r7, #70
,达到了预期的效果。仍然不确定是什么导致了错误。