xor ax%,% ax, jak podano we wcześniejszych komentarzach odpowiada ax = ax ax lub ax. Ten zasadniczo ustawiony ax = 0. Ponadto wpływa on/modyfikuje niektóre EFLAGS, takie jak OF, CF, SF, PF lub ZF. W takim przypadku zostaną ustawione flagi PF i ZF.
SF - Wskazuje, czy wynik ostatniej operacji spowodowało wartość, której najbardziej znaczący bit jest ustawiony na 1.
PF - Wskazuje, czy liczba ustawionych bitów jest parzysta czy nawet w binarnym przedstawieniem wynik ostatniej operacji.
ZF - Ustawiana, jeśli wynik operacji matematycznej/logicznej jest zerowy lub w przeciwnym razie resetowany.
Przykład pokazano poniżej za pomocą fragmentów GDB.
instrukcji: XOR% ax,% AX
Przed "XOR"
(gdb) info registers
eax 0xaa55 43605
ecx 0x0 0
edx 0x80 128
ebx 0x0 0
esp 0x6f20 0x6f20
ebp 0x0 0x0
esi 0x0 0
edi 0x0 0
eip 0x7c02 0x7c02
eflags 0x2 [ ]
cs 0x0 0
ss 0x0 0
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
po "XOR"
(gdb) info registers
eax 0x0 0 --------------------> AX = 0
ecx 0x0 0
edx 0x80 128
ebx 0x0 0
esp 0x6f20 0x6f20
ebp 0x0 0x0
esi 0x0 0
edi 0x0 0
eip 0x7c04 0x7c04
eflags 0x46 [ PF ZF ] --------------------> Flags Set
cs 0x0 0
ss 0x0 0
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
duplikat http://stackoverflow.com/questions/1396527/any-reason-to-do-a-xor-eax-eax – mark4o
http://stackoverflow.com/questions/33666617/which-is-best-way-to-set-a-register-to-zero-in -x86-assembly-xor-mov-or-and (xor jest najlepszym sposobem) –