#include <stdio.h>

int main()
{
   unsigned long p;
   register unsigned long *msg = &p;

   /* Load "hi\n\0" into P; then convert the 'i' into an 'h' */
   __asm__ volatile ( "iihl %[p],0x0a00\n\t" 
                      "iihh %[p],0x6869\n\t" 
                      "nihh %[p],0x6868\n\t" : [p] "+d" (p) : : "cc");

   /* Write P to stdout; should read "hh\n" */
   printf("%s", (char *)msg);

   return 0;
}