我认为xor
是独占的或者可以用于
xorl %ebx %ebx
可用于清除寄存器
然而,在阅读时,我遇到了xorl
的不同用法并且感到困惑。
xorl 12(%ebp),%eax
表示eax = x^y
在此上下文中,它用于x的取幂。这是不正确的用法?感谢。
答案 0 :(得分:4)
此处^
表示XOR,就像在C中使用的那样。
假设我们使用AT& T表示法,那么
xorl 12(%ebp), %eax
将xor
eax
的值为ebp
的12个字节(如果我记得我的汇编器正确的话),这通常是一个局部变量。所以,说
eax ^= y
(假设y
位于ebp+12
)或
x ^= y
如果x
存储在eax
寄存器中。