view emulator/test.c @ 12:e9dc055a0f8b

emulator skeleton code
author james <jb302@eecs.qmul.ac.uk>
date Sat, 11 Jan 2014 02:33:32 +0000
parents
children
line wrap: on
line source
/* test.c
 * because we need to test things
 */
#include <stdio.h>

void 
dump_all(void) {
    int i;
    
    /* dump reg bank 0 */
    for (i = 0 ; i < 3 ; i++) {
        printf("%c", get_R(i, 0x0));
    }
    /* dump reg bank 1 */
    for (i = 0 ; i < 3 ; i++) {
        printf("%c", get_R(i, 0x1));
    } 
    /* dump other registers */
    printf("%c", get_A());
    printf("%C", get_flags());
    printf("%c", get_DPH());
    printf("%c", get_DPL());
    printf("%c", get_SPH());
    printf("%c", get_SPL());
    
    /* dump main memory */
    for (i = 0 ; i < 0x10000 ; i++) {
        printf("%c", read_mem(i));
    }
}

void
test_pattern(void) {
    int i;
    /* fill mem with M's */
    for (i = 0 ; i < 0x10000 ; i++) {
        write_mem(i, 0x4D);
    }
    /* fill reg bank 1 with R's */
    for (i = 0 ; i < 3 ; i++) {
        set_R(i, 0, 0x52);
    }
    /* fill reg bank 2 with R's */
    for (i = 0 ; i < 3 ; i++) {
        set_R(i, 1, 0x52);
    }
    /* A */
    set_A(0x41);
    /* F */
    set_flags(0x46);
    /* DP */
    set_DPTR(0x4450);
    /* SP */
    set_SP(0x5350);
    //set_DPH(0x44);
    //set_DPL(0x50);
    //set_SPH(0x53);
    //set_SPL(0x50);
}