view tests/emu/test_mem.c @ 42:792da050d8c4 tip

more dox
author james <jb302@eecs.qmul.ac.uk>
date Tue, 22 Apr 2014 14:25:14 +0100
parents 4411dee34085
children
line wrap: on
line source
#include <stdio.h>

#define MAIN
#include "mem.h"

void
main(void) {
    A = 0xAA;
    IR = 0x12;

    unsigned char i;
    for (i = 0 ; i < 8 ; i++) {
        set_flag(i, 1);
    }
    
    set_wide(DPTR, 0xDE1D);
    set_wide(SP, 0xADEA);
    set_wide(PC, 0xBEFA);
    set_wide(TMP, 0xEFC3);
    
    for (i = 0; i < 4; i++) {
        regs[i] = i;
    }
        
    for (i = 8; i < 0x0C; i++) {
        regs[i] = 0x10 | (i - 8);
    }
    
    putchar(A);
    putchar(IR);
    putchar(flags);

    for (i = 0; i < 0x10; i++) {
        putchar(regs[i]);
    }
    
    unsigned short int data_pointer = get_wide(DPTR);
    unsigned short int program_counter = get_wide(PC);
    unsigned short int stack_pointer = get_wide(SP);
    unsigned short int temp = get_wide(TMP);
    
    putchar((data_pointer >> 8) & 0xFF);
    putchar(data_pointer & 0xFF);
    putchar((program_counter >> 8) & 0xFF);
    putchar(program_counter & 0xFF);
    putchar((stack_pointer >> 8) & 0xFF);
    putchar(stack_pointer & 0xFF);
    putchar((temp >> 8) & 0xFF);
    putchar(temp & 0xFF);
    
    
    int ac;
    for (ac = 0 ; ac < 0x10000 ; ac++) {
        mem[ac] = ac & 0xFF;
    }
    for (ac = 0 ; ac < 0x10000 ; ac++) {
        putchar(fetch());
    }
}