《逆向工程权威指南》—第2章2.2节ARM

    xiaoxiao2024-02-02  157

    本节书摘来自异步社区《逆向工程权威指南》一书中的第2章2.2节ARM,作者【乌克兰】Dennis Yurichev(丹尼斯),更多章节内容可以访问云栖社区“异步社区”公众号查看。

    2.2 ARMARM模式是什么情况?

    指令清单2.3 Optimizing Keil 6/2013 (ARM模式)

    f PROC MOV r0,#0x7b ; 123 BX lr ENDP

    ARM程序使用R0寄存器传递函数返回值,所以指令把数值123赋值给R0。

    ARM程序使用LR寄存器(Link Register)存储函数结束之后的返回地址(RA/ Return Address)。x86程序使用“栈”结构存储上述返回地址。可见,BX LR指令的作用是跳转到返回地址,即返回到调用者函数,然后继续执行调用体caller的后续指令。

    如您所见,x86和ARM指令集的MOV指令确实和对应单词“move”没有什么瓜葛。它的作用是复制(copy),而非移动(move)。

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)