24531904_j

24531904_j 24531904_j

16.02.2013 Aufrufe

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)

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 ® テクノロジ命令リファレンス

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!