2012-01-26 45 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.