24531904_j
24531904_j 24531904_j
FBSTP—Store BCD Integer and Pop オペコード 命令 説明 DF /6 FBSTP m80bcd ST(0) を m80bcd にストアし、ST(0) をポップする。 説明 ST(0) レジスタの値を 18 桁のパ ッ ク BCD 整数に変換し、 結果をデス テ ィ ネ ー シ ョ ン ・ オペラン ド にス ト アし、 レジスタ ・ スタ ッ クをポップする。 ソース値は、 非整数値の場 合、 FPU 制御ワ ー ド の RC フ ィ ールド によ って指定される丸めモー ドに従って丸められ る。 レジスタ ・ スタ ッ クをポ ップするため、 プロセッサは ST(0) レジスタを空として マークし、 スタッ ク ・ ポインタ (TOP) を 1 インク リメントする。 デステ ィ ネーシ ョ ン ・ オペラン ド は、 デステ ィ ネーシ ョ ン値の最初のバイト がス ト アさ れる ア ド レ ス を指定す る。 結果の BCD 値は、 ( その符号値を含めて ) 10 バイ ト のメモリ 空間を必要 と す る。 以下の表に、 さ ま ざ ま な ク ラ スのパ ッ ク BCD フォーマットの数をストアしたときに得ら れる結果を示す。 注 : F 有限実数を示す。 D パック BCD 数を示す。 * 浮動小数点無効操作 (#IA) 例外を示す。 ** 丸めモードによって、± 0 または± 1。 ソース値が大きすぎてデスティネーション ・ フォーマッ トで表現できない場合、 無効操 作例外がマス ク されていなければ、 無効操作例外が発生し、 デス テ ィ ネ ー シ ョ ン ・ オペ ラ ン ド に値は ス ト ア さ れない。 無効操作例外がマス ク さ れてい る場合は、 パ ッ ク BCD の 未定義値がメ モ リ にス ト ア さ れる。 ソース値がクワイエッ ト NaN の場合は、無効操作例外が発生する。通常、 クワイエット NaNs では、 この例外は発生しない。 操作 DEST ← BCD(ST(0)); PopRegisterStack; ST(0) DEST −∞ * −F < −1 −D −1 < −F < −0 ** −0 −0 +0 +0 +0 < +F < +1 ** +F > +1 +D +∞ * NaN * 3:466 第 3 巻 : IA-32 基本命令リファレンス
FBSTP—Store BCD Integer and Pop ( 続き ) FPU 影響を受けるフラグ C1 ス タ ッ ク ・ アンダ フ ロ ーが発生した場合は 0 にセッ ト され る。 不正確結果例外 (#P) が発生した場合は、 丸めの方向を示 す。 0 = 切り上げなし、 1 = 切り上げ。 C0、 C2、 C3 未定義。 追加の Itanium ベース・システム環境例外 Itanium アーキテクチャ ・ レジスタ ・ フォルト Itanium アーキテクチャ ・ メモリ ・ フォル ト 浮動小数点レ ジ ス タ無効フ ォ ル ト (PSR.dfl が 1 の場合 )、 NaT レ ジ ス タ参照アボ ー ト 。 VHPT データ ・ フォル ト、 ネス ト された TLB フォルト、 データ TLB フォルト、 代替データTLB フォルト、 デー タ・ページ不在フォルト、 データNaT ページ参照アボー ト、 データ・キー・ ミス・フォルト、 データ・キー許可 フォルト、 データ・アクセス権フォルト、 データ・アクセ ス・ビット ・フォルト、 データ・ダーティ ・ビット ・フォ ルト。 浮動小数点例外 #IS ス タ ッ ク ・ アンダ フ ロ ーが発生した場合。 #IA ソ ー ス ・ オペラ ン ド が空であ る か、 内容が NaN または± ∞、 あるいはサポー ト されていないフ ォ ーマッ ト である か、 または内容値が 18 BCD 桁の長 さ を超えている場合。 #P 値がデステ ィ ネ ーシ ョ ン ・ フ ォ ーマ ッ ト では正確に表現で きない場合。 保護モード例外 #GP(0) セグメン ト ・ レジスタに書き込み不可能なセグメン ト を指 示先 と するセグ メ ン ト ・ セレ ク タがロ ー ド されよ う と した 場合。 メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、 または GS セグ メ ン ト の範囲外の場合。 DS、 ES、 FS、 または GS レジスタの内容がNULL セグメ ン ト ・ セ レ ク タ の場合。 #SS(0) メモリ ・ オペランドの実効アドレスが SS セグメン ト の範 囲外の場合。 #NM CR0 の EM または TS がセッ ト された場合。 #PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。 #AC(0) 現行特権レベルが 3 のときに、 アライメント ・チェックが イネーブルにされていて、 アライメントが合わないメモリ 参照が行われた場合。 第 3 巻 : IA-32 基本命令リファレンス 3:467
- Seite 428 und 429: CALL ─ Call Procedure ( 続き )
- Seite 430 und 431: CBW/CWDE ─ Convert Byte to Word/C
- Seite 432 und 433: CLC ─ Clear Carry Flag オペコ
- Seite 434 und 435: CLI ─ Clear Interrupt Flag オペ
- Seite 436 und 437: CLTS—Clear Task-Switched Flag in
- Seite 438 und 439: CMOVcc—Conditional Move オペコ
- Seite 440 und 441: CMOVcc—Conditional Move ( 続き
- Seite 442 und 443: CMP—Compare Two Operands オペ
- Seite 444 und 445: CMPS/CMPSB/CMPSW/CMPSD—Compare St
- Seite 446 und 447: CMPS/CMPSB/CMPSW/CMPSD—Compare St
- Seite 448 und 449: CMPXCHG—Compare and Exchange (
- Seite 450 und 451: CMPXCHG8B—Compare and Exchange 8
- Seite 452 und 453: CPUID—CPU Identification オペ
- Seite 454 und 455: CPUID—CPU Identification ( 続き
- Seite 456 und 457: CPUID—CPU Identification ( 続き
- Seite 458 und 459: CWDE—Convert Word to Doubleword
- Seite 460 und 461: DAS—Decimal Adjust AL after Subtr
- Seite 462 und 463: DEC—Decrement by 1 ( 続き ) #AC
- Seite 464 und 465: DIV—Unsigned Divide ( 続き ) FI
- Seite 466 und 467: ENTER—Make Stack Frame for Proced
- Seite 468 und 469: ENTER—Make Stack Frame for Proced
- 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 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 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 オペ
FBSTP—Store BCD Integer and Pop ( 続き )<br />
FPU 影響を受けるフラグ<br />
C1 ス タ ッ ク ・ アンダ フ ロ ーが発生した場合は 0 にセッ ト され<br />
る。<br />
不正確結果例外 (#P) が発生した場合は、 丸めの方向を示<br />
す。 0 = 切り上げなし、 1 = 切り上げ。<br />
C0、 C2、 C3 未定義。<br />
追加の Itanium ベース・システム環境例外<br />
Itanium アーキテクチャ ・<br />
レジスタ ・ フォルト<br />
Itanium アーキテクチャ ・<br />
メモリ ・ フォル ト<br />
浮動小数点レ ジ ス タ無効フ ォ ル ト (PSR.dfl が 1 の場合 )、<br />
NaT レ ジ ス タ参照アボ ー ト 。<br />
VHPT データ ・ フォル ト、 ネス ト された TLB フォルト、<br />
データ TLB フォルト、 代替データTLB フォルト、 デー<br />
タ・ページ不在フォルト、 データNaT ページ参照アボー<br />
ト、 データ・キー・ ミス・フォルト、 データ・キー許可<br />
フォルト、 データ・アクセス権フォルト、 データ・アクセ<br />
ス・ビット ・フォルト、 データ・ダーティ ・ビット ・フォ<br />
ルト。<br />
浮動小数点例外<br />
#IS ス タ ッ ク ・ アンダ フ ロ ーが発生した場合。<br />
#IA ソ ー ス ・ オペラ ン ド が空であ る か、 内容が NaN または±<br />
∞、 あるいはサポー ト されていないフ ォ ーマッ ト である<br />
か、 または内容値が 18 BCD 桁の長 さ を超えている場合。<br />
#P 値がデステ ィ ネ ーシ ョ ン ・ フ ォ ーマ ッ ト では正確に表現で<br />
きない場合。<br />
保護モード例外<br />
#GP(0) セグメン ト ・ レジスタに書き込み不可能なセグメン ト を指<br />
示先 と するセグ メ ン ト ・ セレ ク タがロ ー ド されよ う と した<br />
場合。<br />
メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、<br />
または GS セグ メ ン ト の範囲外の場合。<br />
DS、 ES、 FS、 または GS レジスタの内容がNULL セグメ<br />
ン ト ・ セ レ ク タ の場合。<br />
#SS(0) メモリ ・ オペランドの実効アドレスが SS セグメン ト の範<br />
囲外の場合。<br />
#NM CR0 の EM または TS がセッ ト された場合。<br />
#PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。<br />
#AC(0) 現行特権レベルが 3 のときに、 アライメント ・チェックが<br />
イネーブルにされていて、 アライメントが合わないメモリ<br />
参照が行われた場合。<br />
第 3 巻 : IA-32 基本命令リファレンス 3:467