Assembly 汇编8086-异或操作

Assembly 汇编8086-异或操作,assembly,x86,Assembly,X86,我只是想知道这个代码是什么意思: XOR EAX,EBX XOR EBX,EAX XOR EAX,EBX 那太好了 在寄存器上执行此操作不会遇到常见的丑陋故障情况。换句话说,它交换eax和ebx的内容。eax和ebx是寄存器。参见XOR代表“异或”,是一种按位操作。请看,有一条XCHG指令,它的作用完全相同。@ruslik:我相信XCHG具有完全原子化的优势,我不认为这会是一个问题,对吗?另外,在寄存器上,理论上可以通过寄存器重命名引擎对XCHG进行优化(我不知道当前一代的x86是否费心这么

我只是想知道这个代码是什么意思:

XOR EAX,EBX 
XOR EBX,EAX
XOR EAX,EBX
那太好了


在寄存器上执行此操作不会遇到常见的丑陋故障情况。

换句话说,它交换eax和ebx的内容。eax和ebx是寄存器。参见XOR代表“异或”,是一种按位操作。请看,有一条
XCHG
指令,它的作用完全相同。@ruslik:我相信XCHG具有完全原子化的优势,我不认为这会是一个问题,对吗?另外,在寄存器上,理论上可以通过寄存器重命名引擎对XCHG进行优化(我不知道当前一代的x86是否费心这么做——它确实是为reg reg MOV这样做的)而XOR序列必须通过ALU,并且必须按顺序执行。@Kim Sun wu:原子性在这里不是问题,因为不涉及内存。我可以想到两个原因:1)
xor
版本直接映射到C操作,2)
xor
在新处理器上可能比
xchg
更快。