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.

FUCOM/FUCOMP/FUCOMPP—Unordered Compare Real<br />

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

DD E0+i FUCOM ST(i) ST(0) を ST(i) と比較する。<br />

DD E1 FUCOM ST(0) を ST(1) と比較する。<br />

DD E8+i FUCOMP ST(i) ST(0) を ST(i) と比較し、レジスタ・スタックをポップする。<br />

DD E9 FUCOMP ST(0) を ST(1) と比較し、レジスタ・スタックをポップする。<br />

DA E9 FUCOMPP ST(0) を ST(1) と比較し、レジスタ・スタックを 2 回ポップする。<br />

説明<br />

ST(0) および ST(i) レ ジ ス タ の内容の順序化不可能比較を行い、 結果に従 っ て FPU ステー<br />

タス ・ ワー ド内の条件コー ド ・ フラグ C0、 C2、 C3 をセッ ト する ( 下記の表を参照 )。 オ<br />

ペラン ド を指定しなかった場合は、 ST(0) および ST(1) レ ジ ス タ の内容が比較 さ れる。 ゼ<br />

ロの符号は無視される。 すなわち、 -0.0 = +0.0 である。<br />

比較結果 C3 C2 C0<br />

ST0 > ST(i) 0 0 0<br />

ST0 < ST(i) 0 0 1<br />

ST0 = ST(i) 1 0 0<br />

順序化不可能 a<br />

1 1 1<br />

a. マスクされていない無効算術オペランド (#IA) 例外が発<br />

生した場合、フラグはセットされない。<br />

順序化不可能比較は、 比較 さ れる両数値の ク ラ スのチ ェ ッ ク を行 う (3:559 ページの<br />

「FXAM—Examine」 を参照 )。 FUCOM 命令では、 一方 ま たは両方のオペラ ン ド が SNaN<br />

である か、 ま たは それ ら の フ ォ ー マ ッ ト がサポ ー ト さ れていない と き だけ に無効算術オ<br />

ペラン ド例外 (#IA) を発生させる という点を除いて、 FUCOM 命令の操作は FCOM 命令<br />

の操作 と 同じである。 QNaN の場合は、 条件 コ ー ド ・ フ ラ グが順序化不可能に設定 さ れ<br />

る が、 例外は発生しない。 それに対して、 一方ま たは両方のオペラ ン ド がいずれかの種<br />

類の NaN 値であるか、 またはそれらのフ ォ ーマ ッ ト がサポ ー ト されていない と き は、<br />

FCOM 命令は無効操作例外を発生 さ せる。<br />

FCOM 命令の場合 と 同様に、 操作の結果に よ っ て無効算術オペラ ン ド 例外が発生す る場<br />

合は、 例外がマス ク さ れてい る場合だけ条件 コ ー ド ・ フ ラ グがセ ッ ト さ れる。<br />

FUCOMP 命令は比較操作の後に レ ジ ス タ ・ ス タ ッ ク を ポ ッ プし、 FUCOMPP 命令は比較<br />

操作の後に レ ジ ス タ ・ ス タ ッ ク を 2 回ポップする。 レジスタ ・ スタ ッ クをポップするた<br />

め、 プロセ ッ サは ST(0) レジスタを空としてマークし、 スタック ・ ポインタ (TOP) を 1<br />

インク リ メン トする。<br />

操作<br />

CASE (relation of operands) OF<br />

ST > SRC: C3, C2, C0 ← 000;<br />

ST < SRC: C3, C2, C0 ← 001;<br />

ST = SRC: C3, C2, C0 ← 100;<br />

ESAC;<br />

IF ST(0) or SRC = QNaN, but not SNaN or unsupported format<br />

THEN<br />

C3, C2, C0 ← 111;<br />

3:556 第 3 巻 : IA-32 基本命令リファレンス

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!