scambiare due valori senza variabile di appoggio
Nella programmazione, in particolar modo nell'assembler, spesso e' necessario scambiare i valori contenuti di due variabili.
Cio' puo' essere fatto o utilizzando una variabile di appoggio (C):
C=A;
A=B;
B=C;
oppure in maniera molto piu' smart utilizzando lo XOR:
A: 0011
B: 1010
B= A xor B
A: 0011
B: 1001
A= A xor B
A: 1010
B: 1001
B= A xor B
A: 1010
B: 0011
A= A xor B
A: 1001
B: 0011
A= A xor B
A: 1010
B: 0011
Ci sono un po' piu' di passaggi (tempo) ma si utilizza meno spazio.
See also


