nemu/src/main.c

28 lines
760 B
C
Raw Normal View History

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