我正在尝试编写一个引导加载程序,而我正在编写的所有代码都是以真实模式运行的。在所有的例子中,我发现要么是xor ax, ax,要么是xor eax, eax,我不明白这是在做什么。这似乎与建立分部登记册有关,但我不清楚是什么原因。
发布于 2014-10-30 05:28:02
异或指令是独占的或
查看独占或真值表异或
xor eax, eax ; Set eax to 0
mov eax, 0 ; Set eax to 0我不是百分之百肯定,但我认为使用XOR是出于某种历史原因。
发布于 2018-01-30 15:11:04
xor ax, ax将执行与mov ax, 0相同的操作,但具有根据xor逻辑将标志设置为零和清除进位的附加功能。在一些旧的架构中,xor消耗的时钟比mov少。
mov eax,eax将占用5个字节的字节代码,其中xor eax,eax将消耗2个字节。
https://stackoverflow.com/questions/26645676
复制相似问题