Difference between revisions of "Assembler:Commands:CMOVA"

From Cheat Engine
Jump to navigation Jump to search
(Created page with 'Category:Assembler '''command''' cmova ''destination, source'' cmova is CMOVcc instruction, The cmova (conditional move if above) check the state of '''CF''' AND '''ZF''', i…')
 
m
Line 2: Line 2:
 
'''command''' cmova ''destination, source''
 
'''command''' cmova ''destination, source''
  
cmova is CMOVcc instruction, The cmova (conditional move if above) check the state of '''CF''' AND '''ZF''', if '''CF=0''' AND '''ZF=0''' then condition satisfied and the cmova will be executed. Otherwise it will be skipped, and the execution will continues with the instruction following it. cmova is used for unsigned integers.
+
cmova is CMOVcc instruction, The cmova ''conditional move if above'' check the state of '''CF''' AND '''ZF'''.
 +
 
 +
If '''CF=0''' AND '''ZF=0''' then condition is satisfied, otherwise it will be skipped.
 +
 
 +
CMOVcc instructions are used after [[Assembler:Commands:CMP|CMP]]
 +
 
 +
 
 +
<div style="padding:2px;border:1px dashed #2f6fab;background-color:#f4f4f4;">
 +
The CMOVcc instructions check the state of one or more of the status flags in the EFLAGS register (CF, OF, PF, SF, and ZF) and perform a move operation if the flags are in a specified state (or condition). A condition code (cc) is associated with each instruction to indicate the condition being tested for. If the condition is not satisfied, a move is not performed and execution continues with the instruction following the CMOVcc instruction.
 +
 
 +
These instructions can move a 16- or 32-bit value from memory to a general-purpose register or from one general-purpose register to another. Conditional moves of 8-bit register operands are not supported.
 +
 
 +
The terms "less" and "greater" are used for comparisons of signed integers and the terms "above" and "below" are used for unsigned integers.
 +
</div>
  
  

Revision as of 08:01, 8 January 2018

command cmova destination, source

cmova is CMOVcc instruction, The cmova conditional move if above check the state of CF AND ZF.

If CF=0 AND ZF=0 then condition is satisfied, otherwise it will be skipped.

CMOVcc instructions are used after CMP


The CMOVcc instructions check the state of one or more of the status flags in the EFLAGS register (CF, OF, PF, SF, and ZF) and perform a move operation if the flags are in a specified state (or condition). A condition code (cc) is associated with each instruction to indicate the condition being tested for. If the condition is not satisfied, a move is not performed and execution continues with the instruction following the CMOVcc instruction.

These instructions can move a 16- or 32-bit value from memory to a general-purpose register or from one general-purpose register to another. Conditional moves of 8-bit register operands are not supported.

The terms "less" and "greater" are used for comparisons of signed integers and the terms "above" and "below" are used for unsigned integers.


Command Parameters

Parameter Description
destination r16 / r32
source m16-r16 / m32-r32


Examples

cmova dx,ax
cmova cx,[bx]
cmova edx,[edx+110]
cmova eax,edx
cmova esi,[00123abc]
cmova edi,[UserDefinedSymbol]


See also

External links