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