彙編指令 B BL BX BLX 和 BXJ

2021-07-24 12:22:49 字數 1010 閱讀 8396

b、bl、bx、blx 和 bxj

跳轉、帶鏈結跳轉、跳轉並切換指令集、帶鏈結跳轉並切換指令集、跳轉並轉換到 jazelle 狀態。 語法12

3op1 label

op2 rm

其中:op1

是下列項之一: b

跳轉。 bl

帶鏈結跳轉

blx帶鏈結跳轉並切換指令集。

op2是下列項之一: bx

跳轉並切換指令集。

blx帶鏈結跳轉並切換指令集。

bxj跳轉並轉換為 jazelle 執行。

cond

是乙個可選的條件**。 cond 不能用於此指令的所有形式。 .w

是乙個可選的指令寬度說明符,用於強制要求在 thumb-2 中使用 32 位 b 指令。

label

是乙個程式相對的表示式。 rm

是乙個暫存器,包含要跳轉到的目標位址。 操作

所有這些指令均會引發跳轉,或跳轉到 label,或跳轉到包含在 rm 中的位址處。 此外:

bl 和 blx 指令可將下乙個指令的位址複製到 lr(r14,鏈結暫存器)中

bx 和 blx

指令可將處理器的狀態從 arm 更改為 thumb,或從 thumb 更改為 arm

blx label 無論何種情況,始終會更改處理器的狀態。

bx rm

blx rm

可從

rm的位 

[0]

推算出目標狀態:

如果 rm 的位 [0] 為 0,則處理器的狀態會更改為(或保持在)arm 狀態

如果 rm 的位 [0] 為 1,則處理器的狀態會更改為(或保持在)thumb 狀態。

bxj 指令會將處理器的狀態更改為 jazelle

彙編 5 0 BX 和loop指令

1.要完整的描述乙個記憶體單元,需要兩種資訊 1.記憶體單元的位址 2.記憶體單元的長度 型別 2.表示乙個暫存器或乙個記憶體單元中的內容。如 ax 表示ax中的內容。中的元素可以有3種型別 1.暫存器名 2.段暫存器名 3.記憶體單元的實體地址 乙個20位的資料 3.約定符號idata表示常量 用...

組合語言 筆記 BX 和loop指令

符號mov ax,bx inc bx 功能 bx中的內容加1 loop指令的格式為 loop 標號 cpu執行loop指令時,進行兩步操作 程式設計計算2 12 assume cs code code segment mov ax,2 mov cx,11 s add ax,ax loop s mov...

組合語言04 BX 和loop指令

整理自fishcc論壇課件 首先展示乙個新的程式 assume cs codesg codesg segment start mov ax,2000h mov ds,ax mov al,0 mov bl,1 mov cl,2 mov dl,3 mov ax,4c00h int 21h codesg ...