TBB、TBH

テーブル分岐(バイト)とテーブル分岐(ハーフワード)。

Show/hide構文

TBB [Rn, Rm]
TBH [Rn, Rm, LSL #1]

各パラメータには以下の意味があります。

Rn

ベースレジスタを指定します。このレジスタには、分岐の長さテーブルのアドレスが保持されます。Rn に SP は指定できません。

Rn に PC を指定している場合、使用される値は「命令のアドレス + 4」となります。

Rm

インデクスレジスタを指定します。テーブル内の場所を指定するインデクスを保持します。

Rm に PC と SP は指定できません。

Show/hide演算

これらの命令により、シングルバイトオフセット(TBB)またはハーフワードオフセット(TBH)のテーブルを使用した PC 相対の順方向の分岐が発生します。Rn はテーブルへのポインタを提供し、Rm はテーブル内のインデクスを提供します。分岐の長さは、テーブルから返されたバイト(TBB)またはハーフワード(TBH)の値の 2 倍になります。分岐テーブルのターゲットは同じ実行状態である必要があります。

Show/hide注釈

ThumbEE では、ベースレジスタの値が 0 の場合、HandlerBase - 4 にある NullCheck ハンドラへの分岐が実行されます。

Show/hideアーキテクチャ

これらの 32 ビット Thumb 命令は、ARMv6T2 以降で使用できます。

これらの命令の ARM バージョンおよび 16 ビット Thumb バージョンはありません。

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0489FJ
Non-ConfidentialID111211