1. ホーム
  2. アンドロイド

ARM命令 B BLX BX差

2022-02-26 21:19:46

B:ジャンプする。

<スパン <スパン Bラベル   条件を満たした場合、Lableで指定されたアドレスに即座にジャンプする


BL:リンク付きジャンプ。まず現在の命令の次の命令アドレスをLRレジスタに格納し、その後Lableをジャンプする。通常、サブルーチンを呼び出すのに使用し、サブルーチンの最後にmov pc, lrを追加することでリターンすることができる。


BX:状態切替付きジャンプ。最下位ビットが 1 で Thumb 命令実行に切り替わり、0 で ARM 命令実行と解釈されます。


BLXです。リンクと状態切り替えを伴うジャンプ。BXとBLの機能を併せ持つ。


操作方法

  • 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状態に変化(または維持)されます。