24531904_j
24531904_j 24531904_j
ENTER—Make Stack Frame for Procedure Parameters ( 続き ) 追加の Itanium ベース・システム環境例外 Itanium アーキテクチャ ・ レジスタ ・ フォルト Itanium アーキテクチャ ・ メモリ ・ フォル ト 保護モード例外 #SS(0) SP または ESP レジスタの新しい値がスタック ・セグメン ト の範囲外の場合。 #PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。 実アドレス・モード例外 なし。 仮想 8086 モード例外 なし。 NaT レ ジ ス タ参照アボ ー ト 。 VHPT データ ・ フォル ト、 ネス ト された TLB フォルト、 データ TLB フォルト、 代替データTLB フォルト、 デー タ・ページ不在フォルト、 データNaT ページ参照アボー ト、 データ・キー・ ミス・フォルト、 データ・キー許可 フォルト、 データ・アクセス権フォルト、 データ・アクセ ス・ビット ・フォルト、 データ・ダーティ ・ビット ・フォ ルト。 3:456 第 3 巻 : IA-32 基本命令リファレンス
F2XM1—Compute 2 x -1 オペコード 命令 説明 D9 F0 F2XM1 ST(0) を (2 ST(0) - 1) で置き換える。 説明 2 の ソ ー ス ・ オペラ ン ド 乗 と い う 指数値か ら 1 を引いた値を計算する。 ソース ・ オペラ ンドはST(0) レジスタにあり、 結果も ST(0) にス ト アされる。 ソース ・ オペランドの値 は -1.0 から +1.0 までの範囲でなければならない。 ソ ース値がこの範囲外の場合は、 結果 は未定義になる。 以下の表に、 オーバフローもアンダフローも発生しないものとして、 さまざまなクラス の数の指数値を計算した と き に得られる結果を示す。 ST(0) SRC ST(0) DEST -1.0 to −0 −0.5 ~ −0 −0 −0 +0 +0 +0 to +1.0 +0 ~ 1.0 2 以外の値の累乗は、 以下の式を使用して計算する。 x y = 2 (y ∗ log 2 x) 操作 ST(0) ← (2 ST(0) − 1); FPU 影響を受けるフラグ C1 ス タ ッ ク ・ アンダ フ ロ ーが発生した場合は 0 にセッ ト され る。 不正確結果例外 (#P) が発生した場合は、 丸めの方向を示 す。 0 = 切り上げなし、 1 = 切り上げ。 C0、 C2、 C3 未定義。 追加の Itanium ベース・システム環境例外 Itanium アーキテクチャ ・ レジスタ ・ フォルト 浮動小数点レ ジ ス タ無効フ ォ ル ト (PSR.dfl が 1 の場合 )、 NaT レ ジ ス タ参照アボ ー ト 。 浮動小数点例外 #IS ス タ ッ ク ・ アンダ フ ロ ーが発生した場合。 #IA ソース・オペランドがSNaN 値であるか、 ま たはその フォーマットがサポートされていない場合。 #D 結果がデ ノ ーマル値である場合。 #U 結果が小さすぎて、 デスティネーション・フォーマットで 表現で き ない場合。 #P 値がデステ ィ ネ ーシ ョ ン ・ フ ォ ーマ ッ ト では正確に表現で きない場合。 第 3 巻 : IA-32 基本命令リファレンス 3:457
- Seite 418 und 419: BTS ─ Bit Test and Set オペコ
- Seite 420 und 421: CALL ─ Call Procedure オペコ
- Seite 422 und 423: CALL ─ Call Procedure ( 続き )
- Seite 424 und 425: CALL ─ Call Procedure ( 続き )
- Seite 426 und 427: CALL ─ Call Procedure ( 続き )
- 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 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
F2XM1—Compute 2 x -1<br />
オペコード 命令 説明<br />
D9 F0 F2XM1 ST(0) を (2 ST(0) - 1) で置き換える。<br />
説明<br />
2 の ソ ー ス ・ オペラ ン ド 乗 と い う 指数値か ら 1 を引いた値を計算する。 ソース ・ オペラ<br />
ンドはST(0) レジスタにあり、 結果も ST(0) にス ト アされる。 ソース ・ オペランドの値 は -1.0 から +1.0 までの範囲でなければならない。 ソ ース値がこの範囲外の場合は、 結果<br />
は未定義になる。<br />
以下の表に、 オーバフローもアンダフローも発生しないものとして、 さまざまなクラス<br />
の数の指数値を計算した と き に得られる結果を示す。<br />
ST(0) SRC ST(0) DEST<br />
-1.0 to −0 −0.5 ~ −0<br />
−0 −0<br />
+0 +0<br />
+0 to +1.0 +0 ~ 1.0<br />
2 以外の値の累乗は、 以下の式を使用して計算する。<br />
x y = 2 (y ∗ log 2 x)<br />
操作<br />
ST(0) ← (2 ST(0) − 1);<br />
FPU 影響を受けるフラグ<br />
C1 ス タ ッ ク ・ アンダ フ ロ ーが発生した場合は 0 にセッ ト され<br />
る。<br />
不正確結果例外 (#P) が発生した場合は、 丸めの方向を示<br />
す。 0 = 切り上げなし、 1 = 切り上げ。<br />
C0、 C2、 C3 未定義。<br />
追加の Itanium ベース・システム環境例外<br />
Itanium アーキテクチャ ・<br />
レジスタ ・ フォルト<br />
浮動小数点レ ジ ス タ無効フ ォ ル ト (PSR.dfl が 1 の場合 )、<br />
NaT レ ジ ス タ参照アボ ー ト 。<br />
浮動小数点例外<br />
#IS ス タ ッ ク ・ アンダ フ ロ ーが発生した場合。<br />
#IA ソース・オペランドがSNaN 値であるか、 ま たはその<br />
フォーマットがサポートされていない場合。<br />
#D 結果がデ ノ ーマル値である場合。<br />
#U 結果が小さすぎて、 デスティネーション・フォーマットで 表現で き ない場合。<br />
#P 値がデステ ィ ネ ーシ ョ ン ・ フ ォ ーマ ッ ト では正確に表現で<br />
きない場合。<br />
第 3 巻 : IA-32 基本命令リファレンス 3:457