Недопустимая константа после исправления?

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

24
задан Kristina Brooks 21 April 2012 в 17:40
поделиться