汇编指令B、BL、BX、BLX 和 BXJ的区别
B、BL、BX、BLX 和 BXJ
跳转、带链接跳转、跳转并切换指令集、带链接跳转并切换指令集、跳转并转换到 Jazelle 状态。
语法
op1{cond}{.W} <wbr />labelop2{cond} <wbr />Rm
其中:
op1
是下列项之一:
B
跳转。
BL
带链接跳转
BLX
带链接跳转并切换指令集。
op2
是下列项之一:
BX
跳转并切换指令集。
BLX
带链接跳转并切换指令集。
BXJ
跳转并转换为 Jazelle 执行。
cond
是一个可选的条件代码。 cond 不能用于此指令的所有形式。
.W
是一个可选的指令宽度说明符,用于强制要求在 Thumb-2 中使用 32 位 B 指令。
label
是一个程序相对的表达式。
Rm
是一个寄存器,包含要跳转到的目标地址。
操作
所有这些指令均会引发跳转,或跳转到 label,或跳转到包含在 Rm 中的地址处。 此外:
BL 和 BLX 指令可将下一个指令的地址复制到 lr(r14,链接寄存器)中。
BX 和 BLX 指令可将处理器的状态从 ARM 更改为 Thumb,或从 Thumb 更改为 ARM。
BLX label 无论何种情况,始终会更改处理器的状态。
BX Rm 和 BLX Rm 可从 Rm 的位 [0] 推算出目标状态:
如果 Rm 的位 [0] 为 0,则处理器的状态会更改为(或保持在)ARM 状态
如果 Rm 的位 [0] 为 1,则处理器的状态会更改为(或保持在)Thumb 状态。
BXJ 指令会将处理器的状态更改为 Jazelle
汇编指令B、BL、BX、BLX 和 BXJ的区别相关推荐
- ARM汇编指令(B/BL/BX)
跳转指令用于实现程序流程的跳转,在 ARM 程序中有两种方法可以实现程序流程的跳转: (1) 使用专门的跳转指令. (2) 直接向程序计数器 PC 写入跳转地址值. 通过向程序计数器 PC 写入跳转地 ...
- 汇编跳转指令B、BL、BX、BLX 和 BXJ的区别
已针对原链接错误翻译并更正 跳转指令用于实现程序流程的跳转,在 ARM 程序中有两种方法可以实现程 ...
- ARM base instruction -- b bl bx blx
'B{cond} <target_address> '分支指令 - 类似于goto {} 代表可有可无,<>代表缺少就报错,cond为指令执行的条件码,target_addr ...
- S5PV210体系结构与接口02:ARM编程模型 汇编指令
目录 1. ARM的基本设定 1.1 ARM数据类型 1.1.1 基本数据类型 1.1.2 浮点数据类型 1.1.3 存储器大小端 1.2 支持的指令集 2. Cortex-A8编程模型 2.1 处理 ...
- 常用的ARM汇编指令总结
第一次写博客,请各路大神多多关照. 本人从事软件开发相关的工作,平时主要用c语言撸代码,前段时间因工作需要,接触到了ARM架构下的汇编指令,之前学过51单片机的汇编指令,早已经还给老师了,且ARM汇编 ...
- FreeRTOS中汇编指令
汇编程序前要加PRESERVE8 require8和preserve8c和汇编有8位对齐的要求,这两个伪指令能够满意此要求 LDR和MOV LDR Rn, label1 LDR指令负责将label1所 ...
- 汇编指令的学习2——常用的ARM指令
一.常用ARM指令1:数据处理指令 (1)数据传输指令 mov mvn(源目标按位取反后赋给目标) (2)算术指令 add sub rsb adc sbc rsc (3)逻辑指令 and orr eo ...
- 操作符指令 - ARM汇编指令(二)
ARM包含6种重要的数据计算处理指令 数据处理指令格式与条件码 条件码 ARM汇编特点3:指令后缀 同一指令经常附带不同后缀,变成不同的指令.经常使用的后缀有: B(byte)功能不变,操作长度变为8 ...
- 01 ARM体系结构与汇编指令
注:本文章是由笔者学习朱有鹏arm的学习笔记,特此感谢朱老师. 关于汇编: 1.汇编的实质是机器指令(机器码)的 助记符,是一款CPU的本质特征. 2.不同CPU的机器指令集设计不同,因此 汇编程序不 ...
最新文章
- 以太坊第五年,未来该往哪走?
- 一次家庭作业意外搞定40年前的数学猜想,牛津小哥:我只研究了几个礼拜
- node的包管理工具:yarn和npm
- pyinstaller将python脚本转成exe可执行文件
- .net core 微服务下的手工签名实现,以及消除中文乱码
- java编译找不到符号 int age=in.nexint()_Java报错找不到符号,小白自学求大佬解决...
- js页面传值php页面,php实现跳转传值有什么方法,js页面跳转传值
- 如何测一个纸杯_阿薇塔罗——4个吊坠,凭直觉选一个,测你这辈子婚姻状况如何?...
- 基于 Flink SQL CDC的实时数据同步方案
- Java 金额转换 阿拉伯数字金额转换成汉字大写金额
- echart获取geoJson格式世界各国地图的资源,世界地图,世界各国分区显示,精确到乡镇一级资源
- 蓝桥杯李白打酒php,蓝桥杯:李白打酒
- TV(智能电视)app开发,电视wifi连接Android studio 真机调试
- electron设置淘宝镜像
- robotframework基础入门:(3):找不到关键字的对应方法
- 网络知识 ACL NAT IPv6
- 超有用的前端配色网站
- USB设备短路致使电脑故障的一些启发
- 高新技术企业认定对企业有什么弊端?
- 热血传奇资源文件wzl、wzx解析