对寄存器置零下面哪个更快?
xor ax, axsub ax, ax
mov ax, 0 最后一个立即寻址的方式最快。 xor是单周期的指令似乎,据说有xor很快,但我怀疑有没有必要... 回复 1# yylogo
不熟悉x86的指令。但是gcc是用 xor 来清零的。 最后一个立即寻址的方式最快。
L_kernel 发表于 2010-08-02 11:59 http://linux.chinaunix.net/bbs/images/common/back.gif
我猜这个最慢。 我猜这个最慢。
beepbug 发表于 2010-08-03 20:32 http://linux.chinaunix.net/bbs/images/common/back.gif
可否讲一下原因?哪怕是猜的。 操作数在寄存器中快。
立即数较快。
存储器或者I/O端口较慢。 最快的应该是:
xor ax, ax 可否讲一下原因?哪怕是猜的。
L_kernel 发表于 2010-08-03 21:17 http://linux.chinaunix.net/bbs/images/common/back.gif
我猜:
第三条指令需要内嵌0这个立即数,指令比较长。 re 8 lou
页:
[1]
2