Nios II Gen2 プロセッサー・リファレンス・ガイド

ID 683836
日付 10/28/2016
Public
ドキュメント目次

8.5.54. ldb / ldbio

命令 メモリーまたはペリフェラル I/O からのバイトのロード
演算

rB ←  σ(Mem8[rA + σ(IMM16)])

アセンブラー構文

ldb rB, byte_offset(rA)

ldbio rB, byte_offset(rA)

ldb r6, 100(r5)

説明

rA と命令の符号付き 16 ビット即値の和で指定される有効なバイトアドレスを計算する。レジスター rB を目的のメモリーバイトでロードし、8 ビット値を 32 ビットに拡張して符号付けする。データキャッシュがある Nios II プロセッサー・コアでは、この命令はメモリーからではなくキャッシュから目的のデータを取り出すことがある。

使用法

ldbio命令はペリフェラル I/O に使用する。データキャッシュがあるプロセッサーではldbioはキャッシュをバイパスし、Avalon-MM データ転送を生成することが保証されている。データキャッシュのないプロセッサーではldbioldbのように動作する。

データキャッシュについて詳しくは、「Nios II ソフトウェア開発ハンドブック」の「キャッシュおよび密結合メモリー」の章を参照。

例外

スーパーバイザー専用データアドレス

ミスアライメント・データ・アドレス

TLB 許可違反 ( 読み出し )

高速 TLB ミス ( データ )

ダブル TLB ミス ( データ )

MPU 領域違反 ( データ )

命令型

I

命令フィールド

A = オペランド rA のレジスター・インデックス

B = オペランド rB のレジスター・インデックス

IMM16 = 16 ビットの符号付き即値

表 101.  ldb
ビットフィールド
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 0x07
表 102.  ldbio
ビットフィールド
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 0x27