24531904_j
24531904_j 24531904_j
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
- Seite 486 und 487: FCOM/FCOMP/FCOMPP—Compare Real (
- Seite 488 und 489: FCOMI/FCOMIP/FUCOMI/FUCOMIP—Compa
- Seite 490 und 491: FCOMI/FCOMIP/ FUCOMI/FUCOMIP—Comp
- Seite 492 und 493: FCOS—Cosine ( 続き ) 追加の
- Seite 494 und 495: FDIV/FDIVP/FIDIV—Divide オペコ
- Seite 496 und 497: FDIV/FDIVP/FIDIV—Divide ( 続き
- Seite 498 und 499: FDIVR/FDIVRP/FIDIVR—Reverse Divid
- Seite 500 und 501: FDIVR/FDIVRP/FIDIVR—Reverse Divid
- Seite 502 und 503: FFREE—Free Floating-Point Registe
- Seite 504 und 505: FICOM/FICOMP—Compare Integer (
- Seite 506 und 507: FILD—Load Integer オペコード
- Seite 508 und 509: FINCSTP—Increment Stack-Top Point
- Seite 510 und 511: FIST/FISTP—Store Integer オペ
- Seite 512 und 513: FIST/FISTP—Store Integer ( 続き
- Seite 514 und 515: FLD—Load Real ( 続き ) 浮動
- Seite 516 und 517: FLD1/FLDL2T/FLDL2E/FLDPI/FLDLG2/FLD
- Seite 518 und 519: FLDCW—Load Control Word ( 続き
- Seite 520 und 521: FLDENV—Load FPU Environment ( 続
- Seite 522 und 523: FMUL/FMULP/FIMUL—Multiply ( 続
- Seite 524 und 525: FMUL/FMULP/FIMUL—Multiply ( 続
- Seite 526 und 527: FPATAN—Partial Arctangent オペ
- Seite 528 und 529: FPREM—Partial Remainder オペコ
- Seite 530 und 531: FPREM—Partial Remainder ( 続き
- Seite 532 und 533: FPREM1—Partial Remainder ( 続き
- Seite 534 und 535: FPTAN—Partial Tangent オペコ
- Seite 538 und 539: FRSTOR—Restore FPU State ( 続き
- Seite 540 und 541: FSAVE/FNSAVE—Store FPU State (
- Seite 542 und 543: FSCALE—Scale オペコード 命
- Seite 544 und 545: FSIN—Sine オペコード 命令
- Seite 546 und 547: FSINCOS—Sine and Cosine オペコ
- Seite 548 und 549: FSQRT—Square Root オペコード
- Seite 550 und 551: FST/FSTP—Store Real オペコー
- Seite 552 und 553: FST/FSTP—Store Real ( 続き ) #A
- Seite 554 und 555: FSTCW/FNSTCW—Store Control Word (
- Seite 556 und 557: FSTENV/FNSTENV—Store FPU Environm
- Seite 558 und 559: FSTSW/FNSTSW—Store Status Word (
- Seite 560 und 561: FSUB/FSUBP/FISUB—Subtract ( 続
- Seite 562 und 563: FSUBR/FSUBRP/FISUBR—Reverse Subtr
- Seite 564 und 565: FSUBR/FSUBRP/FISUBR—Reverse Subtr
- Seite 566 und 567: FTST—TEST オペコード 命令
- Seite 568 und 569: FUCOM/FUCOMP/FUCOMPP—Unordered Co
- Seite 570 und 571: FWAIT—Wait 本章の 「WAIT」
- Seite 572 und 573: FXAM—Examine ( 続き ) 実アド
- Seite 574 und 575: FXCH—Exchange Register Contents (
- Seite 576 und 577: FXTRACT—Extract Exponent and Sign
- Seite 578 und 579: FYL2X—Compute y ∗ log 2 x ( 続
- Seite 580 und 581: FYL2XP1—Compute y ∗ log 2 (x +1
- Seite 582 und 583: IDIV—Signed Divide オペコー
- Seite 584 und 585: IDIV—Signed Divide ( 続き ) 実
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