ARM 汇编中跳转指令

今天检查实习生写的程序,发现他们对跳转指令有混用的现象,想给他们解释,于是重新复习了一下这几条跳转指令。

 

B :强制跳转

BL:带链接跳转,将下一个指令的地址复制到 lr(r14,链接寄存器)中。

BX:跳转并切换指令集,将下一个指令的地址复制到 lr(r14,链接寄存器)中。

BLX:带链接跳转并切换指令集,将下一个指令的地址复制到 lr(r14,链接寄存器)中,

    BLX label:无论何种情况,始终会更改处理器的状态 

    BX RmBLX Rm 可从 Rm 的位 [0] 推算出目标状态:

  •      如果 Rm 的位 [0] 为 0,则处理器的状态会更改为(或保持在)ARM 状态
  •      如果 Rm 的位 [0] 为 1,则处理器的状态会更改为(或保持在)Thumb 状态。

BXJ:跳转并转换到 Jazelle 状态 ,指令会将处理器的状态更改为 Jazelle

 

详细的可以到这里查询。

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204ic/Cihfddaf.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值