xorl和movl哪个更快
倒不在于快不快,主要是这样占字节数少,有时候偏偏就差这一两个字节,你就不能用LOOP指令了,或者512B的引导扇区装不下了。注:x86中LOOP/LOOPD指令只能跳转-128-127B
■网友
编译器把a=0编译成xorl %eax,%eax而非movl $0,%eax是因为前者只占2个字节而后者占5个字节(见下图)。相对而言,xorl更节省空间。
【xorl和movl哪个更快】
补充一下:这并不是绝对的,编译器有时也会把a=0编译成movl $0,%eax。
■网友
用汇编写一段这个指令连跑1亿次的程序,前后rdtsc一下,就知道了我记得xor eax,eax 是比mov eax,0 快的,因为立即数的访问也需要时间,同时xor的话指令长度更短
■网友
0是立即数 ,mov的速度比xor 慢,xor也省内存
■网友
如果是普通的xor指令,即两个寄存器不同,那这个指令就会有dependency,如果前面有任何写入两个寄存器的指令就会变慢,而mov 立即数没有dependency问题。不过现在的处理器可以识别xor eax, eax这样的置0指令(还有sub eax, eax),不会产生dependency,所以速度和mov一样。唯一的问题是xor会修改flags,但mov不会
推荐阅读
- 设计专业学生上传自己的作品,用哪个网站比较好
- 孩子|和在夏天出生哪个更好?冬天生三个优势遥遥领先孩子在冬天出生
- 电话营销机器人哪个比较好用
- 中年|合资铃木和新大洲本田的踏板车,哪个更好?
- 绝经|45岁绝经和55岁绝经的女性,有什么不一样?哪个衰老速度更快?
- 汽车知识|全新奔腾B70发售了,哪个配置值得入手,售价9.99万起
- 请问国内最好的数据恢复公司是哪个朋友结婚视频不小心被误删,急求帮忙
- Java工程师和C++工程师在工作上有啥区别哪个更适合自身发展
- 哪个数据库,可以直接做数据透视图(navicat类的也可以)
- 网页设计和嵌入式哪个发展好一点?