`
mmdev
  • 浏览: 13305097 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

ARM汇编,bx lr,

 
阅读更多

转自:http://hi.baidu.com/wuqi19881003/item/f293c7a7e228e613a8cfb756

bx lr

的作用等同于

mov pc,lr

即跳转到lr中存放的地址处。

那么lr存放的是什么地址呢?

lr就是连接寄存器(Link Register, LR),在ARM体系结构中LR的特殊用途有两种:一是用来保存子程序返回地址二是当异常发生时,LR中保存的值等于异常发生时PC的值减4(或者减2),因此在各种异常模式下可以根据LR的值返回到异常发生前的相应位置继续执行  

当通过BL或BLX指令调用子程序时,硬件自动将子程序返回地址保存在R14寄存器中。在子程序返回时,把LR的值复制到程序计数器PC即可实现子程序返回。

如,可以使用MOV PC, LR或者BX LR来完成子程序返回另外,也可以在在子程序入口处使用下面的指令将LR保存到栈中

分享到:
评论

相关推荐

    ARM汇编语言官方手册(中文)pdf_逆向分析_手机app逆向arm参考资料_arm汇编语言pdf_ARM汇编官方_ARM汇编_

    《ARM汇编语言官方手册(中文)》是深入理解并掌握ARM架构下汇编语言编程的重要参考资料,尤其对于从事逆向分析和手机app逆向工程的人员来说,它更是不可或缺的工具书。ARM架构广泛应用于各种移动设备和嵌入式系统,...

    arm汇编手册(中文版)

    《ARM汇编手册》是学习和理解ARM架构处理器指令集的重要参考资料。ARM汇编语言是针对ARM处理器设计的一种低级编程语言,它直接对应于硬件的指令集,用于编写高效、底层的程序,常见于系统启动代码、驱动程序以及对...

    很全的ARM汇编指令查询手册CHM.zip

    ARM汇编语言是一种低级编程语言,用于编写在基于ARM架构处理器上的程序。ARM(Advanced RISC Machines)架构是世界上最广泛使用的微处理器架构之一,应用于从嵌入式系统到高性能服务器的各种设备。"很全的ARM汇编...

    GNU ARM 汇编程序设计快速入门

    在ARM汇编中,`BL`指令用于子程序调用,它将下一条指令的地址保存到LR中,然后跳转到指定地址执行。子程序结束后,通常用`BX`或`LDR PC, [LR]`返回。 **8. 内存访问** 加载和存储指令用于访问内存,如`LDR R0, [R1]...

    arm汇编指令chm

    ARM汇编指令是嵌入式系统开发中的基础知识,尤其在低功耗、高性能的设备设计中,理解并熟练掌握ARM汇编语言至关重要。ARM架构以其高效能和广泛的应用范围,成为了移动设备、物联网设备和服务器领域的主流选择。下面...

    ARM汇编语言与嵌入式C语言混合编程

    ### ARM汇编语言与嵌入式C语言混合编程 #### 概述 在嵌入式系统开发中,经常需要结合使用ARM汇编语言与嵌入式C语言进行混合编程。这是因为尽管C语言提供了较好的可读性和灵活性,但在某些特定场景下(例如精确控制...

    arm.rar_ARM 汇编_ARM 汇编语言

    ARM汇编语言是嵌入式系统和移动设备领域中广泛使用的编程语言,它与处理器架构紧密相关,尤其在智能手机和平板电脑的CPU设计中占据主导地位。ARM(Advanced RISC Machines)架构以其低功耗、高性能的特点而闻名,...

    arm_instruction_set.zip_ARM 汇编_ARM内核_arm_汇编 pdf

    ARM 汇编语言是 ARM(Advanced RISC Machines)架构处理器使用的一种低级编程语言,它直接对应于硬件指令集,对于理解 ARM 内核的工作原理以及进行底层系统开发至关重要。ARM 指令集是 ARM 架构的核心,包含了各种...

    ARM汇编指令集

    ### ARM汇编指令集 #### 一、跳转指令 在ARM架构的汇编语言编程中,跳转指令是控制程序流程的关键元素之一。通过这些指令,程序员能够实现分支、循环和其他非线性代码执行路径。 ##### 1. 使用专用跳转指令 - **...

    ARM汇编指令的一些总结

    ARM汇编语言是嵌入式开发中不可或缺的一部分,尤其在微控制器和低功耗设备中广泛应用。虽然ARM汇编指令众多,但实际开发中常用的并不多。以下是对ARM汇编指令的一些核心知识点的详解: 1. **MOV指令**: MOV指令...

    ARM汇编语言教程及指令集

    ### ARM汇编语言教程及指令集 #### ARM简介 ARM(Advanced RISC Machines)是一家知名的微处理器设计公司,以其高性能、低成本和低功耗的RISC(Reduced Instruction Set Computing,精简指令集计算)处理器而闻名...

    ARM汇编指令集.pdf

    ARM汇编指令集是嵌入式系统开发中一种重要的基础技能,它用于编写高效的底层程序,直接影响到嵌入式设备的运行效率和性能。以下是根据提供的文件内容,对ARM汇编指令集中的两个主要知识点——跳转指令和数据处理指令...

    GNU ARM汇编伪指令

    GNU ARM汇编伪指令是针对ARM架构的一种特定汇编语法,由GNU Assembler(Gas)支持,用于简化和扩展汇编程序的编写。ARM架构广泛应用于嵌入式系统、移动设备以及服务器等领域。 1. **GNU Assembler (Gas)** GNU ...

    ARM汇编指令(中文版)

    ARM汇编指令是嵌入式系统开发中的基础知识,尤其对于ARM架构的处理器,掌握汇编语言能够帮助开发者更深入地理解和优化程序。ARM汇编指令集是为ARM处理器设计的一套低级编程语言,它提供了直接操作硬件的能力,是理解...

    第 9讲ARM汇编程序设计2

    BX LR ; 主程序 MAIN: MOV R0, #19 MOV R1, #20 BL MAX MOV R2, R0 ; 将最大值存储在R2中 ``` ### 编程规范与混合编程 除了以上四种基本的程序设计方式外,课程还介绍了编程规范的重要性以及如何进行汇编...

    ARM汇编PPT课件

    【ARM汇编PPT课件】是华东师范大学软件学院提供的一份教学资源,主要涵盖了ARM架构下汇编语言的基础知识和应用。ARM架构是目前广泛应用于移动设备和嵌入式系统的处理器架构,其高效的指令集和简洁的汇编语言使得程序...

    ARM汇编程序设计(基本)

    在ARM汇编中,我们可能会看到`BX LR`这样的指令用于返回到调用者,或者`STMFD`和`LDMFD`用于保存和恢复堆栈帧。 **混合编程**是指在同一个程序中结合使用汇编和高级语言如C/C++。这允许开发者利用C/C++的易读性和...

    arm官方汇编的教程

    4. **子程序调用和返回**:在ARM汇编中,可以使用`BL`指令来调用子程序,并自动保存返回地址到链接寄存器LR中。当子程序结束时,使用`BX LR`指令返回到调用者。 5. **异常处理**:ARM处理器支持多种类型的异常,...

    ARM 汇编指令 学习

    ARM汇编指令是嵌入式开发中不可或缺的一部分,特别是在编写操作系统和底层软件时。ARM架构与传统的PC平台上的汇编语言有所不同,但基本的编程思维是相似的,主要差异在于关键字和伪指令。 ARM汇编指令的核心包括...

Global site tag (gtag.js) - Google Analytics