2014-10-30 189 views
0

XOR使用我得到xor是獨家或與可用於 xorl %ebx %ebx可以用來清除註冊困惑在x86彙編

但是在閱讀我碰到的xorl不同的使用和感到困惑。 xorl 12(%ebp),%eax這意味着eax = x^y

在這種情況下,它用於冪的指數。這是不正確的用法?謝謝。

+1

的''^符號被經常用來表示XOR操作。事實上,它被用作許多編程語言的XOR運算符,包括C,Perl和Python。 – 2014-10-30 20:07:04

+0

啊,是的,我感到困惑。我立即想到了動力操作,但我想它被用在獨佔或環境中。謝謝。 – gensou 2014-10-30 20:09:22

+0

在這種情況下,'^'是排他或的C運算符。所以'x^y'的意思是'x xor y',而不是'x的力量y'。所以它不是指數運算符。 – 2014-10-31 10:24:21

回答

4

這裏^意味着XOR,如C.

假設我們正在使用AT & t的標號,然後

xorl 12(%ebp), %eax 

xoreax與來自ebp的值的12個字節(如果記得用於我的彙編程序的權利),這通常是一個局部變量。因此,這將是更正確的說法

eax ^= y 

(假設yebp+12),或

x ^= y 

如果x存儲在eax寄存器。

+1

英特爾符號?看起來像AT&T語法對我來說。 – nrz 2014-10-30 21:21:24

+0

@nrz doh - 這就是我的意思,但我然後寫了錯誤的東西。謝謝 - 修正。 – abligh 2014-10-30 21:24:13