24531904_j
24531904_j 24531904_j
PMADDWD—Packed Multiply and Add オペコード 命令 説明 0F F5 /r PMADDWD mm, mm/m64 mm のパックド・ワードに mm/m64 のパックド・ワードを 掛ける。結果の 32 ビット・ペアを加算してダブルワードと して mm にストアする。 説明 デス テ ィ ネ ー シ ョ ン ・ オペラ ン ド の個別のパ ッ ク ド 符号付き ワ ー ド に ソ ー ス ・ オペラ ン ド の対応する符号付き ワ ー ド を掛け、 4 つの符号付きダブルワ ー ド の結果を生成する ( 図 2-12 を参照 )。 上位ワードの乗算による2 つのダブルワー ド の結果が加算され、 デス テ ィ ネ ー シ ョ ン ・ オペラ ン ド の上位ダブルワ ー ド に ス ト ア さ れる。 下位ワ ー ド の乗算に よる2 つのダブルワ ー ド の結果が加算され、 デステ ィ ネーシ ョ ン ・ オペラン ド の下位ダ ブルワードにストアされる。 デスティネーション・オペランドは、 MMX テクノロジ ・ レジスタでなければならない。 ソース ・ オペランドには、 MMX テクノロジ ・ レジスタ または 64 ビッ トのメモリ ・ロケーションを使用できる。 PMADDWD 命令は、 ソース・オペランドとデスティネーション・オペランド両方の4 つ のワー ドすべてが 8000H である と きだけに 80000000H にラップアラウンドする。 図 2-12. PMADDWD 命令の動作 操作 mm mm/m64 mm DEST(31..0) ← (DEST(15..0) ∗ SRC(15..0)) + (DEST(31..16) ∗ SRC(31..16)); DEST(63..32) ← (DEST(47..32) ∗ SRC(47..32)) + (DEST(63..48) ∗ SRC(63..48)); 影響を受けるフラグ なし。 追加の Itanium ベース・システム環境例外 Itanium アーキテクチャ ・ レジスタ ・ フォルト Itanium アーキテクチャ ・ メモリ ・ フォル ト PMADDWD mm, mm/m64 0111000111000111 0111000111000111 ∗ ∗ ∗ ∗ 1000000000000000 0000010000000000 + + 1100100011100011 1001110000000000 浮動小数点レ ジ ス タ無効フ ォ ル ト (PSR.dfl が 1 の場合 )、 NaT レ ジ ス タ参照アボ ー ト 。 VHPT データ ・ フォルト、 ネス ト された TLB フォルト、 データ TLB フォルト、 代替データTLB フォルト、 データ・ ページ不在フォル ト、 データ NaT ページ参照アボー ト、 データ ・ キー ・ ミス ・ フォル ト、 データ ・ キー許可フォル ト、 データ ・ アクセス権フォルト、 データ ・ アクセス ・ ビッ ト ・フォルト、 データ・ダーティ ・ビッ ト ・フォルト。 3:812 第 3 巻 : IA-32 MMX ® テクノロジ命令リファレンス
PMADDWD—Packed Multiply and Add ( 続き ) 保護モード例外 #GP(0) メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、 または GS セグ メ ン ト の範囲外の場合。 #SS(0) メモリ ・ オペランドの実効アドレスが SS セグメン ト の範 囲外の場合。 #UD CR0 の EM がセッ ト された場合。 #NM CR0 の TS がセ ッ ト さ れた場合。 #MF 未処理の FPU 例外がある場合。 #PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。 #AC(0) 現行特権レベルが 3 のときに、 アライメント ・チェックが イネーブルにされていて、 アライメントが合わないメモリ 参照が行われた場合。 実アドレス・モード例外 #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 巻 : IA-32 MMX ® テクノロジ命令リファレンス 3:813
- Seite 774 und 775: SUB—Subtract ( 続き ) 保護モ
- Seite 776 und 777: TEST—Logical Compare ( 続き )
- Seite 778 und 779: VERR, VERW—Verify a Segment for R
- Seite 780 und 781: WAIT/FWAIT—Wait オペコード
- 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 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 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: て異なる。 バイアス定数
PMADDWD—Packed Multiply and Add ( 続き )<br />
保護モード例外<br />
#GP(0) メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、<br />
または GS セグ メ ン ト の範囲外の場合。<br />
#SS(0) メモリ ・ オペランドの実効アドレスが SS セグメン ト の範<br />
囲外の場合。<br />
#UD CR0 の EM がセッ ト された場合。<br />
#NM CR0 の TS がセ ッ ト さ れた場合。<br />
#MF 未処理の FPU 例外がある場合。<br />
#PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。<br />
#AC(0) 現行特権レベルが 3 のときに、 アライメント ・チェックが<br />
イネーブルにされていて、 アライメントが合わないメモリ<br />
参照が行われた場合。<br />
実アドレス・モード例外<br />
#GP オペラ ン ド のいずれかの部分が実効ア ド レ ス空間 0 ~<br />
FFFFH の外にある場合。<br />
#UD CR0 の EM がセッ ト された場合。<br />
#NM CR0 の TS がセ ッ ト さ れた場合。<br />
#MF 未処理の FPU 例外がある場合。<br />
仮想 8086 モード例外<br />
#GP オペラ ン ド のいずれかの部分が実効ア ド レ ス空間 0 ~<br />
FFFFH の外にある場合。<br />
#UD CR0 の EM がセッ ト された場合。<br />
#NM CR0 の TS がセ ッ ト さ れた場合。<br />
#MF 未処理の FPU 例外がある場合。<br />
#PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。<br />
#AC(0) アライメン ト ・ チェ ッ クがイネーブルにされていて、 アラ<br />
イ メン ト が合わないメモ リ 参照が行われた場合。<br />
第 3 巻 : IA-32 MMX ® テクノロジ命令リファレンス 3:813