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.

FCOMI/FCOMIP/FUCOMI/FUCOMIP—Compare Real and Set EFLAGS<br />

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

DB F0+i FCOMI ST, ST(i) ST(0) を ST(i) と比較し、結果に従ってステータス・フラグをセット<br />

する。<br />

DF F0+i FCOMIP ST, ST(i) ST(0) を ST(i) と比較し、結果に従ってステータス・フラグをセット<br />

し、レジスタ・スタックをポップする。<br />

DB E8+i FUCOMI ST, ST(i) ST(0) を ST(i) と比較し、順序付け値の有無をチェックし、結果に<br />

従ってステータス・フラグをセットする。<br />

DF E8+i FUCOMIP ST, ST(i) ST(0) を ST(i) と比較し、順序付け値の有無をチェックし、結果に<br />

従ってステータス・フラグをセットし、レジスタ・スタックをポッ<br />

プする。<br />

説明<br />

レジスタ ST(0) と ST(i) の内容を比較し、 結果に従っ て EFLAGS レジスタ内のステータ<br />

ス・フラグZF、 PF、 CF をセッ ト する ( 以下の表を参照 )。 これらの命令の比較では、 ゼ<br />

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

比較結果 ZF PF CF<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 />

FCOMI/FCOMIP 命令が行 う 操作は、 QNaN オペラン ド の取り扱い方を除いて FUCOMI/<br />

FUCOMIP 命令のそれ と 同じ である。 FCOMI/FCOMIP 命令は、 一方 ま たは両方のオペラ<br />

ンドがNaN 値 (SNaN または QNaN) であるか、 またはそれらのフ ォ ーマッ ト がサポー ト<br />

されていないと きは、 ステータス ・ フラグを 「順序付けなし」 に設定し、 無効算術オペ<br />

ランド例外(#IA) を発生する。<br />

FUCOMI/FUCOMIP 命令が行 う 操作は、 オペラ ン ド が QNaN 値であ っ て も 無効算術オペ<br />

ランド例外を発生しない点を除いて FCOMI/FCOMIP 命令の操作 と 同じ である。<br />

無効操作例外がマス ク されていない場合は、 無効算術オペラ ン ド 例外が発生して も 、 ス<br />

テータス ・ フラグはセッ ト されない。<br />

FCOMIP およびFUCOMIP 命令は、 比較操作の後に さ ら に レ ジ ス タ ・ ス タ ッ ク を ポ ッ プ<br />

する。 レジスタ ・ スタッ クをポップするため、 プロセッサは ST(0) レジスタを空として<br />

マークし、 スタッ ク ・ ポインタ (TOP) を 1 インク リメントする。<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!