Ich habe mir das noch einmal durch den Kopf gehen lassen: das Problem besteht bei gleichen Werten überhaupt nicht (sofern ich keinen Denkfehler mache). Mal ein Schreibtischtest mit der Zahl 5 für beide Werte:
Delphi-Quellcode:
a := a xor b;
00000101 //a=5
00000101 //b=5
________
00000000 //a=0
b := b xor a;
00000101 //b=5
00000000 //a=0
________
00000101 //b=5
a := a xor b;
00000000 //a=0
00000101 //b=5
________
00000101 //a=5
[edit] Wenn man allerdings 2 mal die selbe Variable (Referenz) übergibt, sieht das anders aus. [/edit]