在嵌入式汇编程序中,B和BL指令是很常见的,这两个的区别很简单,就是BL指令带返回,即在跳转到某个程序时,会自动的保存返回地址,所以一般在子程序的最后一条命令是mov pc,lr。
B和BL指令好用,但是需要注意他们的使用范围,他们的使用范围是正负32M,对于嵌入式系统,现在程序和内存,都远不止32M,如果想要访问超过32M外的程序怎么办呢,可以使用LDR命令,如下所示:
LDR PC,=XXXX           //这里XXXX就代表对应的子程序或函数。

当然,解决问题的方式不止这一种,在这里仅仅是提出一种方式。

B,BL指令的使用范围相关推荐

  1. arm B和BL指令浅析

    B或BL指令引起处理器转移到"子程序名"处开始执行.两者的不同之处在于BL指令在转移到子 程序执行之前,将其下一条指令的地址拷贝到R14(LR,链接寄存器).由于BL指令保存了下条 ...

  2. ARM编程中B指令与BL指令的区别

    ARM汇编程序中B指令和BL指令都是会跳转到某个标号处运行,类似于C语言中的goto 命令,例如利用B指令实现一个循环(每次对r0 寄存器中的值加1): .textmov r0, #1 //将r0寄存 ...

  3. arm32和arm64常用指令B BL BLX机器码计算

    现在大部分手机cpu架构是ARM v7-A和ARMV8-A,,在ARM-v7A中常使用32位ARM指令集并且支持thumb指令集与arm的切换,而在ARMV8中使用的是64位ARM指令集且不再有thu ...

  4. 汇编跳转指令B、BL、BX、BLX 和 BXJ的区别

    已针对原链接错误翻译并更正                                                    跳转指令用于实现程序流程的跳转,在 ARM 程序中有两种方法可以实现程 ...

  5. arm push/pop/b/bl汇编指令

    目录 1. push指令 2. pop指令 3. b指令 4. bl指令 5. bx指令 1. push指令 功能描述:入栈 armv7 芯片手册: Push Multiple Registers s ...

  6. 04-安全攻防之bl和ret指令

    bl指令 bl指令也成为跳转指令,执行这个指令之前会做两个操作: 将下一条指令的地址放入lr(x30)寄存器 转到标号处执行指令 ret指令 默认使用lr(x30)寄存器的值,通过底层指令提示CPU此 ...

  7. ARM汇编指令(B/BL/BX)

    跳转指令用于实现程序流程的跳转,在 ARM 程序中有两种方法可以实现程序流程的跳转: (1) 使用专门的跳转指令. (2) 直接向程序计数器 PC 写入跳转地址值. 通过向程序计数器 PC 写入跳转地 ...

  8. STM32--汇编语言:子程呼叫与无条件跳转指令B、BL、BX和BLX

    1.B:无条件转移 B指令是最简单的跳转指令.一旦遇到一个B指令,ARM处理器将立即跳转到给定的目标地址,从那里继续执行.注意,存储在跳转指令中的实际值是相对当前PC值的一个偏移量,而不是绝对地址,它 ...

  9. 【ARM学习笔记】ARM汇编指令:B、BL、BX、BLX的区别

    文章目录 1 ARM的跳转指令介绍 2 ARM的4个跳转指令 2.1 B 指令 2.2 BL 指令 2.3 BLX 指令 2.4 BX 指令 3 更多分享 1 ARM的跳转指令介绍 跳转指令用于实现程 ...

最新文章

  1. 宜出行热力图怎么抓取_滴滴听不到单怎么办?七个小技巧
  2. Linux汇编语法开发
  3. python3.7官网中文官网_Python官网宣布,正式发布Python 3.7.0!
  4. python源码剖析_Python源码剖析 - 对象初探
  5. C语言-freopen函数输入简单使用举例
  6. ActionScript3.0中获取变量类型的方法
  7. 2015百度之星资格赛.1004放盘子(数学推导)
  8. 显示器突然黑屏怎么办
  9. 计算机英语听力速记...,2019计算机考研英语听力速记技巧才是王道
  10. 安装esxi时候的No Network Adapters报错 解决办法
  11. 完整的支付系统整体架构
  12. inverted dropout(反向随机失活)正则化
  13. 安全框架-SpringSecurity
  14. 修复共享服务器,集群服务器共享磁盘柜的修复案例
  15. 淘宝天猫、1688、京东、拼多多原数据api接口
  16. 最新版一键生成小程序系统 前段源码 小程序开发者必备
  17. 前端框架系列之(eslint入门)
  18. Opencv-摄像头图像处理
  19. 全球最流行的手机型号、屏幕尺寸及分辨率
  20. 计算机械效率的公式怎么读,机械效率

热门文章

  1. ActiveMQ详解
  2. Apache Airflow系列文章
  3. FPGA always 和assign 用法
  4. dg怎么了(最近dg怎么了)
  5. 关于C++的数据模型:LP32、ILP32、LLP64、LP64
  6. Android课程设计倒计时app,999倒计时计时器课程设计.docx
  7. Java语言程序设计与数据结构(进阶篇)梁勇课后题ex——19
  8. Win10如何用cmd或者Powershell批量安装字体
  9. css动画和js动画_CSS与JS动画:哪个更快?
  10. Tableau图表 | 6、气泡图/树状图/文字云