nemu/src/main.c

28 lines
760 B
C

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <cpu.h>
#include <display.h>
int main(int argc, char **argv){
if(argc < 2){
return 1;
}
if(!access(argv[1], F_OK ) == 0){
return 1;
}
cpu_status_t* status;
status = malloc(sizeof(cpu_status_t));
cpu_setup_addin(status, argv[1]);
status->r[15] = 0x08100200;
printf("(ram read test) 0x08100000: %8x\n",cpu_read32(status,0x08100000));
cpu_write32(status,0x08100004, 0x00560000);
printf("(ram write test) 0x00560000 at 0x08100004. result: %8x\n", cpu_read32(status,0x08100004));
printf("(rom read test) 0x00300200: %8x\n",cpu_read32(status,0x00300200));
cpu_run_from(status, 0x00300200);
return 0;
}