#include <stdio.h>

char buffer[] ="0123456789abcdef";
char target[] ="XXXXXXXXXXXXXXXX";

int main(void)
{
   setbuf(stdout, NULL);

   printf("------- Copy 10+1 bytes from buffer to target\n");
   printf("------- EXRL to OR in the length\n");
   printf("before: buffer = |%s|\n", buffer);
   printf("before: target = |%s|\n", target);
   asm volatile( "lghi 2, 10\n\t"
                 ".insn ril,0xc60000000000,2,1f\n\t" // exrl 2, 1f
                 "j    2f\n\t"
                 "1:\n\t"
                 "mvc  0(1,%0),0(%1)\n\t"
                 "2:\n\t"
                 : : "a" (target), "a" (buffer) : "1", "2", "memory");
   printf("after:  buffer = |%s|\n", buffer);
   printf("after:  target = |%s|\n", target);
   printf("\n");

   printf("------- EXRL 0,... has no effect (writes out target)\n");
   printf("        target = |");
   asm volatile( "lghi 0, 0xff\n\t" // fill nonsense in r0
                 "lghi 2, 1\n\t"    // stdout
                 "lgr  3, %0\n\t"   // target
                 "lghi 4, %1\n\t"   // len
                 ".insn ril,0xc60000000000,0,1f\n\t" // exrl 0, 1f
                 "j    2f\n\t"
                 "1:\n\t"
                 "svc  4\n\t"       // NR_write
                 "2:\n\t"
                 : : "a" (target), "i" (sizeof target - 1)
                 : "0", "2", "3", "4");
   printf("|\n");
   printf("\n");

   printf("------- EXRL to OR in the syscall number (writes out target)\n");
   printf("        target = |");
   asm volatile( "lghi 1, 4\n\t"    // NR_write
                 "lghi 2, 1\n\t"    // stdout
                 "lgr  3, %0\n\t"   // target
                 "lghi 4, %1\n\t"   // len
                 ".insn ril,0xc60000000000,1,1f\n\t" // exrl 1, 1f
                 "j    2f\n\t"
                 "1:\n\t"
                 "svc  0\n\t"       // changed to NR_write
                 "2:\n\t"
                 : : "a" (target), "i" (sizeof target - 1)
                 : "1", "2", "3", "4");
   printf("|\n");
   printf("\n");

   return 0;
}

