4 /* COMET IIの仮装実行マシンシステム */
7 /* CASL IIプログラムのプロパティ */
10 /* COMET II仮想マシンのリセット */
11 void reset(int memsize, int clocks)
15 sys = malloc_chk(sizeof(SYSTEM), "sys");
17 sys->memsize = memsize;
21 sys->memory = calloc_chk(sys->memsize, sizeof(WORD), "memory");
23 sys->cpu = malloc_chk(sizeof(CPU), "cpu");
24 for(i = 0; i < GRSIZE; i++) {
25 sys->cpu->gr[i] = 0x0;
27 sys->cpu->sp = sys->cpu->pr = sys->cpu->fr = 0x0;
28 /* CASL2プログラムのプロパティ */
29 prog = malloc_chk(sizeof(PROGPROP), "prog");
32 /* COMET II仮想マシンのシャットダウン */
35 free_chk(prog, "prog");
36 free_chk(sys->memory, "sys.memory");
37 free_chk(sys->cpu, "sys.cpu");