24531904_j

24531904_j 24531904_j

16.02.2013 Aufrufe

FRNDINT—Round to Integer オペコード 命令 説明 D9 FC FRNDINT ST(0) を整数に丸める。 説明 ST(0) レ ジス タのソ ー ス値を、 現在の丸めモー ド (FPU 制御ワ ー ド の RC フィールドの設 定 ) に従って最も近い整数値に丸め、 結果を ST(0) にス トアする。 ソ ー ス値は、 ∞の場合は変更 さ れない。 ソ ー ス値が整数値でない場合は、 浮動小数点不 正確結果例外 (#P) が発生する。 操作 ST(0) ← RoundToIntegralValue(ST(0)); FPU 影響を受けるフラグ C1 ス タ ッ ク ・ アンダ フ ロ ーが発生した場合は 0 にセッ ト され る。 不正確結果例外 (#P) が発生した場合は、 丸めの方向を示 す。 0 = 切り上げなし、 1 = 切り上げ。 C0、 C2、 C3 未定義。 浮動小数点例外 #IS ス タ ッ ク ・ アンダ フ ロ ーが発生した場合。 #IA ソース・オペランドがSNaN 値であるか、 ま たはその フォーマットがサポートされていない場合。 #D ソ ー ス ・ オペラ ン ド がデ ノ ー マル値である場合。 #P ソ ー ス ・ オペラ ン ド が整数値でない場合。 追加の Itanium ベース・システム環境例外 Itanium アーキテクチャ ・ レジスタ ・ フォルト 保護モード例外 #NM CR0 の EM または TS がセッ ト された場合。 実アドレス・モード例外 #NM CR0 の EM または TS がセッ ト された場合。 仮想 8086 モード例外 浮動小数点レ ジ ス タ無効フ ォ ル ト (PSR.dfl が 1 の場合 )、 NaT レ ジ ス タ参照アボ ー ト 。 #NM CR0 の EM または TS がセッ ト された場合。 3:524 第 3 巻 : IA-32 基本命令リファレンス

FRSTOR—Restore FPU State オペコード 命令 説明 DD /4 FRSTOR m94/108byte m94byte または m108byte から FPU 状態をロードする。 説明 ソ ー ス ・ オペラ ン ド で指定される メ モ リ 領域か ら 、 FPU 状態 ( 動作環境 と レ ジ ス タ ・ ス タック ) を ロ ー ド す る。 こ の状態デー タ は、 一般的に前 も っ て FSAVE/FNSAVE 命令に よって指定されたメモリ ・ロケーションに書かれている。 FPU 動作環境は、 FPU 制御ワード、 ステータス ・ ワード、 タグ・ ワード、 命令ポインタ、 デー タ ・ ポ イ ン タ、 最後のオペコ ー ド か ら な っ ている。 プロセ ッ サの動作モー ド ( 保護ま たは実アド レス ) と現在のアドレス属性のサイズ (16 ビッ トまたは32 ビッ ト ) に従って、 メ モ リ に ス ト ア さ れる動作環境情報の レ イ アウ ト については、 『IA-32 インテル ® アーキテ クチャ ・ ソフ ト ウェア・ ディベロッパーズ ・マニュアル、 上巻』 を参照のこ と。 仮想 8086 モー ドでは、 実アド レス ・ モー ドのレイアウ トが使用される。 FPU レジスタ ・ ス タ ッ ク の内容は、 動作環境イ メ ー ジの直後の 80 バイ ト のエリアにス ト アされる。 FRSTOR 命令は、 対応する FSAVE/FNSAVE 命令と 同じ動作モー ド で実行する必要があ る。 新しい FPU ステータス ・ ワー ド内で、 1 つ以上のマス ク されていない例外ビ ッ ト がセ ッ ト された場合は、 浮動小数点例外が発生す る。 新しいオペレ ー テ ィ ン グ環境を ロ ー ド す るときに例外が発生しないようにするには、 ロードされるFPU ステータス ・ ワー ド内の すべての例外フラグを ク リ アする。 操作 FPUControlWord ← SRC(FPUControlWord); FPUStatusWord ← SRC(FPUStatusWord); FPUTagWord ← SRC(FPUTagWord); FPUDataPointer ← SRC(FPUDataPointer); FPUInstructionPointer ← SRC(FPUInstructionPointer); FPULastInstructionOpcode ← SRC(FPULastInstructionOpcode); ST(0) ← SRC(ST(0)); ST(1) ← SRC(ST(1)); ST(2) ← SRC(ST(2)); ST(3) ← SRC(ST(3)); ST(4) ← SRC(ST(4)); ST(5) ← SRC(ST(5)); ST(6) ← SRC(ST(6)); ST(7) ← SRC(ST(7)); FPU 影響を受けるフラグ C0、 C1、 C2、 C3 フラグがロードされる。 浮動小数点例外 なし。 ただし、 検出されたが、 マス ク されていたために発生しなか った既存の例外が、 こ の操作に よ っ てマス ク を解除される場合がある。 その よ う な例外は、 こ こ で、 FRSTOR 命令の終了後に発生する。 第 3 巻 : IA-32 基本命令リファレンス 3:525

FRSTOR—Restore FPU State<br />

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

DD /4 FRSTOR m94/108byte m94byte または m108byte から FPU 状態をロードする。<br />

説明<br />

ソ ー ス ・ オペラ ン ド で指定される メ モ リ 領域か ら 、 FPU 状態 ( 動作環境 と レ ジ ス タ ・ ス<br />

タック ) を ロ ー ド す る。 こ の状態デー タ は、 一般的に前 も っ て FSAVE/FNSAVE 命令に<br />

よって指定されたメモリ ・ロケーションに書かれている。<br />

FPU 動作環境は、 FPU 制御ワード、 ステータス ・ ワード、 タグ・ ワード、 命令ポインタ、<br />

デー タ ・ ポ イ ン タ、 最後のオペコ ー ド か ら な っ ている。 プロセ ッ サの動作モー ド ( 保護ま<br />

たは実アド レス ) と現在のアドレス属性のサイズ (16 ビッ トまたは32 ビッ ト ) に従って、<br />

メ モ リ に ス ト ア さ れる動作環境情報の レ イ アウ ト については、 『IA-32 インテル ® アーキテ<br />

クチャ ・ ソフ ト ウェア・ ディベロッパーズ ・マニュアル、 上巻』 を参照のこ と。 仮想<br />

8086 モー ドでは、 実アド レス ・ モー ドのレイアウ トが使用される。 FPU レジスタ ・ ス<br />

タ ッ ク の内容は、 動作環境イ メ ー ジの直後の 80 バイ ト のエリアにス ト アされる。<br />

FRSTOR 命令は、 対応する FSAVE/FNSAVE 命令と 同じ動作モー ド で実行する必要があ<br />

る。<br />

新しい FPU ステータス ・ ワー ド内で、 1 つ以上のマス ク されていない例外ビ ッ ト がセ ッ<br />

ト された場合は、 浮動小数点例外が発生す る。 新しいオペレ ー テ ィ ン グ環境を ロ ー ド す<br />

るときに例外が発生しないようにするには、 ロードされるFPU ステータス ・ ワー ド内の<br />

すべての例外フラグを ク リ アする。<br />

操作<br />

FPUControlWord ← SRC(FPUControlWord);<br />

FPUStatusWord ← SRC(FPUStatusWord);<br />

FPUTagWord ← SRC(FPUTagWord);<br />

FPUDataPointer ← SRC(FPUDataPointer);<br />

FPUInstructionPointer ← SRC(FPUInstructionPointer);<br />

FPULastInstructionOpcode ← SRC(FPULastInstructionOpcode);<br />

ST(0) ← SRC(ST(0));<br />

ST(1) ← SRC(ST(1));<br />

ST(2) ← SRC(ST(2));<br />

ST(3) ← SRC(ST(3));<br />

ST(4) ← SRC(ST(4));<br />

ST(5) ← SRC(ST(5));<br />

ST(6) ← SRC(ST(6));<br />

ST(7) ← SRC(ST(7));<br />

FPU 影響を受けるフラグ<br />

C0、 C1、 C2、 C3 フラグがロードされる。<br />

浮動小数点例外<br />

なし。 ただし、 検出されたが、 マス ク されていたために発生しなか った既存の例外が、<br />

こ の操作に よ っ てマス ク を解除される場合がある。 その よ う な例外は、 こ こ で、<br />

FRSTOR 命令の終了後に発生する。<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!