Esempio xor ax,ax ;cancella il registro
la xor serve per azzerare il registro ed evitare che vengano passati dati indesiderati.
per esempio
mov ah,02 ;chiamo una funzione
mov dl,31h ; carico il carattere da visualizzare
int 21h ; visualizzo il carattere a video
mov ax,numero parametri ; carico il parametro
push ax ; salvo il parametro nello stack
..........
..........
..........
pop ax : prendo il parametro
; adesso si possono verificare 2 casi
1) numero parametro e un byte
in questo caso quando eseguiro la pop ax avro ax = ah=02 e al=numero parametri
e cio mi potrebbe causare qualche problema nella gestione dei parametri.
utilizzando xor ax,ax evito questo tipo di problemi perchè all'esecuzione della pop ax avro : ax = ah=00 al = numero parametri.
2) numero parametri e una word
in questo caso la xor e superflua
comunque se non ti piace la xor per cancellare il registro puoi usare anche la sub ax,ax e lievemente più lenta della xor ma fa la stessa cosa.
spero di averti fatto capire.