24531904_j
24531904_j 24531904_j
CMOVcc—Conditional Move オペコード 命令 説明 0F 47 cw/cd CMOVA r16, r/m16 より上 (CF=0 および ZF=0) の場合転送する。 0F 47 cw/cd CMOVA r32, r/m32 より上 (CF=0 および ZF=0) の場合転送する。 0F 43 cw/cd CMOVAE r16, r/m16 より上か等しい (CF=0) 場合転送する。 0F 43 cw/cd CMOVAE r32, r/m32 より上か等しい (CF=0) 場合転送する。 0F 42 cw/cd CMOVB r16, r/m16 より下 (CF=1) の場合転送する。 0F 42 cw/cd CMOVB r32, r/m32 より下 (CF=1) の場合転送する。 0F 46 cw/cd CMOVBE r16, r/m16 より下か等しい (CF=1 または ZF=1) 場合転送する。 0F 46 cw/cd CMOVBE r32, r/m32 より下か等しい (CF=1 または ZF=1) 場合転送する。 0F 42 cw/cd CMOVC r16, r/m16 キャリーがある (CF=1) 場合転送する。 0F 42 cw/cd CMOVC r32, r/m32 キャリーがある (CF=1) 場合転送する。 0F 44 cw/cd CMOVE r16, r/m16 等しい (ZF=1) 場合転送する。 0F 44 cw/cd CMOVE r32, r/m32 等しい (ZF=1) 場合転送する。 0F 4F cw/cd CMOVG r16, r/m16 より大きい (ZF=0 および SF=OF) 場合転送する。 0F 4F cw/cd CMOVG r32, r/m32 より大きい (ZF=0 および SF=OF) 場合転送する。 0F 4D cw/cd CMOVGE r16, r/m16 より大きいか等しい (SF=OF) 場合転送する。 0F 4D cw/cd CMOVGE r32, r/m32 より大きいか等しい (SF=OF) 場合転送する。 0F 4C cw/cd CMOVL r16, r/m16 より小さい (SFOF) 場合転送する。 0F 4C cw/cd CMOVL r32, r/m32 より小さい (SFOF) 場合転送する。 0F 4E cw/cd CMOVLE r16, r/m16 より小さいか等しい (ZF=1 または SFOF) 場合転送する。 0F 4E cw/cd CMOVLE r32, r/m32 より小さいか等しい (ZF=1 または SFOF) 場合転送する。 0F 46 cw/cd CMOVNA r16, r/m16 より上でない (CF=1 または ZF=1) 場合転送する。 0F 46 cw/cd CMOVNA r32, r/m32 より上でない (CF=1 または ZF=1) 場合転送する。 0F 42 cw/cd CMOVNAE r16, r/m16 より上でなく等しくない (CF=1) 場合転送する。 0F 42 cw/cd CMOVNAE r32, r/m32 より上でなく等しくない (CF=1) 場合転送する。 0F 43 cw/cd CMOVNB r16, r/m16 より下でない (CF=0) 場合転送する。 0F 43 cw/cd CMOVNB r32, r/m32 より下でない (CF=0) 場合転送する。 0F 47 cw/cd CMOVNBE r16, r/m16 より下でなく等しくない (CF=0 および ZF=0) 場合転送する。 0F 47 cw/cd CMOVNBE r32, r/m32 より下でなく等しくない (CF=0 および ZF=0) 場合転送する。 0F 43 cw/cd CMOVNC r16, r/m16 キャリーがない (CF=0) 場合転送する。 0F 43 cw/cd CMOVNC r32, r/m32 キャリーがない (CF=0) 場合転送する。 0F 45 cw/cd CMOVNE r16, r/m16 等しくない (ZF=0) 場合転送する。 0F 45 cw/cd CMOVNE r32, r/m32 等しくない (ZF=0) 場合転送する。 0F 4E cw/cd CMOVNG r16, r/m16 より大きくない (ZF=1 または SFOF) 場合転送する。 0F 4E cw/cd CMOVNG r32, r/m32 より大きくない (ZF=1 または SFOF) 場合転送する。 0F 4C cw/cd CMOVNGE r16, r/m16 より大きくなく等しくない (SFOF) 場合転送する。 0F 4C cw/cd CMOVNGE r32, r/m32 より大きくなく等しくない (SFOF) 場合転送する。 0F 4D cw/cd CMOVNL r16, r/m16 より小さくない (SF=OF) 場合転送する。 3:426 第 3 巻 : IA-32 基本命令リファレンス
CMOVcc—Conditional Move ( 続き ) オペコード 命令 説明 0F 4D cw/cd CMOVNL r32, r/m32 より小さくない (SF=OF) 場合転送する。 0F 4F cw/cd CMOVNLE r16, r/m16 より小さくなく等しくない (ZF=0 および SF=OF) 場合転送する。 0F 4F cw/cd CMOVNLE r32, r/m32 より小さくなく等しくない (ZF=0 および SF=OF) 場合転送する。 0F 41 cw/cd CMOVNO r16, r/m16 オーバフローがない (OF=0) 場合転送する。 0F 41 cw/cd CMOVNO r32, r/m32 オーバフローがない (OF=0) 場合転送する。 0F 4B cw/cd CMOVNP r16, r/m16 パリティがない (PF=0) 場合転送する。 0F 4B cw/cd CMOVNP r32, r/m32 パリティがない (PF=0) 場合転送する。 0F 49 cw/cd CMOVNS r16, r/m16 符号がない (SF=0) 場合転送する。 0F 49 cw/cd CMOVNS r32, r/m32 符号がない (SF=0) 場合転送する。 0F 45 cw/cd CMOVNZ r16, r/m16 ゼロでない (ZF=0) 場合転送する。 0F 45 cw/cd CMOVNZ r32, r/m32 ゼロでない (ZF=0) 場合転送する。 0F 40 cw/cd CMOVO r16, r/m16 オーバフローがある (OF=0) 場合転送する。 0F 40 cw/cd CMOVO r32, r/m32 オーバフローがある (OF=0 ) 場合転送する。 0F 4A cw/cd CMOVP r16, r/m16 パリティがある (PF=1) 場合転送する。 0F 4A cw/cd CMOVP r32, r/m32 パリティがある (PF=1) 場合転送する。 0F 4A cw/cd CMOVPE r16, r/m16 パリティが偶数 (PF=1) の場合転送する。 0F 4A cw/cd CMOVPE r32, r/m32 パリティが偶数 (PF=1) の場合転送する。 0F 4B cw/cd CMOVPO r16, r/m16 パリティが奇数 (PF=0) の場合転送する。 0F 4B cw/cd CMOVPO r32, r/m32 パリティが奇数 (PF=0) の場合転送する。 0F 48 cw/cd CMOVS r16, r/m16 符号がある (SF=1) 場合転送する。 0F 48 cw/cd CMOVS r32, r/m32 符号がある (SF=1) 場合転送する。 0F 44 cw/cd CMOVZ r16, r/m16 ゼロ (ZF=1) の場合転送する。 0F 44 cw/cd CMOVZ r32, r/m32 ゼロ (ZF=1) の場合転送する。 説明 CMOVcc 命令は、 EFLAGS レジスタ内のステータス ・ フラグ (CF、 OF、 PF、 SF、 ZF) の 1 つ以上の状態を調べ、 それらのフ ラグが指定された状態 ( または条件) の場合、 転送操 作を実行する。 各命令ご と に特定の条件コ ー ド (cc) が対応してお り、 テス ト 対象の条件 を示している。 条件が満たされなか った場合は、 転送は行われず、 CMOVcc 命令の次の 命令か ら 実行が継続 さ れる。 メ モ リ 形式で状態が偽であ る場合、 プ ロ セ ッ サ ・ モデルに よ っ ては、 ロ ー ド が開始 さ れ ( ロード されたデータが廃棄され)、 メモリ ・ フォル トが発生する可能性がある。 他のプ ロ セ ッ サ ・ モデルでは、 状態が偽である場合は、 ロ ー ド は開始 さ れず、 フ ォ ル ト は発生 しない。 これらの命令では、 メモリからいずれかの汎用レジスタに、 または 1 つの汎用レジスタ か ら他の汎用レ ジ ス タ に 16 または 32 ビットの値を転送する。 8 ビッ ト ・レジスタ・オ ペラ ン ド の条件付き転送はサポ ー ト さ れていない。 各 CMOVcc ニーモニ ッ クの条件は、 上記の表の説明欄に示している。 「よ り小さ い」 と 「 よ り 大き い」 の表現は、 符号付き整数の比較に使用 さ れ、 「 よ り 上」 と 「 よ り 下」 の表 現は符号なし整数の比較に使用 さ れてい る。 第 3 巻 : IA-32 基本命令リファレンス 3:427
- Seite 388 und 389: • レ ジ ス タ名は暗黙に
- Seite 390 und 391: 図 1-1. BIT[EAX,21] のビット
- Seite 392 und 393: 1.2.7 仮想 8086 モード例外
- Seite 394 und 395: AAD ─ ASCII Adjust AX Before Divi
- Seite 396 und 397: AAS ─ ASCII Adjust AL After Subtr
- Seite 398 und 399: ADC ─ Add with Carry ( 続き )
- Seite 400 und 401: ADD ─ Add ( 続き ) 保護モー
- Seite 402 und 403: AND ─ Logical AND ( 続き ) 保
- Seite 404 und 405: ARPL ─ Adjust RPL Field of Segmen
- 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 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 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 (
CMOVcc—Conditional Move<br />
オペコード 命令 説明<br />
0F 47 cw/cd CMOVA r16, r/m16 より上 (CF=0 および ZF=0) の場合転送する。<br />
0F 47 cw/cd CMOVA r32, r/m32 より上 (CF=0 および ZF=0) の場合転送する。<br />
0F 43 cw/cd CMOVAE r16, r/m16 より上か等しい (CF=0) 場合転送する。<br />
0F 43 cw/cd CMOVAE r32, r/m32 より上か等しい (CF=0) 場合転送する。<br />
0F 42 cw/cd CMOVB r16, r/m16 より下 (CF=1) の場合転送する。<br />
0F 42 cw/cd CMOVB r32, r/m32 より下 (CF=1) の場合転送する。<br />
0F 46 cw/cd CMOVBE r16, r/m16 より下か等しい (CF=1 または ZF=1) 場合転送する。<br />
0F 46 cw/cd CMOVBE r32, r/m32 より下か等しい (CF=1 または ZF=1) 場合転送する。<br />
0F 42 cw/cd CMOVC r16, r/m16 キャリーがある (CF=1) 場合転送する。<br />
0F 42 cw/cd CMOVC r32, r/m32 キャリーがある (CF=1) 場合転送する。<br />
0F 44 cw/cd CMOVE r16, r/m16 等しい (ZF=1) 場合転送する。<br />
0F 44 cw/cd CMOVE r32, r/m32 等しい (ZF=1) 場合転送する。<br />
0F 4F cw/cd CMOVG r16, r/m16 より大きい (ZF=0 および SF=OF) 場合転送する。<br />
0F 4F cw/cd CMOVG r32, r/m32 より大きい (ZF=0 および SF=OF) 場合転送する。<br />
0F 4D cw/cd CMOVGE r16, r/m16 より大きいか等しい (SF=OF) 場合転送する。<br />
0F 4D cw/cd CMOVGE r32, r/m32 より大きいか等しい (SF=OF) 場合転送する。<br />
0F 4C cw/cd CMOVL r16, r/m16 より小さい (SFOF) 場合転送する。<br />
0F 4C cw/cd CMOVL r32, r/m32 より小さい (SFOF) 場合転送する。<br />
0F 4E cw/cd CMOVLE r16, r/m16 より小さいか等しい (ZF=1 または SFOF) 場合転送する。<br />
0F 4E cw/cd CMOVLE r32, r/m32 より小さいか等しい (ZF=1 または SFOF) 場合転送する。<br />
0F 46 cw/cd CMOVNA r16, r/m16 より上でない (CF=1 または ZF=1) 場合転送する。<br />
0F 46 cw/cd CMOVNA r32, r/m32 より上でない (CF=1 または ZF=1) 場合転送する。<br />
0F 42 cw/cd CMOVNAE r16, r/m16 より上でなく等しくない (CF=1) 場合転送する。<br />
0F 42 cw/cd CMOVNAE r32, r/m32 より上でなく等しくない (CF=1) 場合転送する。<br />
0F 43 cw/cd CMOVNB r16, r/m16 より下でない (CF=0) 場合転送する。<br />
0F 43 cw/cd CMOVNB r32, r/m32 より下でない (CF=0) 場合転送する。<br />
0F 47 cw/cd CMOVNBE r16, r/m16 より下でなく等しくない (CF=0 および ZF=0) 場合転送する。<br />
0F 47 cw/cd CMOVNBE r32, r/m32 より下でなく等しくない (CF=0 および ZF=0) 場合転送する。<br />
0F 43 cw/cd CMOVNC r16, r/m16 キャリーがない (CF=0) 場合転送する。<br />
0F 43 cw/cd CMOVNC r32, r/m32 キャリーがない (CF=0) 場合転送する。<br />
0F 45 cw/cd CMOVNE r16, r/m16 等しくない (ZF=0) 場合転送する。<br />
0F 45 cw/cd CMOVNE r32, r/m32 等しくない (ZF=0) 場合転送する。<br />
0F 4E cw/cd CMOVNG r16, r/m16 より大きくない (ZF=1 または SFOF) 場合転送する。<br />
0F 4E cw/cd CMOVNG r32, r/m32 より大きくない (ZF=1 または SFOF) 場合転送する。<br />
0F 4C cw/cd CMOVNGE r16, r/m16 より大きくなく等しくない (SFOF) 場合転送する。<br />
0F 4C cw/cd CMOVNGE r32, r/m32 より大きくなく等しくない (SFOF) 場合転送する。<br />
0F 4D cw/cd CMOVNL r16, r/m16 より小さくない (SF=OF) 場合転送する。<br />
3:426 第 3 巻 : IA-32 基本命令リファレンス