#include <hidef.h>      /* common defines and macros */
#include <mc9s12c128.h>     /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12c128"
#include "main_asm.h" /* interface to the assembly module */
  int xx,yy,zz,ww ;     	/* variables defined outside of main function
                           		so they are global variables stored in 
                           		dedicated RAM locations,  */
void main(void) {

  EnableInterrupts;   /* This is a built-in macro that executes CLI� */
  xx=0x0017;
  yy=0x0009;
  zz = asm_main(xx,yy,&ww); /* call the assembly function */
  zz=zz+1;
  ww=ww+2;
  for(;;) {} /* wait forever */
  /* at the end of this program, xx = 0x17, yy = 0x09, zz = 0x21, ww = 0x42 */
}