2012-01-26 113 views
1

在x86 64位,我有以下指令:x86和指令

and $0xf, %eax 

之前和遺體4後的%eax中的內容,這怎麼可能?取與100 & 1111應導致1100是12,而不是4

+5

「ANDing 100&1111應該導致1100」不,它應該導致100。這個指令計算的是什麼,所以一切都很好。 –

回答

11

既然什麼時候是0100 & 1111 = 1100

0100 = 4 
& 1111 = 15 
------ 
    0100 = 4 
9

100作爲0100思考,你可以看到,0100 & 1111顯然是0100

6

不是 - 你犯了一個錯誤。 100 & 1111 = 100.