cmovp

Pentium Pro and later

Move if parity (PF == 1)

cmovp reg16, r/m16 | cmovp reg32, r/m32 | cmovp reg64, r/m64 | cmovp reg16, reg16, r/m16 | cmovp reg32, reg32, r/m32 | cmovp reg64, reg64, r/m64

CMOV moves its source (second) operand into its destination (first) operand if the given condition code is satisfied; otherwise it does nothing.

For a list of condition codes, see the condition codes.

Although the CMOV instructions are flagged P6 and above, they may not be supported by all Pentium Pro processors; the CPUID instruction (CPUID) will return a bit which indicates whether conditional moves are supported.

Loading...

Forms

Every form of cmovp the assembler accepts, from NASM's own instruction table. The second column is the processor that introduced the form; a badge marks a form that needs an extension, that is lockable, or that long mode dropped.

FormSinceNotes
cmovp reg16, r/m16Pentium Pro
cmovp reg32, r/m32Pentium Pro
cmovp reg64, r/m64x86-64long
cmovp reg16, reg16, r/m16x86-64apxlong
cmovp reg32, reg32, r/m32x86-64apxlong
cmovp reg64, reg64, r/m64x86-64apxlong