ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
Thumb-2命令の機能に加えて、マネージド・ランタイムのコンパイル済みコードがよく使う操作を16ビット命令として提供する動作モード。
ThumbEEは、次の例外を除き、Thumb命令と同じ。
nullチェックをしながら動作し、一部の命令を廃止して別の命令に置き換えているため、T32(Thumbステート)とは別のモードとしている。
ThumbEE命令は次の通り
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 1 | 0 | 0 | opcode |
Thumb命令で16ビットLDM/STMだった機械語をThumbEE命令に置き換えている。
したがってこの2つの命令は使用できなくなる。
opcode | 命令または命令クラス |
---|---|
0000 | パラメーター付きハンドラー分岐(HBP) |
0001 | UNDEFINED |
001x | ハンドラー分岐、リンク付きハンドラー分岐(HB、HBL) |
01xx | リンクとパラメーター付きハンドラー分岐(HBLP) |
100x | フレームからレジスターロード(LDR (イミディエイト)) |
1010 | 配列チェック(CHKA) |
1011 | リテラルプールからレジスターロード(LDR (イミディエイト)) |
110x | レジスターロード(配列操作) (LDR (イミディエイト)) |
111x | フレームへのレジスターストア(STR (イミディエイト)) |
ENTERXとLEAVEXは、T32(Thumbステート)でもThumbEEステートでも利用できる命令として、上のオペコードとは別に定義されている。
次の16ビットThumb命令はT32と動作が異なる。
いずれも1ビットまたは2ビットの左シフトが付いている。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます