ARM状态和Thumb状态间的切换
带状态切换的跳转指令:BX
汇编格式: BX{<cond>} Rm
功
能: BX 指令跳转到指令中所指定的目标地址,并实现状态的切换。Rm 是一个表达目标地址的寄存器。当Rm
中的最低位Rm[0] 为 1 时,强制程序从ARM 指令状态跳到Thumb 指令状态;当 Rm
中的最低位Rm[0]为0 时,强制程序从Thumb 指令状态跳到ARM 指令状态。
BX 指令示例
CODE32
;ARM 程序段,32 位编码
arm1 ADR
R0,thumb1+1
;伪指令,把语句标号thumb1 所在地址
;赋给R0 ,末位R0[0] 置1 ,要跳转THUMB 指令集
;THUMB 指令集
MOV
LR,PC
;设置返回地址
BX
R0
;跳转
ADD
R1,R2,#2