CMOVcc—Conditional MoveOpcodeInstructionOp/ En64-Bit ModeCompat/Leg ModeDescription0F 47 /rCMOVA r16, r/m16RMValidValidMove if above (CF=0 and ZF=0).0F 47 /rCMOVA r32, r/m32RMValidValidMove if above (CF=0 and ZF=0).REX.W + 0F 47 /rCMOVA r64, r/m64RMValidN.E.Move if above (CF=0 and ZF=0).0F 43 /rCMOVAE r16, r/m16RMValidValidMove if above or equal (CF=0).0F 43 /rCMOVAE r32, r/m32RMValidValidMove if above or equal (CF=0).REX.W + 0F 43 /rCMOVAE r64, r/m64RMValidN.E.Move if above or equal (CF=0).0F 42 /rCMOVB r16, r/m16RMValidValidMove if below (CF=1).0F 42 /rCMOVB r32, r/m32RMValidValidMove if below (CF=1).REX.W + 0F 42 /rCMOVB r64, r/m64RMValidN.E.Move if below (CF=1).0F 46 /rCMOVBE r16, r/m16RMValidValidMove if below or equal (CF=1 or ZF=1).0F 46 /rCMOVBE r32, r/m32RMValidValidMove if below or equal (CF=1 or ZF=1).REX.W + 0F 46 /rCMOVBE r64, r/m64RMValidN.E.Move if below or equal (CF=1 or ZF=1).0F 42 /rCMOVC r16, r/m16RMValidValidMove if carry (CF=1).0F 42 /rCMOVC r32, r/m32RMValidValidMove if carry (CF=1).REX.W + 0F 42 /rCMOVC r64, r/m64RMValidN.E.Move if carry (CF=1).0F 44 /rCMOVE r16, r/m16RMValidValidMove if equal (ZF=1).0F 44 /rCMOVE r32, r/m32RMValidValidMove if equal (ZF=1).REX.W + 0F 44 /rCMOVE r64, r/m64RMValidN.E.Move if equal (ZF=1).0F 4F /rCMOVG r16, r/m16RMValidValidMove if greater (ZF=0 and SF=OF).0F 4F /rCMOVG r32, r/m32RMValidValidMove if greater (ZF=0 and SF=OF).REX.W + 0F 4F /rCMOVG r64, r/m64RMV/N.E.NAMove if greater (ZF=0 and SF=OF).0F 4D /rCMOVGE r16, r/m16RMValidValidMove if greater or equal (SF=OF).0F 4D /rCMOVGE r32, r/m32RMValidValidMove if greater or equal (SF=OF).REX.W + 0F 4D /rCMOVGE r64, r/m64RMValidN.E.Move if greater or equal (SF=OF).0F 4C /rCMOVL r16, r/m16RMValidValidMove if less (SF≠ OF).0F 4C /rCMOVL r32, r/m32RMValidValidMove if less (SF≠ OF).REX.W + 0F 4C /rCMOVL r64, r/m64RMValidN.E.Move if less (SF≠ OF).0F 4E /rCMOVLE r16, r/m16RMValidValidMove if less or equal (ZF=1 or SF≠ OF).0F 4E /rCMOVLE r32, r/m32RMValidValidMove if less or equal (ZF=1 or SF≠ OF).REX.W + 0F 4E /rCMOVLE r64, r/m64RMValidN.E.Move if less or equal (ZF=1 or SF≠ OF).0F 46 /rCMOVNA r16, r/m16RMValidValidMove if not above (CF=1 or ZF=1).0F 46 /rCMOVNA r32, r/m32RMValidValidMove if not above (CF=1 or ZF=1).REX.W + 0F 46 /rCMOVNA r64, r/m64RMValidN.E.Move if not above (CF=1 or ZF=1).0F 42 /rCMOVNAE r16, r/m16RMValidValidMove if not above or equal (CF=1).0F 42 /rCMOVNAE r32, r/m32RMValidValidMove if not above or equal (CF=1).REX.W + 0F 42 /rCMOVNAE r64, r/m64RMValidN.E.Move if not above or equal (CF=1).0F 43 /rCMOVNB r16, r/m16RMValidValidMove if not below (CF=0).0F 43 /rCMOVNB r32, r/m32RMValidValidMove if not below (CF=0).REX.W + 0F 43 /rCMOVNB r64, r/m64RMValidN.E.Move if not below (CF=0).0F 47 /rCMOVNBE r16, r/m16RMValidValidMove if not below or equal (CF=0 and ZF=0).
This UNOFFICIAL reference was generated from the official Intel® 64 and IA-32 Architectures Software Developer’s Manual by a dumb script. There is no guarantee that some parts aren't mangled or broken and is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.