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.

FIST/FISTP—Store Integer<br />

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

DF /2 FIST m16int ST(0) を m16int にストアする。<br />

DB /2 FIST m32int ST(0) を m32int にストアする。<br />

DF /3 FISTP m16int ST(0) を m16int にストアし、レジスタ・スタックをポップする。<br />

DB /3 FISTP m32int ST(0) を m32int にストアし、レジスタ・スタックをポップする。<br />

DF /7 FISTP m64int ST(0) を m64int にストアし、レジスタ・スタックをポップする。<br />

説明<br />

FIST 命令は、 ST(0) レ ジ ス タ の値を符号付き整数に変換し、 変換結果の値をデス テ ィ<br />

ネーション ・ オペランドにストアする。 値はワード整数またはショ ー ト整数のフォー<br />

マットでストアできる。 デスティネーション・オペランドは、 デスティネーション値の<br />

最初のバイ ト がス ト ア される ア ド レ ス を指定す る。<br />

FISTP 命令は、 FIST 命令 と 同じ操作を行 っ てか ら 、 レ ジ ス タ ・ ス タ ッ ク を ポ ッ プす る。<br />

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

し、 スタ ッ ク ・ ポインタ (TOP) を 1 インク リメントする。 FISTP 命令は、 値を ロ ン グ整<br />

数フォーマットでもストアできる。<br />

以下の表に、 さ ま ざ まな ク ラスの数を整数フ ォ ーマ ッ ト でス ト アした と き に得られる結<br />

果を示す。<br />

ST(0) DEST<br />

−∞ *<br />

−F < −1 −I<br />

−1 < −F < −0 **<br />

−0 0<br />

+0 0<br />

+0 < +F < +1 **<br />

+F > +1 +I<br />

+∞ *<br />

NaN *<br />

注 :<br />

F 有限実数を示す。<br />

I 整数を示す。<br />

* 浮動小数点無効操作 (#IA) 例外を示す。<br />

** 丸めモードにより、0 または± 1。<br />

ソース値は、 非整数値の場合は、 FPU 制御ワ ー ド の RC フィールドによって指定される<br />

丸めモ ー ド に従 っ て整数値に丸め ら れる。<br />

ストアされる値がデスティネーション・フォーマットに対して大きすぎる、 すなわち∞<br />

または NaN であるか、 あるいはそのフ ォ ーマ ッ ト がサポー ト されていない場合で、 かつ<br />

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

値はデス テ ィ ネ ー シ ョ ン ・ オペラ ン ド にス ト ア さ れない。 無効操作例外がマス ク さ れて<br />

い る場合は、 整数の未定義値がデス テ ィ ネ ー シ ョ ン ・ オペラ ン ド にス ト ア さ れる。<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!