По какой-то причине, когда я пытаюсь скомпилировать этот бит кода, компилятор говорит 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
и add r7, #70
, что обеспечивает желаемый эффект. Однако не уверен, что вызвало ошибку.