z/Architecture Overview
 
 
64 bit general registers
- Can be operated upon as 64 or 32 bit entities
 
int main(int argc, char **argv)
 union {  long x;  int  y[2]; } longvar;
   printf("%08X %08X %ld\n",longvar.y[0],longvar.y[1],longvar.x);
   __asm__  __volatile__ ("slr %0,%0" : "+d" (longvar.x) : : "cc");
   printf("%08X %08X %ld\n",longvar.y[0],longvar.y[1],longvar.x);
   __asm__ __volatile__ ("slgr %0,%0" : "+d" (longvar.x) : : "cc");
   printf("%08X %08X %ld\n",longvar.y[0],longvar.y[1],longvar.x);
FFFFFFFF 00000000 -4294967296