3 /* COMET IIの仮装実行マシンシステム */
6 /* CASL IIプログラムのプロパティ */
9 /* COMET II仮想マシンのリセット */
10 void reset(int memsize, int clocks)
14 sys = malloc_chk(sizeof(SYSTEM), "sys");
16 sys->memsize = memsize;
20 sys->memory = calloc_chk(sys->memsize, sizeof(WORD), "memory");
22 sys->cpu = malloc_chk(sizeof(CPU), "cpu");
23 for(i = 0; i < GRSIZE; i++) {
24 sys->cpu->gr[i] = 0x0;
26 sys->cpu->sp = sys->cpu->pr = sys->cpu->fr = 0x0;
27 /* CASL2プログラムのプロパティ */
28 prog = malloc_chk(sizeof(PROGPROP), "prog");
31 /* COMET II仮想マシンのシャットダウン */
34 free_chk(prog, "prog");
35 free_chk(sys->memory, "sys.memory");
36 free_chk(sys->cpu, "sys.cpu");