24531904_j
24531904_j 24531904_j
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
- Seite 784 und 785: WRMSR—Write to Model Specific Reg
- Seite 786 und 787: XADD—Exchange and Add ( 続き )
- Seite 788 und 789: XCHG—Exchange Register/Memory wit
- Seite 790 und 791: XLAT/XLATB—Table Look-up Translat
- Seite 792 und 793: XOR—Logical Exclusive OR ( 続き
- Seite 794 und 795: EMMS—Empty MMX State オペコー
- Seite 796 und 797: MOVD—Move 32 Bits ( 続き ) 追
- Seite 798 und 799: MOVQ—Move 64 Bits オペコード
- Seite 800 und 801: PACKSSWB/PACKSSDW—Pack with Signe
- Seite 802 und 803: PACKSSWB/PACKSSDW—Pack with Signe
- Seite 804 und 805: PACKUSWB—Pack with Unsigned Satur
- Seite 806 und 807: PADDB/PADDW/PADDD—Packed Add (
- Seite 808 und 809: PADDSB/PADDSW—Packed Add with Sat
- Seite 810 und 811: PADDSB/PADDSW—Packed Add with Sat
- Seite 812 und 813: PADDUSB/PADDUSW—Packed Add Unsign
- Seite 814 und 815: PAND—Logical AND オペコード
- Seite 816 und 817: PANDN—Logical AND NOT オペコ
- Seite 818 und 819: PCMPEQB/PCMPEQW/PCMPEQD—Packed Co
- Seite 820 und 821: PCMPEQB/PCMPEQW/PCMPEQD—Packed Co
- Seite 822 und 823: PCMPGTB/PCMPGTW/PCMPGTD—Packed Co
- Seite 824 und 825: PMADDWD—Packed Multiply and Add
- Seite 826 und 827: PMULHW—Packed Multiply High オ
- Seite 828 und 829: PMULLW—Packed Multiply Low オペ
- Seite 830 und 831: POR—Bitwise Logical OR オペコ
- Seite 832 und 833: PSLLW/PSLLD/PSLLQ—Packed Shift Le
- Seite 836 und 837: PSRAW/PSRAD—Packed Shift Right Ar
- Seite 838 und 839: PSRLW/PSRLD/PSRLQ—Packed Shift Ri
- Seite 840 und 841: PSRLW/PSRLD/PSRLQ—Packed Shift Ri
- Seite 842 und 843: PSUBB/PSUBW/PSUBD—Packed Subtract
- Seite 844 und 845: PSUBSB/PSUBSW—Packed Subtract wit
- Seite 846 und 847: PSUBSB/PSUBSW—Packed Subtract wit
- Seite 848 und 849: PSUBUSB/PSUBUSW—Packed Subtract U
- Seite 850 und 851: PUNPCKHBW/PUNPCKHWD/PUNPCKHDQ—Unp
- Seite 852 und 853: PUNPCKHBW/PUNPCKHWD/PUNPCKHDQ—Unp
- Seite 854 und 855: PUNPCKLBW/PUNPCKLWD/PUNPCKLDQ—Unp
- Seite 856 und 857: PXOR—Logical Exclusive OR オペ
- Seite 858 und 859: 3:846 第 3 巻 : IA-32 MMX ® テ
- Seite 860 und 861: 令テ ク ノ ロジを組み込
- Seite 862 und 863: 図 3-3. パックド操作 図 3-4
- Seite 864 und 865: COMISS (Compare scalar single-preci
- Seite 866 und 867: scalar 32-bit integer) 命令は、
- Seite 868 und 869: MASKMOVQ (Non-temporal byte mask st
- Seite 870 und 871: 3.7.1 実数体系 図 3-8 に示
- Seite 872 und 873: て異なる。 バイアス定数
- Seite 874 und 875: 極端な場合には、 先頭の
- Seite 876 und 877: 3.8 データ・フォーマット
- Seite 878 und 879: 3.10 命令プリフィックス
- Seite 880 und 881: •xmm/m64: 128 ビット ・マル
- Seite 882 und 883: ADDPS—Packed Single-FP Add ( 続
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