BX指令是ARM指令系统中的带状态切换跳转指令。X指令跳转到指令中所指定的目标地址,若目标地址的bit为0,则跳转时自动将CPSR中的标志位T复位,即把目标地址的代码解释为ARM代码。
若目标地址的bit为1,则跳转时自动将CPSR中的标志位T置位,即把目标地址的代码解释为Thumb代码。
带状态切换的连尘敬接跳转指令BLX
1、作用
使程序跳转到Thumb状态或从Thumb状态返回,该指令为无条件执行指令,并用分支寄存器的最低位吵则来更新CPSR中的T位,将返回地址写入到连接寄存器LR中。
2、语法格式
BLX{<condition>} <target_address>。
3、参数说明
<target_address>为指令的跳转目升兄棚标地址,该地址根据以下规则计算。
A、将指令指定的24位偏移量进行符号扩展,形成32位立即数。
B、将结果左移两位。
C、位H(bit)加到结果地址的第一位(bit)。
D、将结果累加到程序计数器PC中。