16.02.2013 Aufrufe

24531904_j

24531904_j

24531904_j

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

FYL2XP1—Compute y ∗ log 2(x +1)<br />

説明<br />

ε (0 の近似値 ) の対数 (ST(1) ∗ log2 (ST(0) + 1.0)) を計算し、 結果を ST(1) レジスタにスト<br />

アし、 FPU レジスタ ・ スタックをポップする。 ST(0) の ソ ー ス ・ オペラ ン ド は、 下記の<br />

範囲でなければな ら ない。<br />

± (1 - √ 2/2)<br />

ST(1) のソース ・ オペラン ドの範囲は、 ±∞である。 いずれかのソース ・ オペラン ドの値<br />

が許容範囲か ら 外れている場合は、 結果は未定義であ り 、 例外は発生しない。<br />

以下の表に、 アンダ フ ロ ー が発生しない も のして、 さ ま ざ ま な ク ラ スの数の ε の対数を<br />

計算した と き に得 ら れる結果を示す。<br />

注 :<br />

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

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

この命令は、 0 の近似値 ε [ST(0) レジスタの値] に対して最適精度を発揮す る。 ε の値<br />

が小さい場合は、 ( ε +1) を引数と して FYL2X 命令を使用す る よ り も 、 FYL2XP1 命令を<br />

使用す る方が、 多 く の有効数字を残せる。 ( ε +1) の式は、 複利や年金の計算に よ く 見受<br />

けられる。 結果は、 ST(1) ソース ・ オペランドのスケール・ ファクタを含めると、 簡単に<br />

別の対数の底の値に変換でき る。 以下の等式は、 特定の対数の底のスケール ・ フ ァ ク タ<br />

の計算に使用される。 こ こ で、 n は FYL2XP1 命令の結果に求められる対数の底である。<br />

scale factor = logn 2<br />

操作<br />

I<br />

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

D9 F9 FYL2XP1 ST(1) を (ST(1) ∗ log2(ST(0) + 1.0)) で置き換え、レジスタ・スタッ<br />

クをポップする。<br />

表 1-12. FYL2XP1 の 0 と NaN<br />

−∞ −(1 − ( 2 ⁄ 2))<br />

to −0 −0<br />

ST(0)<br />

+0 +0 to +(1 − ( 2 ⁄<br />

2))<br />

+∞ NaN<br />

−∞ * +∞ * * −∞ −∞NaN ST(1) −F * +F +0 −0 −F −∞ NaN<br />

−0 * +0 +0 −0 −0 * NaN<br />

+0 * −0 −0 +0 +0 * NaN<br />

+F * −F −0 +0 +F +∞ NaN<br />

+∞ * −∞ * * +∞ +∞ NaN<br />

NaN NaN NaN NaN NaN NaN NaN NaN<br />

ST(1) ← ST(1) ∗ log2 (ST(0) + 1.0);<br />

PopRegisterStack;<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!