BX指令是ARM指令系統中的帶狀態切換跳轉指令。X指令跳轉到指令中所指定的目標地址,若目標地址的bit為0,則跳轉時自動將CPSR中的標志位T復位,即把目標地址的代碼解釋為ARM代碼。
若目標地址的bit為1,則跳轉時自動將CPSR中的標志位T置位,即把目標地址的代碼解釋為Thumb代碼。
帶狀態切換的連接跳轉指令BLX
1、作用
使程序跳轉到Thumb狀態或從Thumb狀態返回,該指令為無條件執行指令,并用分支寄存器的最低位來更新CPSR中的T位,將返回地址寫入到連接寄存器LR中。
2、語法格式
BLX{
3、參數說明
<target_address>為指令的跳轉目標地址,該地址根據以下規則計算。
A、將指令指定的24位偏移量進行符號擴展,形成32位立即數。
B、將結果左移兩位。
C、位H(bit)加到結果地址的第一位(bit)。
D、將結果累加到程序計數器PC中。