永发信息网

xor eax,eax和mov eax,0有何区别吗

答案:3  悬赏:40  手机版
解决时间 2021-03-02 23:48
  • 提问者网友:無理詩人
  • 2021-03-02 09:26
问题是:我每次看到书上的汇编代码,程序的反汇编代码,里面初始化都是使用这句,从来没有见过有人用mov eax,0这个语句xor eax,eax和mov eax,0有何区别吗?不是后者更加直观吗?
最佳答案
  • 五星知识达人网友:逃夭
  • 2021-03-02 09:56
两者的作用没有区别,都是让eax的值为0,但是xor eax,eax 指令为2字节,mov eax,0 指令为5个字节。相比而言,前面指令更能节省空间。既然你都使用汇编了,那为何不用字节更少,执行时钟周期更短的指令呢?
全部回答
  • 1楼网友:一秋
  • 2021-03-02 12:39
这个虽然结果是一样的,都是变成0,但是xor会影响到状态标志位,使cf of 变成0。
  • 2楼网友:罪歌
  • 2021-03-02 11:15
sub eax, eax
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯