view emulator/emu.c @ 12:e9dc055a0f8b

emulator skeleton code
author james <jb302@eecs.qmul.ac.uk>
date Sat, 11 Jan 2014 02:33:32 +0000
parents ad2121f39b91
children 2b8eb2c86602
line wrap: on
line source
/* emu.c
 * emulation start up and fetch/decode/execute loop */
#include <string.h>
#include "mem.h"
#include "iset.h"

/* instruction table */
void (*iset[2])(void) = { NOP,
                          FOO };

void
boot(void) {
    /* set everything to zero */
    memset(&registers, 0, sizeof(registers));
    memset(&memory, 0, sizeof(memory));

    /* hack hack hack */
    BYTE program[] = { 0x00,
                       0x01};
    memcpy(&memory, program, sizeof(program));
}

void
main(void) {
    boot();
    BYTE op;
    int i = 0;
    for (i ; i < 3 ; i++) {
        op = fetch();
        (*iset[op])();
    }
    dump_all();
}