首页 > 其他 > 详细

ARM分支指令

时间:2021-02-25 15:04:54      阅读:31      评论:0      收藏:0      [点我收藏+]

ARM处理器使用的分支指令有B、BL、BX、BLX,各指令区别如下:

1、B:Branch,无条件跳转。

通过将PC的值设置为<address>来指示下条指令的地址,这是一种永久性分支,不会再返回。

该指令主要用于循环中,或者将程序的控制权交给另一部分代码。

……

B fwd

MOV r0, r0 ;这条指令将不会得到执行

fwd:

 

2、BL:Branch with Link,带链接的跳转。

将PC的值设置为下条指令的地址,并将BL指令后的地址存放到LR中,从而在子程序执行完成之后返回到原来的位置。

……

BL calc

……

calc: ADD r0, r1, r2

BX lr ;返回到先前的位置

 

3、BX:Branch with eXchange,跳转并交换。

允许程序在ARM状态和Thumb状态之间切换

 

4、BLX:Branch with Link and eXchange,带链接和交换的跳转。

该指令可以进行ARM/Thumb状态切换,并更新LR寄存器,允许返回到先前的位置。

 

ARM分支指令

原文:https://www.cnblogs.com/caidi/p/14446252.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!