Difference between revisions of "Assembler:Commands:XOR"

From Cheat Engine
Jump to navigation Jump to search
Line 16: Line 16:
 
<div style="padding:2px;border:1px dashed #2f6fab;background-color:#f4f4f4;">
 
<div style="padding:2px;border:1px dashed #2f6fab;background-color:#f4f4f4;">
 
Performs a bitwise exclusive OR (XOR) operation on the destination (first) and source (second) operands and stores the result in the destination operand location. The source operand can be an immediate, a register, or a memory location; the destination operand can be a register or a memory location. (However, two memory operands cannot be used in one instruction.) Each bit of the result is 1 if the corresponding bits of the operands are different; each bit is 0 if the corresponding bits are the same.
 
Performs a bitwise exclusive OR (XOR) operation on the destination (first) and source (second) operands and stores the result in the destination operand location. The source operand can be an immediate, a register, or a memory location; the destination operand can be a register or a memory location. (However, two memory operands cannot be used in one instruction.) Each bit of the result is 1 if the corresponding bits of the operands are different; each bit is 0 if the corresponding bits are the same.
 
[http://x86.renejeschke.de/html/file_module_x86_id_330.html x86.renejeschke.de/html/file_module_x86_id_330.html]
 
 
</div>
 
</div>
  
Line 65: Line 63:
 
{{AssemblerCommandSeeAlso}}
 
{{AssemblerCommandSeeAlso}}
  
== External links ==
+
{{Template:AssemblerCommandExternalLinks}}
* [https://wikipedia.org/wiki/X86_instruction_listings wikipedia.org/wiki/X86_instruction_listings]
 
* [https://wikibooks.org/wiki/X86_Assembly/Other_Instructions wikibooks.org/wiki/X86_Assembly/Other_Instructions]
 
* [http://x86.renejeschke.de/ x86.renejeschke.de]
 
* [http://www.asmpedia.org/index.php?title=Main_Page asmpedia.org]
 
* [http://ref.x86asm.net/ ref.x86asm.net]
 

Revision as of 15:36, 3 January 2018

command xor destination, source

The XOR instruction implements the bitwise XOR operation. The XOR operation sets the resultant bit to 1, if and only if the bits from the operands are different. If the bits from the operands are same (both 0 or both 1), the resultant bit is cleared to 0.

destination = destination ^ source

Example:

|              destination:     0101 |
|                   source:     0011 |
|------------------------------------|
| After XOR -> destination:     0110 |

The OF and CF flags are cleared; the SF, ZF, and PF flags are set according to the result. The state of the AF flag is undefined.


Performs a bitwise exclusive OR (XOR) operation on the destination (first) and source (second) operands and stores the result in the destination operand location. The source operand can be an immediate, a register, or a memory location; the destination operand can be a register or a memory location. (However, two memory operands cannot be used in one instruction.) Each bit of the result is 1 if the corresponding bits of the operands are different; each bit is 0 if the corresponding bits are the same.


Command Parameters

Parameter Description
destination The destination operand
source The source operand


Examples

xor al,1
xor ax,1
xor ax,1
xor eax,1
xor rax,1
xor al,al
xor ax,ax
xor ax,ax
xor eax,eax
xor rax,rax
xor [eax],eax
xor [rax],rax
xor [00123ABC],eax
xor [SomeSymbol],rax

See also

External links