24531904_j
24531904_j 24531904_j
FLDENV—Load FPU Environment ( 続き ) 浮動小数点例外 なし。 ただし、 この操作でマス ク されていない例外がステー タス ・ ワ ー ド に ロ ー ド され た場合は、 次の 「同期型」 (waiting) 浮動小数点命令が実行 さ れた と き に その例外が発生 する。 保護モード例外 #GP(0) メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、 または GS セグ メ ン ト の範囲外の場合。 DS、 ES、 FS、 または GS レジスタを使用してメモリがア クセスされ、 レジスタの内容が NULL セグメン ト ・ セレ クタであった場合。 #SS(0) メモリ ・ オペランドの実効アドレスが SS セグメン ト の範 囲外の場合。 #NM CR0 の EM または TS がセッ ト された場合。 #PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。 #AC(0) 現行特権レベルが 3 のときに、 アライメント ・チェックが イネーブルにされていて、 アライメントが合わないメモリ 参照が行われた場合。 実アドレス・モード例外 #GP メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、 または GS セグ メ ン ト の範囲外の場合。 #SS メモリ ・ オペランドの実効アドレスが SS セグメン ト の範 囲外の場合。 #NM CR0 の EM または TS がセッ ト された場合。 仮想 8086 モード例外 #GP(0) メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、 または GS セグ メ ン ト の範囲外の場合。 #SS(0) メモリ ・ オペランドの実効アドレスが SS セグメン ト の範 囲外の場合。 #NM CR0 の EM または TS がセッ ト された場合。 #PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。 #AC(0) アライメン ト ・ チェ ッ クがイネーブルにされていて、 アラ イ メン ト が合わないメモ リ 参照が行われた場合。 3:508 第 3 巻 : IA-32 基本命令リファレンス
FMUL/FMULP/FIMUL—Multiply オペコード 命令 説明 D8 /1 FMUL m32real ST(0) に m32real を掛け、結果を ST(0) にストアする。 DC /1 FMUL m64real ST(0) に m64real を掛け、結果を ST(0) にストアする。 D8 C8+i FMUL ST(0), ST(i) ST(0) に ST(i) を掛け、結果を ST(0) にストアする。 DC C8+i FMUL ST(i), ST(0) ST(i) に ST(0) を掛け、結果を ST(i) にストアする。 DE C8+i FMULP ST(i), ST(0) ST(i) に ST(0) を掛け、結果を ST(i) にストアし、レジスタ・スタッ クをポップする。 DE C9 FMULP ST(0) に ST(1) を掛け、結果を ST(0) にストアし、レジスタ・ス タックをポップする。 DA /1 FIMUL m32int m32int に ST(0) を掛け、結果を ST(0) にストアする。 DE /1 FIMUL m16int m16int に ST(0) を掛け、結果を ST(0) にストアする。 説明 デスティネーション・オペランドとソース・オペランドとを掛け合わせ、 結果をデス ティネーション ・ ロケーションにストアする。 デスティネーション ・ オペランドは常に FPU データ ・ レジスタである。 ソース ・ オペランド には、 FPU データ ・ レジスタまたは メ モ リ ・ ロ ケ ー シ ョ ン を使用で き る。 メ モ リ 内の ソ ー ス ・ オペラ ン ド に は、 単精度実数、 倍精度実数、 ワ ー ド 整数、 ま たは シ ョ ー ト 整数の フ ォ ー マ ッ ト を使用で き る。 この命令のオペランドなしバージョンでは、 ST(0) レジスタの内容に ST(1) レジスタの内 容を掛ける。 1 オペラン ド ・ バージ ョ ンでは、 ST(0) レジスタの内容にメモリ ・ ロケー ションの内容( 実数値ま たは整数値 ) を掛ける。 2 オペラン ド ・ バージ ョ ンでは、 ST(0) レジスタの内容に ST(i) レジスタの内容を掛けるか、 またはその逆に掛ける。 FMULP 命令は、 結果を ス ト アした後に、 追加操作 と して RPU レジスタ ・ スタックを ポップする。 レジスタ・スタックをポップするため、 プロセッサはST(0) レジスタを空 としてマークし、 スタック ・ポインタ (TOP) を 1 イ ン ク リ メ ン ト す る。 浮動小数点乗算 命令のオペラ ン ド なしバー ジ ョ ンでは、 常に レ ジ ス タ ・ ス タ ッ ク のポ ッ プ操作を伴 う 。 一部のアセンブ ラ では、 こ の命令のニー モニ ッ ク は FMULP ではな く FMUL になってい る。 FIMUL 命令は、 整数ソ ー ス ・ オペラ ン ド を拡張実数フ ォ ー マ ッ ト に変換してか ら 乗算を 行う。 結果の符号は、 掛け合わ さ れる一方 ま たは両方の値が 0 または∞であっても、 常にソー ス と デス テ ィ ネ ー シ ョ ンの符号の排他的論理和である。 ソ ー ス ・ オペラ ン ド は、 整数 0 の場合、 +0 として取り扱われる。 以下の表に、 オーバフローもアンダフローも発生しないものとして、 さまざまなクラス の数の乗算を行ったと きに得られる結果を示す。 第 3 巻 : IA-32 基本命令リファレンス 3:509
- Seite 470 und 471: F2XM1—Compute 2 x -1 ( 続き )
- Seite 472 und 473: FADD/FADDP/FIADD—Add オペコー
- Seite 474 und 475: FADD/FADDP/FIADD—Add ( 続き )
- Seite 476 und 477: FBLD—Load Binary Coded Decimal
- Seite 478 und 479: FBSTP—Store BCD Integer and Pop
- Seite 480 und 481: FBSTP—Store BCD Integer and Pop (
- Seite 482 und 483: FCLEX/FNCLEX—Clear Exceptions オ
- Seite 484 und 485: FCMOVcc—Floating-Point Conditiona
- 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 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 536 und 537: FRNDINT—Round to Integer オペ
- 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
FLDENV—Load FPU Environment ( 続き )<br />
浮動小数点例外<br />
なし。 ただし、 この操作でマス ク されていない例外がステー タス ・ ワ ー ド に ロ ー ド され<br />
た場合は、 次の 「同期型」 (waiting) 浮動小数点命令が実行 さ れた と き に その例外が発生<br />
する。<br />
保護モード例外<br />
#GP(0) メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、<br />
または GS セグ メ ン ト の範囲外の場合。<br />
DS、 ES、 FS、 または GS レジスタを使用してメモリがア<br />
クセスされ、 レジスタの内容が NULL セグメン ト ・ セレ<br />
クタであった場合。<br />
#SS(0) メモリ ・ オペランドの実効アドレスが SS セグメン ト の範<br />
囲外の場合。<br />
#NM CR0 の EM または TS がセッ ト された場合。<br />
#PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。<br />
#AC(0) 現行特権レベルが 3 のときに、 アライメント ・チェックが<br />
イネーブルにされていて、 アライメントが合わないメモリ<br />
参照が行われた場合。<br />
実アドレス・モード例外<br />
#GP メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、<br />
または GS セグ メ ン ト の範囲外の場合。<br />
#SS メモリ ・ オペランドの実効アドレスが SS セグメン ト の範<br />
囲外の場合。<br />
#NM CR0 の EM または TS がセッ ト された場合。<br />
仮想 8086 モード例外<br />
#GP(0) メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、<br />
または GS セグ メ ン ト の範囲外の場合。<br />
#SS(0) メモリ ・ オペランドの実効アドレスが SS セグメン ト の範<br />
囲外の場合。<br />
#NM CR0 の EM または TS がセッ ト された場合。<br />
#PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。<br />
#AC(0) アライメン ト ・ チェ ッ クがイネーブルにされていて、 アラ<br />
イ メン ト が合わないメモ リ 参照が行われた場合。<br />
3:508 第 3 巻 : IA-32 基本命令リファレンス