ARM汇编程序中有什么方法可以实现跳转?

ARM汇编程序中有什么方法可以实现跳转?,第1张

ARM指令集中的跳转指御弯令可以完成从当前指令向前或向后的32MB的

地址空间乎闭

的跳转,包括岁拆裂以下4条指令:

B

跳转指令

BL

带返回的跳转指令

BLX

带返回和状态切换的跳转指令

BX

带状态切换的跳转指令

可以实现条件执行和分支,各种循环和判断中都要用到,也避免了不必要的开支。

条件码为0000,该指令在且仅在CPSR中Z = 1时被执行。

条件码为1000,该指令在且仅在CPSR中C = 1 &&Z = 0时被执行。

条件码为1110,无条缓亏件执行该指令。

一些体系结构研究中认为,条件码配合编译器,拍哪皮在硬件分支预测电路性能有限的情况下,可以提高分支性能。

不过类似的设计在RISC-V被放弃了,原因是其占据指令集编码的开销不足以cover简单分支预测性能的提升幅度。RV选择约定静态分支预测时,BP单元遇到分支统一选择向后跳转,编译器也尽可能产生向后跳转的分支代码。

arm指令简介:

ARM指令集是指计算机ARM *** 作指令系统。在ARM中有两袭差种方式可以实现程序的跳转:一种是跳转指令;另一种是直接向PC寄存器(R15)中写入目标地址值。

ARM指令集可以分为跳转指令、数据处理指令、程序状态寄存器(PSR)处理指令、加载/存储指令、协处理器指令和异常产生指令六大类。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12418000.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存