インテルのみ表示可能 — GUID: iga1409765305931
Ixiasoft
インテルのみ表示可能 — GUID: iga1409765305931
Ixiasoft
8.5.57. ldhu / ldhuio
命令 | メモリーまたはペリフェラル I/O からの符号なしハーフワードのロード |
演算 | rB ← 0x0000 : Mem16[rA + σ(IMM16)] |
アセンブラー構文 | ldhu rB, byte_offset(rA) ldhuio rB, byte_offset(rA) |
例 | ldhu r6, 100(r5) |
説明 | rA と命令の符号付き 16 ビット即値の合計で指定される有効なバイトアドレスを計算する。レジスター rB を有効なバイトアドレスにあるメモリー・ハーフワードでロードすし、16 ビット値を 32 ビットにゼロ拡張する。有効なバイトアドレスは、ハーフワード・アライメントされている必要がある。バイトアドレスが 2 の倍数でない場合、演算は未定義である。 |
使用法 | データキャッシュがあるプロセッサーでは、この命令はメモリーからではなくキャッシュから目的のデータが取り出せる。ペリフェラル I/O にはldhuio命令を使用する必要がある。データキャシュがあるプロセッサーでは、ldhuioはキャッシュをバイパスし、Avalon-MM データ転送の生成が保証されている。データキャッシュがないプロセッサーでは、ldhuioはldhuのように動作する。 . データキャッシュについて詳しくは、「Nios II ソフトウェア開発ハンドブック」の「キャッシュおよび密結合メモリー」の章を参照。 |
例外 | スーパーバイザー専用データアドレス ミスアライメント・データ・アドレス TLB 許可違反 ( 読み出し ) 高速 TLBミス ( データ ) ダブル TLB ミス ( データ ) MPU 領域違反 ( データ ) |
命令型 | I |
命令フィールド | A = オペランド rA のレジスター・インデックス B = オペランド rB のレジスター・インデックス IMM16 = 16 ビットの符号付き即値 |
ビットフィールド | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
A | B | IMM16 | |||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
IMM16 | 0x0b |
ビットフィールド | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
A | B | IMM16 | |||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
IMM16 | 0x2b |