cmovna

Pentium Pro and later

Move if not above (CF == 1 or ZF == 1)

cmovna reg16, r/m16 | cmovna reg32, r/m32 | cmovna reg64, r/m64 | cmovna reg16, reg16, r/m16 | cmovna reg32, reg32, r/m32 | cmovna 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 cmovna 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
cmovna reg16, r/m16Pentium Pro
cmovna reg32, r/m32Pentium Pro
cmovna reg64, r/m64x86-64long
cmovna reg16, reg16, r/m16x86-64apxlong
cmovna reg32, reg32, r/m32x86-64apxlong
cmovna reg64, reg64, r/m64x86-64apxlong