xor eax,eax 是异或运算,两数相反为1;两数相同为0。由于这两个数相同,异或后等于清0 。
使用xor置零比使用mov更快速,这是程序性能的优化。
就比如:需要得到一个数N的三倍数,你可以使用乘法,就一个mul,但是也可以使用:N左移一位,再加上N,也是三倍。同样的结果,不同的过程,但是后者 反而会比前者更快,尽管前者只是一个指令,但是这个指令的执行速度不如后两个指令执行时间。
xor eax,eax 是异或运算,两数相反为1;两数相同为0。由于这两个数相同,异或后等于清0 。
使用xor置零比使用mov更快速,这是程序性能的优化。
就比如:需要得到一个数N的三倍数,你可以使用乘法,就一个mul,但是也可以使用:N左移一位,再加上N,也是三倍。同样的结果,不同的过程,但是后者 反而会比前者更快,尽管前者只是一个指令,但是这个指令的执行速度不如后两个指令执行时间。