xor ax,ax加载段寄存器

时间:2014-10-30 05:25:06

标签: assembly operating-system x86 bootloader ia-32

我试图编写一个启动加载程序,我写的所有代码都是以实模式运行的。在所有示例中,我发现有xor ax, axxor eax, eax,我不明白这是做什么的。它似乎与设置段寄存器有关,但我不知道是什么。

2 个答案:

答案 0 :(得分:2)

Xor指令是异或OR

查看专有OR真值表XOR

xor eax, eax ; Set eax to 0
mov eax, 0   ; Set eax to 0

我不是百分百肯定,但我认为由于某些历史原因而使用XOR。

答案 1 :(得分:0)

xor ax, ax mov ax, 0的作用相同,但具有将标志设置为零并根据xor的逻辑清除进位的附加功能。并且xor在一些旧架构中消耗的时钟少于mov

mov eax,eax占用字节码中的5个字节,其中xor eax,eax占用2个字节。