- for(i = 0; i < REGSIZE; i++) {
- GR[i] = 0x0;
- }
- SP = PR = FR = 0x0;
- memory = malloc(memsize * sizeof(WORD));
- for(i = 0; i < memsize; i++) {
- memory[i] = 0x0;
+
+ sys = malloc_chk(sizeof(SYSTEM), "sys");
+ /* メモリサイズを設定 */
+ sys->memsize = memsize;
+ /* クロック周波数を設定 */
+ sys->clocks = clocks;
+ /* メモリを初期化 */
+ sys->memory = calloc_chk(sys->memsize, sizeof(WORD), "memory");
+ /* CPUを初期化 */
+ sys->cpu = malloc_chk(sizeof(CPU), "cpu");
+ for(i = 0; i < GRSIZE; i++) {
+ sys->cpu->gr[i] = 0x0;