xor swap for assembly needs