#include <stdio.h>

void swap(long *a,long *b){
  *a=(*a<<sizeof(*a)*4);
  *a+=*b;
  *b=*a ^ *b;
  *b=(*b>>sizeof(*a)*4);
  *a=(*a<<sizeof(*a)*4);
  *a=(*a>>sizeof(*a)*4);
}

int main(){
 long a=0x12345678;
 long b=0x9ABCDEF0;
   printf("a=%lx b=%lx\n",a,b);
 swap(&a,&b);
  printf("a=%lx b=%lx\n",a,b);
}