以下所有说明都做同样的事情:设置%eax为零.哪种方式最佳(需要最少的机器周期)?
%eax
xorl %eax, %eax mov $0, %eax andl $0, %eax
optimization performance x86 assembly micro-optimization
我想知道这个陈述背后的逻辑,证据.对于任何x,C表达式-x,~x + 1和〜(x-1)都产生相同的结果.我可以证明这对于具体的例子是正确的.我认为证明这一点的方法与两个补码的属性有关.有任何想法吗?
c proof twos-complement
assembly ×1
c ×1
micro-optimization ×1
optimization ×1
performance ×1
proof ×1
twos-complement ×1
x86 ×1