24531904_j
24531904_j 24531904_j
CPUID—CPU Identification ( 続き ) EBX ← Reserved, Undefined; ECX ← Reserved, Undefined; EDX ← Reserved, Undefined; BREAK; ESAC; memory_fence(); instruction_serialize(); 影響を受けるフラグ なし。 追加の Itanium ベース・システム環境例外 Itanium アーキテクチャ ・ レジスタ ・ フォルト 例外 ( すべての操作モード ) なし。 NaT レ ジ ス タ参照アボ ー ト 。 インテル・アーキテクチャにおける互換性 CPUID 命令は、 初期モデルの Intel486 プロセッサまたは Intel486 プロセッサよ り も以前 のすべてのインテル ・ アーキテ クチャ ・ プロセ ッサでサポー ト されていない。 EFLAGS レジスタのID フ ラ グを使用して、 こ の命令がサポ ー ト されている か ど う かを判定で き る。 プロシージ ャがこのフラグをセッ ト またはク リアできれば、 プロセッサがそのプロ シージャを実行して CPUID をサポー ト できる。 3:444 第 3 巻 : IA-32 基本命令リファレンス
CWD/CDQ—Convert Word to Doubleword/Convert Doubleword to Quadword オペコード 命令 説明 99 CWD DX:AX ← AX の符号拡張 99 CDQ EDX:EAX ← EAX の符号拡張 説明 ( オペラン ド ・ サイズによ り ) AX または EAX レジスタ内のオペランドのサイズを符号 拡張に よ っ て 2 倍に拡張し、 結果を それぞれ DX:AX または EDX:EAX レジスタにストア する。 CWD 命令は、 AX レ ジスタの値の符号 ( ビッ ト 15) を DX レジスタのすべての ビッ ト位置にコピーする。 CDQ 命令は、 EAX レジスタの値の符号( ビット 31) を EDX レ ジ ス タ のすべての ビ ッ ト 位置に コ ピ ー す る。 CWD 命令を使用す る と 、 ワ ー ド 除算の前に ワ ー ド か ら ダブルワ ー ド の被除数を作る こ と ができ、 CDQ 命令を使用する と、 ダブルワ ー ド 除算の前にダブルワ ー ド か ら ク ワ ッ ド ワードの被除数を作れる。 CWD および CDQ ニーモニッ クは同じオペコー ド を参照する。 CWD 命令は オペラ ン ド ・ サイズ属性が 16 のとき、 またCDQ 命令は オペラ ン ド ・ サイ ズ属性が 32 のときに使用 するこ とを目的としている。 一部のアセンブラには、 CWD が使用された と き はオペラン ド・サイズを16 ビッ トに、 またCDQ が使用された と き は 32 ビ ッ ト に強制で き る も の がある。 その他のアセンブ ラ は、 こ れ ら のニー モニ ッ ク を同義語 (CWD/CDQ) として取 り 扱い、 ど ち ら のニ ー モニ ッ ク が使用 さ れて も 、 その と き のオペラ ン ド ・ サイ ズ属性の 設定を使用して変換対象の値のサイズを判定でき る。 操作 IF OperandSize = 16 (* CWD instruction *) THEN DX ← SignExtend(AX); ELSE (* OperandSize = 32, CDQ instruction *) EDX ← SignExtend(EAX); FI; 追加の Itanium ベース・システム環境例外 Itanium アーキテクチャ ・ レジスタ ・ フォルト 影響を受けるフラグ なし。 例外 ( すべての操作モード ) なし。 NaT レ ジ ス タ参照アボ ー ト 。 第 3 巻 : IA-32 基本命令リファレンス 3:445
- Seite 406 und 407: BOUND ─ Check Array Index Against
- Seite 408 und 409: BSF ─ Bit Scan Forward ( 続き )
- Seite 410 und 411: BSR ─ Bit Scan Reverse ( 続き )
- Seite 412 und 413: BT ─ Bit Test オペコード 命
- Seite 414 und 415: BTC ─ Bit Test and Complement オ
- Seite 416 und 417: BTR ─ Bit Test and Reset オペ
- 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 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 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 (
CPUID—CPU Identification ( 続き )<br />
EBX ← Reserved, Undefined;<br />
ECX ← Reserved, Undefined;<br />
EDX ← Reserved, Undefined;<br />
BREAK;<br />
ESAC;<br />
memory_fence();<br />
instruction_serialize();<br />
影響を受けるフラグ<br />
なし。<br />
追加の Itanium ベース・システム環境例外<br />
Itanium アーキテクチャ ・<br />
レジスタ ・ フォルト<br />
例外 ( すべての操作モード )<br />
なし。<br />
NaT レ ジ ス タ参照アボ ー ト 。<br />
インテル・アーキテクチャにおける互換性<br />
CPUID 命令は、 初期モデルの Intel486 プロセッサまたは Intel486 プロセッサよ り も以前<br />
のすべてのインテル ・ アーキテ クチャ ・ プロセ ッサでサポー ト されていない。 EFLAGS<br />
レジスタのID フ ラ グを使用して、 こ の命令がサポ ー ト されている か ど う かを判定で き<br />
る。 プロシージ ャがこのフラグをセッ ト またはク リアできれば、 プロセッサがそのプロ<br />
シージャを実行して CPUID をサポー ト できる。<br />
3:444 第 3 巻 : IA-32 基本命令リファレンス