3-72
INSTRUCTION SET REFERENCE
CMOVcc—Conditional Move
Opcode
Instruction
Description
0F 47 /r
CMOVA r16, r/m16
Move if above (CF=0 and ZF=0)
0F 47 /r
CMOVA r32, r/m32
Move if above (CF=0 and ZF=0)
0F 43 /r
CMOVAE r16, r/m16
Move if above or equal (CF=0)
0F 43 /r
CMOVAE r32, r/m32
Move if above or equal (CF=0)
0F 42 /r
CMOVB r16, r/m16
Move if below (CF=1)
0F 42 /r
CMOVB r32, r/m32
Move if below (CF=1)
0F 46 /r
CMOVBE r16, r/m16
Move if below or equal (CF=1 or ZF=1)
0F 46 /r
CMOVBE r32, r/m32
Move if below or equal (CF=1 or ZF=1)
0F 42 /r
CMOVC r16, r/m16
Move if carry (CF=1)
0F 42 /r
CMOVC r32, r/m32
Move if carry (CF=1)
0F 44 /r
CMOVE r16, r/m16
Move if equal (ZF=1)
0F 44 /r
CMOVE r32, r/m32
Move if equal (ZF=1)
0F 4F /r
CMOVG r16, r/m16
Move if greater (ZF=0 and SF=OF)
0F 4F /r
CMOVG r32, r/m32
Move if greater (ZF=0 and SF=OF)
0F 4D /r
CMOVGE r16, r/m16
Move if greater or equal (SF=OF)
0F 4D /r
CMOVGE r32, r/m32
Move if greater or equal (SF=OF)
0F 4C /r
CMOVL r16, r/m16
Move if less (SF<>OF)
0F 4C /r
CMOVL r32, r/m32
Move if less (SF<>OF)
0F 4E /r
CMOVLE r16, r/m16
Move if less or equal (ZF=1 or SF<>OF)
0F 4E /r
CMOVLE r32, r/m32
Move if less or equal (ZF=1 or SF<>OF)
0F 46 /r
CMOVNA r16, r/m16
Move if not above (CF=1 or ZF=1)
0F 46 /r
CMOVNA r32, r/m32
Move if not above (CF=1 or ZF=1)
0F 42 /r
CMOVNAE r16, r/m16Move if not above or equal (CF=1)
0F 42 /r
CMOVNAE r32, r/m32Move if not above or equal (CF=1)
0F 43 /r
CMOVNB r16, r/m16
Move if not below (CF=0)
0F 43 /r
CMOVNB r32, r/m32
Move if not below (CF=0)
0F 47 /r
CMOVNBE r16, r/m16Move if not below or equal (CF=0 and ZF=0)
0F 47 /r
CMOVNBE r32, r/m32Move if not below or equal (CF=0 and ZF=0)
0F 43 /r
CMOVNC r16, r/m16
Move if not carry (CF=0)
0F 43 /r
CMOVNC r32, r/m32
Move if not carry (CF=0)
0F 45 /r
CMOVNE r16, r/m16
Move if not equal (ZF=0)
0F 45 /r
CMOVNE r32, r/m32
Move if not equal (ZF=0)
0F 4E /r
CMOVNG r16, r/m16
Move if not greater (ZF=1 or SF<>OF)
0F 4E /r
CMOVNG r32, r/m32
Move if not greater (ZF=1 or SF<>OF)
0F 4C /r
CMOVNGE r16, r/m16Move if not greater or equal (SF<>OF)
0F 4C /r
CMOVNGE r32, r/m32Move if not greater or equal (SF<>OF)
0F 4D /r
CMOVNL r16, r/m16
Move if not less (SF=OF)
0F 4D /r
CMOVNL r32, r/m32
Move if not less (SF=OF)
0F 4F /r
CMOVNLE r16, r/m16Move if not less or equal (ZF=0 and SF=OF)
0F 4F /r
CMOVNLE r32, r/m32Move if not less or equal (ZF=0 and SF=OF)