24531904_j

24531904_j 24531904_j

16.02.2013 Aufrufe

PSLLW/PSLLD/PSLLQ—Packed Shift Left Logical ( 続き ) 実アドレス・モード例外 #GP オペラ ン ド のいずれかの部分が実効ア ド レ ス空間 0 ~ FFFFH の外にある場合。 #UD CR0 の EM がセッ ト された場合。 #NM CR0 の TS がセ ッ ト さ れた場合。 #MF 未処理の FPU 例外がある場合。 仮想 8086 モード例外 #GP オペラ ン ド のいずれかの部分が実効ア ド レ ス空間 0 ~ FFFFH の外にある場合。 #UD CR0 の EM がセッ ト された場合。 #NM CR0 の TS がセ ッ ト さ れた場合。 #MF 未処理の FPU 例外がある場合。 #PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。 #AC(0) アライメン ト ・ チェ ッ クがイネーブルにされていて、 アラ イ メン ト が合わないメモ リ 参照が行われた場合。 3:822 第 3 巻 : IA-32 MMX ® テクノロジ命令リファレンス

PSRAW/PSRAD—Packed Shift Right Arithmetic オペコード 命令 説明 0F E1 /r PSRAW mm, mm/m64 mm のワードを mm/m64 に指定されたビットだけ右にシフ トし、上位は符号ビットで埋める。 0F 71 /4 ib PSRAW mm, imm8 mm のワードを imm8 だけ右にシフトし、上位は符号ビット で埋める。 0F E2 /r PSRAD mm, mm/m64 mm のダブルワードを mm/m64 に指定されたビットだけ右 にシフトし、上位は符号ビットで埋める。 0F 72 /4 ib PSRAD mm, imm8 mm のダブルワードを imm8 だけ右にシフトし、上位は符号 ビットで埋める。 説明 デステ ィ ネーシ ョ ン ・ オペラン ド ( 第 1 オペラン ド ) にあるデータ要素 ( ワード またはダ ブルワー ド ) のビ ッ ト を、 符号なしカウン ト ・ オペラン ド ( 第 2 オペラン ド ) に指定され たビッ ト量だけ右にシフ トする ( 図 2-17 を参照 )。 シ フ ト 操作の結果は、 デス テ ィ ネ ー シ ョ ン ・ オペラ ン ド に書き込 ま れる。 各要素の空の上位ビ ッ ト は、 デー タ要素の符号 ビ ッ ト の初期値で埋め られる。 カ ウン ト ・ オペラン ド に よ って指定される値が、 ( ワード では )15 または ( ダブルワー ド では )31 より大きいと、 デスティネーションの各データ要 素は、 その要素の符号ビ ッ ト の初期値で埋め ら れる。 デステ ィ ネーシ ョ ン ・ オペラン ド は、 MMX テクノロジ ・ レジスタでなければならない。 カウント ・ オペランド ( ソース・オペランド ) には、 MMX テクノロジ ・ レジスタ、 64 ビッ トのメモリ ・ロケーション、 または8 ビ ッ ト の即値を使用で き る。 PSRAW 命令は、 デス テ ィ ネ ー シ ョ ン ・ オペラ ン ド の 4 ワードのそれぞれを、 カウント ・ オペラ ン ド に指定 さ れたビ ッ ト 数だけ右にシ フ ト する。 PSRAD 命令は、 デス テ ィ ネ ー ション・オペランドの2 ダブルワ ー ド のそれぞれを シ フ ト す る。 個別のデ ー タ要素が右 にシ フ ト される と 、 空の上位ビ ッ ト 位置は符号値で埋め ら れる。 図 2-17. PSRAW 命令の動作 mm mm PSRAW mm, 2 1111111111111100 1101000111000111 右にシフト 右にシフト 右にシフト 右にシフト 1111111111111111 1111010001110001 3006048 第 3 巻 : IA-32 MMX ® テクノロジ命令リファレンス 3:823

PSRAW/PSRAD—Packed Shift Right Arithmetic<br />

オペコード 命令 説明<br />

0F E1 /r PSRAW mm, mm/m64 mm のワードを mm/m64 に指定されたビットだけ右にシフ<br />

トし、上位は符号ビットで埋める。<br />

0F 71 /4 ib PSRAW mm, imm8 mm のワードを imm8 だけ右にシフトし、上位は符号ビット<br />

で埋める。<br />

0F E2 /r PSRAD mm, mm/m64 mm のダブルワードを mm/m64 に指定されたビットだけ右<br />

にシフトし、上位は符号ビットで埋める。<br />

0F 72 /4 ib PSRAD mm, imm8 mm のダブルワードを imm8 だけ右にシフトし、上位は符号<br />

ビットで埋める。<br />

説明<br />

デステ ィ ネーシ ョ ン ・ オペラン ド ( 第 1 オペラン ド ) にあるデータ要素 ( ワード またはダ<br />

ブルワー ド ) のビ ッ ト を、 符号なしカウン ト ・ オペラン ド ( 第 2 オペラン ド ) に指定され<br />

たビッ ト量だけ右にシフ トする ( 図 2-17 を参照 )。 シ フ ト 操作の結果は、 デス テ ィ ネ ー<br />

シ ョ ン ・ オペラ ン ド に書き込 ま れる。 各要素の空の上位ビ ッ ト は、 デー タ要素の符号<br />

ビ ッ ト の初期値で埋め られる。 カ ウン ト ・ オペラン ド に よ って指定される値が、 ( ワード<br />

では )15 または ( ダブルワー ド では )31 より大きいと、 デスティネーションの各データ要<br />

素は、 その要素の符号ビ ッ ト の初期値で埋め ら れる。<br />

デステ ィ ネーシ ョ ン ・ オペラン ド は、 MMX テクノロジ ・ レジスタでなければならない。<br />

カウント ・ オペランド ( ソース・オペランド ) には、 MMX テクノロジ ・ レジスタ、 64<br />

ビッ トのメモリ ・ロケーション、 または8 ビ ッ ト の即値を使用で き る。<br />

PSRAW 命令は、 デス テ ィ ネ ー シ ョ ン ・ オペラ ン ド の 4 ワードのそれぞれを、 カウント ・<br />

オペラ ン ド に指定 さ れたビ ッ ト 数だけ右にシ フ ト する。 PSRAD 命令は、 デス テ ィ ネ ー<br />

ション・オペランドの2 ダブルワ ー ド のそれぞれを シ フ ト す る。 個別のデ ー タ要素が右<br />

にシ フ ト される と 、 空の上位ビ ッ ト 位置は符号値で埋め ら れる。<br />

図 2-17. PSRAW 命令の動作<br />

mm<br />

mm<br />

PSRAW mm, 2<br />

1111111111111100 1101000111000111<br />

右にシフト 右にシフト 右にシフト 右にシフト<br />

1111111111111111 1111010001110001<br />

3006048<br />

第 3 巻 : IA-32 MMX ® テクノロジ命令リファレンス 3:823

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!