CCL Home Page
Up Directory CCL hack
/* This is a quickly-hacked-together test of some of the stuff in
 * c50lib.c. The idea is to test the things I'm least certain about.
 * At the moment, those are:
 *
 *   Branches, Interrupts, Pipeline Operation, Cycle Timing
 *
 * and also general stuff, i.e. did I get *any* of it right?
 */

#include 
#include 
#include "c50lib.h"

extern int program_rom[];

#define LACL     0xB900
#define CALL     0x7A80
#define CALLD    0x7E80
#define RET      0xEF00
#define RETD     0xFF00
#define NOP      0x8B00
#define RPTK     0xBB00

#define NEXT(n) program_rom[i++] = (n)

extern void step_with_printout (int newline);

void
main (void)
{
  int i, j;
  uint x;

  c50_reset ();
  mp_mc_mode = 1;
  arp = 2;
  ar[2] = 4;

  i = 0;
  NEXT (LACL + 0x00);
  NEXT (LACL + 0x01);
  NEXT (LACL + 0x02);
  NEXT (RPTK + 2);
  NEXT (0x8BA0);          /* mar *+ */
  NEXT (LACL + 0x03);
  NEXT (LACL + 0x04);
  NEXT (LACL + 0x05);
  NEXT (LACL + 0x06);
  NEXT (LACL + 0x07);
  NEXT (LACL + 0x08);

  for (i = 0; i < 15; i++)
    {
      step_with_printout (0);
      printf(" %04X\n", ar[2]);
    }
}
Modified: Sat Mar 30 17:00:00 1996 GMT
Page accessed 5563 times since Sat Apr 17 22:02:50 1999 GMT