第二部 トロン仕様チップ命令詳細|第九章 任意長ビットフィールド操作命令
| BVCPY 任意長ビットフィールド操作命令 <<L2>> |
【ニモニックとオペランド】
BVCPY
【機能】
Copy a variable-length bit field
任意長ビットフィールドのコピー
【オプション】
/F ビット番号の増加方向に処理(デフォルト) /B ビット番号の減少方向に処理
【命令フォーマットと表記法】
![]()
b 処理方向
b = 0 ビット番号の増加方向( /F)
b = 1 ビット番号の減少方向( /B)レジスタ上のパラメータ
R0 :ソース側ビットフィールドの base R1 :ソース側ビットフィールドの offset(符号付き) R2 :ビットフィールドの width(符号付き) R3 :デスティネーション側ビットフィールドの base R4 :デスティネーション側ビットフィールドの offset(符号付き)
【解説】
任意長のソース側ビットフィールドから任意長のデスティネーション側ビットフィールドにデータを転送します。
ソース側ビットフィールドとデスティネーション側ビットフィールドが重なるときには、実行中のデスティネーション側ビットフィールドへの書き込みが、未処理のソース側ビットフィールドのビット値を破壊しないように、処理方向オプションを使用して下さい。
実行後のレジスタの値
ただし、R2の初期設定値がR2≦ 0の場合には、R1、R2、R4は不変です。
R0 :不変 R1 :更新 R2 :0 R3 :不変 R4 :更新
【フラグ変化】
【発生EIT】
RIE s = 1
【使用例】
汎用レジスタR0の内容をソース側のbase、R1の内容をoffsetとし、R3の内容をデスティネーション側のbase、R4の内容をoffsetとします。R2の内容をwidthとするソース側ビットフィールドからデスティネーション側ビットフィールドに対してアドレスの減少する向きにコピーします。
![]()