16.02.2013 Aufrufe

24531904_j

24531904_j

24531904_j

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

UCOMISS—Unordered Scalar Single-FP compare and set EFLAGS<br />

オペコード 命令 説明<br />

0F,2E,/r UCOMISS xmm1, xmm2/m32 XMM1 レジスタの最下位の単精度浮動小数点値と<br />

XMM2/Mem の最下位の単精度浮動小数点値を比較し、<br />

結果に従ってステータス・フラグを設定する。<br />

操作<br />

switch (xmm1[31-0] xmm2/m32[31-0]) {<br />

OF,SF,AF = 000;<br />

case UNORDERED: ZF,PF,CF = 111;<br />

case GREATER_THAN: ZF,PF,CF = 000;<br />

case LESS_THAN: ZF,PF,CF = 001;<br />

case EQUAL: ZF,PF,CF = 100;<br />

}<br />

説明<br />

UCOMISS 命令は、 2 つの最下位のス カ ラ単精度浮動小数点値を比較し、 すでに説明した<br />

ように、 EFLAGS レジスタのZF、 PF、 CF ビットをセットする。 また、 EFLAGS レジス<br />

タの OF、 SF、 AF ビットはゼロにされる。 いずれかのソース・オペランドがNaN (qNaN<br />

または sNaN) の場合は、 無効数値例外が発生す る。<br />

FP 例外<br />

なし。<br />

数値例外<br />

無効 (SNaN オペラン ド の場合 )、 デ ノ ー マル。 マス ク さ れていない数値例外が発生した<br />

場合は、 整数の EFLAGS 値はアッ プデー ト されない。<br />

保護モード例外<br />

#GP(0) CS、 DS、 ES、 FS、 または GS セグメン ト 内のメモ リ ・ オ<br />

ペラン ドの実効アドレスが無効の場合。 #SS(0) SS セグメン ト 内のアド レスが無効の場合。<br />

#PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。<br />

#UD CR0.EM = 1 の場合。<br />

#NM CR0 の TS ビ ッ ト がセ ッ ト さ れた場合。<br />

#AC アライメントの合っていないメモリ参照を行った場合。<br />

#AC 例外を イ ネ ー ブルにす る には、 3 つの条件に該当しな<br />

ければならない(CR0.AMがセ ッ ト されている、EFLAGS.AC<br />

がセ ッ ト さ れてい る、 現在の CPL が 3 である )。<br />

#XM マスク されていないスト リ ー ミ ング SIMD 拡張命令数値例<br />

外が発生した場合 (CR4.OSXMMEXCPT = 1)。<br />

#UD マスク されていないスト リ ー ミ ング SIMD 拡張命令数値例<br />

外が発生した場合 (CR4.OSXMMEXCPT = 0)。<br />

#UD CRCR4.OSFXSR ( ビッ ト 9) = 0 の場合。<br />

#UD CPUID.XMM (EDX ビッ ト 25) = 0 の場合。<br />

3:970 第 3 巻 : IA-32 ストリーミング SIMD 拡張命令リファレンス

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!