新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > Thumb指令集之: Thumb跳转指令

Thumb指令集之: Thumb跳转指令

作者:时间:2013-09-30来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/257042.htm

11.3.5带返回链接的无条件BLX(2)

(1)编码格式

带返回链接的无条件BLX(2)的编码格式如图11.6所示。

图11.6BLX(2)指令的编码格式

该BLX(2)指令用于和Thumb子程序间的相互调用。程序状态字的T标志位根据目的寄存器的bit[0]位而改变。

(2)指令的语法格式

BLXRm>

其中Rm>为目标地址寄存器,r0~r14寄存器均可以做为目标地址寄存器。

注意

如果在此指令中使用r15作为目的寄存器,指令的执行结果不可预知。

此指令只在v5版本以上指令集中被支持。

(3)指令操作的伪代码

LR=(addressoftheinstructionafterthisBLX)|1

TFlag=Rm[0]

PC=Rm[31:1]1

11.3.6举例

下面的例子程序综合使用了各种跳转指令,通过该例可以对Thumb状态下程序的非连续执行有更深入的了解。

Blabel ;无条件跳转到Label地址

BCClabel ;如果进位标志为0,则跳转

BEQlabel ;如果零标准位置1,则跳转

BLfunc ;子程序调用

Func

… ;子程序体

MOVPC,LR ;子程序返回

BXr12 ;跳转到r12寄存器中保存的地址

在执行此例中的BXr12时,如果r12的bit[0]=0,则处理器进入状态执行,否则继续执行Thumb代码。


上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭