24531904_j

24531904_j 24531904_j

16.02.2013 Aufrufe

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

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!