第二部 トロン仕様チップ命令詳細第八章 固定長ビットフィールド操作命令
BFEXT
固定長ビットフィールド操作命令 <<L1R>>, <<L1>>, <<L2>>

【ニモニックとオペランド】

BFEXT offset, width, base, dest

【機能】

Extract a bit field with sign extension
ビットフィールドの抽出

【オプション】

なし

【命令フォーマットと表記法】

【解説】

 widthのビットフィールドをbaseからoffset分だけ離れたビットより抽出して、destに転送します。
 destのサイズがwidthよりも大きい場合には、抽出したビットフィールドをdestのサイズに符号拡張してから、destに転送します。BFEXT:Gのoffset符号拡張されます。

【フラグ変化】

【発生EIT】

RIE  offset [Gen/r], base [Gen/f]のアドレッシングモード違反
RIE sx = 11
RIE s = 1
IOE width ≦ 0, width > 32

【使用例】



 汎用レジスタR0の値をアドレスとして1バイトのメモリ参照を行い、メモリ参照によって得られた値をoffsetとします。R2の値をアドレスとして、そのアドレスで示されるバイトのMSBbaseとします。R1の値で示される長さのビットフィールドをbaseからoffset分だけ離れたビットより抽出し、それを32ビットに符号拡張して、R3に転送します。