0
次のコードは、マシンがループのasmとして生成したものです。 r6
が0x98548
の値を保持 bxne r6
を、:0x98564 <+228>: bne 0x98548
で条件付き分岐(BXNE!?)
0x98548 <+200>: sub.w r0, r7, #0xe
0x9854c <+204>: ldr r1, [sp, #0x8]
0x9854e <+206>: add r0, r1
0x98550 <+208>: str r0, [sp, #0x4]
0x98552 <+210>: ldr r0, [sp, #0x8]
0x98554 <+212>: adds r0, #0x1
0x98556 <+214>: str r0, [sp, #0x8]
0x98558 <+216>: ldr r0, [sp, #0x4]
0x9855a <+218>: sub.w r1, r7, #0x35
0x9855e <+222>: blx 0x9bfec ; symbol stub for: strcmp
0x98562 <+226>: cmp r0, #0x0
0x98564 <+228>: bne 0x98548
、それは以下のように、レジスタ内の場所に支店を持つこの行を置き換えることができるのですか?
試したときに何が起こりましたか?実際の問題は何ですか? –
@SamKuhmonenこれはarmv7で動作しますが、アームの親指では動作しません。 – RyanB
はい、親指モードでは 'BX'だけが利用でき、' BXNE'は親指モードでは利用できません。あなたはおそらくそれを行うために 'IT'を使うことができます。 –