为什么这个操作码在ARM上无法正常工作

时间:2013-09-13 04:44:45

标签: assembly arm

在ARM上编写操作码,我遇到了错误。

8054:       e92d1fff        push    {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip}

以上是objdump的反汇编结果; \xe9\x2d\x1f\xffpush {r0-r12}相同。

但在另一个程序中,此操作码无法正常工作,如:

1e75:       e9              .byte   0xe9<BR>
1e76:       1f2d            .short  0x1f2d<BR>
1e78:       Address 0x06001e78 is out of bounds.

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

反汇编程序正在为您提供地址和操作码值;当你想把它们组装回来时你应该剥掉它们:

push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip}

如果这不是问题,请粘贴您尝试汇总的完全文字。