24531904_j
24531904_j 24531904_j
PSLLW/PSLLD/PSLLQ—Packed Shift Left Logical オペコード 命令 説明 0F F1 /r PSLLW mm, mm/m64 mm のワードを mm/m64 に指定されたビットだけ左にシフ トし、下位はゼロで埋める。 0F 71 /6, ib PSLLW mm, imm8 mm のワードを imm8 だけ左にシフトし、下位はゼロで埋め る。 0F F2 /r PSLLD mm, mm/m64 mm のダブルワードを mm/m64 に指定されたビットだけ左 にシフトし、下位はゼロで埋める。 0F 72 /6 ib PSLLD mm, imm8 mm のダブルワードを imm8 だけ左にシフトし、下位はゼロ で埋める。 0F F3 /r PSLLQ mm, mm/m64 mm を mm/m64 に指定されたビットだけ左にシフトし、下 位はゼロで埋める。 0F 73 /6 ib PSLLQ mm, imm8 mm を imm だけ左にシフトし、下位はゼロで埋める。 説明 デステ ィ ネーシ ョ ン ・ オペラン ド ( 第 1 オペラン ド ) にあるデータ要素 ( ワード、 ダブル ワード、 またはクワッ ドワード ) のビ ッ ト を、 符号なしカウン ト ・ オペラン ド ( 第 2 オ ペラン ド ) に指定されたビ ッ ト 数だけ左にシフ ト する ( 図 2-16 を参照 )。 シフ ト操作の結 果は、 デスティネーション・オペランドに書き込まれる。 データ要素のビットが左にシ フ ト される と、 空の下位ビッ ト はク リアされる ( ゼロに設定される )。 カウン ト ・ オペラ ン ド に よ っ て指定 さ れる値が ( ワードでは)15、 ( ダブルワー ド では )31、 または ( クワッ ドワードでは)63 より大きいと、 デスティネーション・オペランドはすべてゼロに設定 される。 デステ ィ ネーシ ョ ン ・ オペラン ド は、 MMX テクノロジ ・ レジスタでなければならない。 カウント ・ オペランドには、 MMX テクノロジ ・ レジスタ、 64 ビッ トのメモリ ・ロケー ション、 または8 ビ ッ ト の即値を使用で き る。 PSLLW 命令は、 デス テ ィ ネ ー シ ョ ン ・ オペラ ン ド の 4 ワードのそれぞれを、 カウント ・ オペラ ン ド に指定 さ れたビ ッ ト 数だけ左にシ フ ト する。 PSLLD 命令は、 デス テ ィ ネ ー ション・オペランドの2 ダブルワー ド のそれぞれをシフ ト し、 PSLLQ 命令は、 デス テ ィ ネーション ・ オペランドの 64 ビッ トのクワッドワードをシフトする。 個別データ要素が 左にシフ ト される と、 空の下位ビッ ト 位置はゼロで埋められる。 図 2-16. PSLLW 命令の動作 mm mm PSLLW mm, 2 1111111111111100 0001000111000111 左にシフト 左にシフト 左にシフト 左にシフト 1111111111110000 0100011100011100 3006026 3:820 第 3 巻 : IA-32 MMX ® テクノロジ命令リファレンス
PSLLW/PSLLD/PSLLQ—Packed Shift Left Logical ( 続き ) 操作 IF instruction is PSLLW THEN DEST(15..0) ← DEST(15..0)
- Seite 782 und 783: WBINVD—Write Back and Invalidate
- 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 834 und 835: 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 ビット ・マル
PSLLW/PSLLD/PSLLQ—Packed Shift Left Logical<br />
オペコード 命令 説明<br />
0F F1 /r PSLLW mm, mm/m64 mm のワードを mm/m64 に指定されたビットだけ左にシフ<br />
トし、下位はゼロで埋める。<br />
0F 71 /6, ib PSLLW mm, imm8 mm のワードを imm8 だけ左にシフトし、下位はゼロで埋め<br />
る。<br />
0F F2 /r PSLLD mm, mm/m64 mm のダブルワードを mm/m64 に指定されたビットだけ左<br />
にシフトし、下位はゼロで埋める。<br />
0F 72 /6 ib PSLLD mm, imm8 mm のダブルワードを imm8 だけ左にシフトし、下位はゼロ<br />
で埋める。<br />
0F F3 /r PSLLQ mm, mm/m64 mm を mm/m64 に指定されたビットだけ左にシフトし、下<br />
位はゼロで埋める。<br />
0F 73 /6 ib PSLLQ mm, imm8 mm を imm だけ左にシフトし、下位はゼロで埋める。<br />
説明<br />
デステ ィ ネーシ ョ ン ・ オペラン ド ( 第 1 オペラン ド ) にあるデータ要素 ( ワード、 ダブル<br />
ワード、 またはクワッ ドワード ) のビ ッ ト を、 符号なしカウン ト ・ オペラン ド ( 第 2 オ<br />
ペラン ド ) に指定されたビ ッ ト 数だけ左にシフ ト する ( 図 2-16 を参照 )。 シフ ト操作の結<br />
果は、 デスティネーション・オペランドに書き込まれる。 データ要素のビットが左にシ フ ト される と、 空の下位ビッ ト はク リアされる ( ゼロに設定される )。 カウン ト ・ オペラ<br />
ン ド に よ っ て指定 さ れる値が ( ワードでは)15、 ( ダブルワー ド では )31、 または ( クワッ<br />
ドワードでは)63 より大きいと、 デスティネーション・オペランドはすべてゼロに設定<br />
される。<br />
デステ ィ ネーシ ョ ン ・ オペラン ド は、 MMX テクノロジ ・ レジスタでなければならない。<br />
カウント ・ オペランドには、 MMX テクノロジ ・ レジスタ、 64 ビッ トのメモリ ・ロケー<br />
ション、 または8 ビ ッ ト の即値を使用で き る。<br />
PSLLW 命令は、 デス テ ィ ネ ー シ ョ ン ・ オペラ ン ド の 4 ワードのそれぞれを、 カウント ・<br />
オペラ ン ド に指定 さ れたビ ッ ト 数だけ左にシ フ ト する。 PSLLD 命令は、 デス テ ィ ネ ー<br />
ション・オペランドの2 ダブルワー ド のそれぞれをシフ ト し、 PSLLQ 命令は、 デス テ ィ<br />
ネーション ・ オペランドの 64 ビッ トのクワッドワードをシフトする。 個別データ要素が<br />
左にシフ ト される と、 空の下位ビッ ト 位置はゼロで埋められる。<br />
図 2-16. PSLLW 命令の動作<br />
mm<br />
mm<br />
PSLLW mm, 2<br />
1111111111111100 0001000111000111<br />
左にシフト 左にシフト 左にシフト 左にシフト<br />
1111111111110000 0100011100011100<br />
3006026<br />
3:820 第 3 巻 : IA-32 MMX ® テクノロジ命令リファレンス