x86 AND指令

时间:2012-01-26 21:39:42

标签: assembly x86 logical-operators

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

and $0xf, %eax

%eax之前和之后的内容仍然是4.这怎么可能? ANDing 100 & 1111应该导致1100为12,而不是4。

3 个答案:

答案 0 :(得分:13)

从什么时候开始0100 & 1111 = 1100

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

答案 1 :(得分:9)

100视为0100,您可以看到0100 & 1111显然是0100

答案 2 :(得分:6)

不 - 你犯了一个错误。 100& 1111 = 100。