寄存器清零用哪种写法好?

Ark_Xu 2010-12-21 11:13:09
1.
sub ax, ax
这样用减法 是不是效率低 机器码为两个字节

2.
mov ax, 0
机器码为三个字节 感觉会快一点
...全文
651 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
YTerrenceLau 2010-12-21
  • 打赏
  • 举报
回复
用xor除了效率高之外,还非常省电。
一个傻冒 2010-12-21
  • 打赏
  • 举报
回复
用xor效率高。
znxllyuan 2010-12-21
  • 打赏
  • 举报
回复
1、2是我所知道所有的写法了

我比较喜欢用XOR
masmaster 2010-12-21
  • 打赏
  • 举报
回复
and ax,0
va_zaixuexi 2010-12-21
  • 打赏
  • 举报
回复
xor ax,ax 快
sub ax,ax 一样快
mov ax,0 慢
flowerjack 2010-12-21
  • 打赏
  • 举报
回复
它不会要读内存或其它数据传输操作,就是按位来操作,也不用看什么标志位,所以它是最快的
flowerjack 2010-12-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zara 的回复:]
早就一样快了吧。这个东西,涉及到很多方面的,有针对各级 cpu 进行各类优化的文档的。不过,还是别看了,看多了,会神经质的,别和我当初似的,刚看完后,起手敲代码,都不知道该敲 mov offset 还是 lea 了,抑或是该选择 xor 还是 sub 呢。
[/Quote]

通常都是用xor ax ,ax 是最快的,这是由机器特性决定的。CPU最会算这个
znxllyuan 2010-12-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zara 的回复:]
早就一样快了吧。这个东西,涉及到很多方面的,有针对各级 cpu 进行各类优化的文档的。不过,还是别看了,看多了,会神经质的,别和我当初似的,刚看完后,起手敲代码,都不知道该敲 mov offset 还是 lea 了,抑或是该选择 xor 还是 sub 呢。
[/Quote]

同意

现在的CPU用不着太斤斤计较 为了几个指令周期指、令长度把可读性降低了

zara 2010-12-21
  • 打赏
  • 举报
回复
早就一样快了吧。这个东西,涉及到很多方面的,有针对各级 cpu 进行各类优化的文档的。不过,还是别看了,看多了,会神经质的,别和我当初似的,刚看完后,起手敲代码,都不知道该敲 mov offset 还是 lea 了,抑或是该选择 xor 还是 sub 呢。
MeOS 2010-12-21
  • 打赏
  • 举报
回复
个人支持 xor eax,eax,
但是不知道有没有人仔细分析过xor eax,eax,与sub eax,eax,哪个更快一些呢??


21,497

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧