/*
2. Array Manipulation
*/
        #include <stdio.h>
		#include <graphics.h>

        void  main()
        {
          int  array1[64], array2[64], i, *a1, *a2;
          char ch;

          for( i=1; i<64; i++ )
			array1[i] = i;         /*/ fill array */
		  a1 = &array1[0];         /*/ set up pointers to the */
		  a2 = &array2[0];         /*/ first elements in each array  */
          { asm{
                mov  si,a1    /* get first pointer  */
                mov  di,a2    /* get second pointer */
                mov  cx,64d   /* set up count       */
               }
         here:
            asm{
                mov  ax,[si]  /* get source value   */
                mov  [di],ax  /* into dest location */
                add  si,2     /* increment pointers */
                add  di,2
                loop x
               }
          }
          for( i=0; i<20; i++ )
          printf("\t%d \t%d \n", array1[i], array2[i] );
        }