Я понятия не имею, почему следующий код вызывает ошибку BAD_INSTRUCTION
, кто-нибудь?
mov r4, r0
movw r0, #0xc70 ; injected code start here
movt r0, #0x8bb3
movw r3, #0x576
ldr r1, [r7]
movs r5, #0x1a
add r5, pc ; next instruction will jump over 9 instructions
bx r5 ; injected code end here
ldr r1, [r0]
ldr r0, [r2]
blx 0x26e11c
movw r1, #0x6442
movt r1, #0x18
add r1, pc
ldr r1, [r1]
blx 0x26e11c
mov r3, r1
movw r1, #0x66a4 ; r1 has not been loaded
movt r1, #0x15 ; with new value. Why?
mov r2, r0
add r1, pc ; This instruction isn't getting called
mov r0, r4 ; EXC_BAD_INSTRUCTION here
blx __sprintf
bx r5
у меня все нормально. Но следующие 2 movw и movt ничего не установили в r1, и после этого процесс сталEXC_BAD_INSTRUCTION
. - person RyanB   schedule 08.07.20160x1a
? Если бы вы отклонились на +/- 1 байт, я мог бы увидеть, как отладчик запутался в том, где вы находитесь в коде (поэтому он выглядит так, как будто вы трассируете код, который вы ожидаете), но поскольку вы бы Не выполняйте инструкции, которые, по вашему мнению, вы выполняете... Просто мысль. - person David Wohlferd   schedule 08.07.2016