home *** CD-ROM | disk | FTP | other *** search
/ Fish 'n' More 1 / FishNMoreVol1.bin / more / text_files / mem&clock / memtst.c < prev    next >
C/C++ Source or Header  |  1989-07-06  |  914b  |  40 lines

  1. #define BREAK (SetSignal(0,0)&0x01000)
  2. main(argc,argv)
  3.     long argc;
  4.     char *argv[];
  5. {
  6.     unsigned short *adr;
  7.     int i,j,k,n;
  8.     adr=0x0400000;
  9.     for(i=0;i<0x010000;i++)
  10.     {
  11.         printf("starting write phase\n");
  12.         for(j=0x000000;j<0x080000;j++)
  13.         {
  14.             if((j&0xfff)==0)
  15.             {
  16.                 printf(".");
  17.                 if(BREAK) exit(20);
  18.             }
  19.             adr[j]=j+i+(j>>12);
  20.         }
  21.         printf("starting read phase\n");
  22.         for(j=0x000000;j<0x080000;j++)
  23.         {
  24.            if((j&0xfff)==0)
  25.            {
  26.                 printf("+");
  27.                 if(BREAK) exit(20);
  28.            }
  29.            k=adr[j];
  30.            n=(j+i+(j>>12))&0x0ffff;
  31.            if((n!=k)&&(argc>1))
  32.            {
  33.                if(BREAK) exit(20);
  34.          printf("\nwrote %4x read %4x diff %4x at addr %6x\n",n,k,n^k,
  35.           (long)(adr+j));
  36.            }
  37.         }
  38.     }
  39. }
  40.