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.

FXSAVE—Store FP and Intel ® MMX ® State And Streaming SIMD Extension<br />

State ( 続き )<br />

FXSAVE 命令は、 オペレーティ ング ・ システムがコンテキス ト を切り替えなければなら<br />

ない と き や、 例外ハン ド ラ が FP ユニ ッ ト 、 MMX テクノロジ ・ユニッ ト、 スト リーミン<br />

グ SIMD 拡張命令ユニ ッ ト を使用しなければな ら ない と き に使用 さ れる。 FXSAVE 命令<br />

では現在の状態が保持されるため、 アプ リ ケ ー シ ョ ンプ ロ グ ラ ムが こ の命令を使っ て<br />

「きれいにした」 浮動小数点状態をプ ロ シ ー ジ ャ に渡す こ と はで き ない。 こ の操作を実行<br />

するには、 アプリケーションは FXSAVE 命令の後に明示的に FINIT 命令を実行しなけれ<br />

ばならない。<br />

FTW 以外のすべての x87-FP フィールドは、 FSAVE 命令の場合 と 同じ内部形式を持つ。<br />

FXSAVE は、 FSAVE とは異なり、 x87-FP の FTW フィールド全体ではなく、 FTW の有効<br />

ビ ッ ト だけ を保存す る。 FTW ビッ トは、 非TOS 相対順序で保存される。 つ ま り 、 常に<br />

FR0 が最初に保存され、 続いて FR1、 FR2 の順に保存される。 例えば、 TOS=4 で、 ST0、<br />

ST1、 ST2 だけが有効な場合、 FSAVE は次の形式で FTW フ ィ ー ル ド を保存す る。<br />

ST3 ST2 ST1 ST0 ST7 ST6 ST5 ST4 (TOS=4)<br />

FR7 FR6 FR5 FR4 FR3 FR2 FR1 FR0<br />

11 xx xx xx 11 11 11 11<br />

xx は (00,01,10) のいずれかである。 (11) は空のスタ ッ ク要素を示し、 (00) は有効、 (01)<br />

はゼロ、 (10) は特殊を示す。 この例では、 FXSAVE は次のベク タを保存する。<br />

FR7 FR6 FR5 FR4 FR3 FR2 FR1 FR0<br />

0 1 1 1 0 0 0 0<br />

次の表を使って、 FTW の有効ビ ッ ト お よ びス ト ア された 80 ビ ッ ト の浮動小数点デー タ<br />

から、 FSAVE 形式の FTW を再作成がで き る ( ストアされたデータはMMX テクノロジ ・<br />

レジスタの内容ではないものとする )。<br />

指数<br />

すべて 1<br />

指数<br />

すべて 0<br />

小数<br />

すべて 0<br />

J ビットおよび<br />

M ビット<br />

FTW<br />

有効ビット<br />

x87 FTW<br />

0 0 0 0x 1 特殊 10<br />

0 0 0 1x 1 有効 00<br />

0 0 1 00 1 特殊 10<br />

0 0 1 10 1 有効 00<br />

0 1 0 0x 1 特殊 10<br />

0 1 0 1x 1 特殊 10<br />

0 1 1 00 1 ゼロ 01<br />

0 1 1 10 1 特殊 10<br />

1 0 0 1x 1 特殊 10<br />

1 0 0 1x 1 特殊 10<br />

1 0 1 00 1 特殊 10<br />

1 0 1 10 1 特殊 10<br />

上記のすべての有効な組み合わせ 0 空 11<br />

J ビ ッ ト は、 仮数の小数点の左側の 1 ビットの2 進整数 と して定義 さ れる。 M ビッ トは、<br />

仮数の小数点以下の部分の最上位ビ ッ ト ( すなわち、 小数点のすぐ右側のビッ ト ) とし<br />

て定義される。<br />

M ビ ッ ト が仮数の小数点以下の部分の最上位ビ ッ ト の と き、 その小数がすべて 0 の場合<br />

は、 M ビットは0 でなければならない。<br />

メ モ リ ・ オペラ ン ド を使用しない浮動小数点命令の直後に FXSAVE 命令を使用した場合<br />

は、 FXSAVE 命令は FXSAVE イメージ内のDP フィールドの書き込み/ アップデー トを<br />

行わない。<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!