jb302@28: #include jb302@28: jb302@28: #define MAIN jb302@28: #include "mem.h" jb302@28: jb302@28: void jb302@28: main(void) { jb302@28: A = 0xAA; jb302@28: IR = 0x12; jb302@28: jb302@28: unsigned char i; jb302@28: for (i = 0 ; i < 8 ; i++) { jb302@28: set_flag(i, 1); jb302@28: } jb302@28: jb302@28: set_wide(DPTR, 0xDE1D); jb302@28: set_wide(SP, 0xADEA); jb302@28: set_wide(PC, 0xBEFA); jb302@28: set_wide(TMP, 0xEFC3); jb302@28: jb302@28: for (i = 0; i < 4; i++) { jb302@28: regs[i] = i; jb302@28: } jb302@28: jb302@28: for (i = 8; i < 0x0C; i++) { jb302@28: regs[i] = 0x10 | (i - 8); jb302@28: } jb302@28: jb302@28: putchar(A); jb302@28: putchar(IR); jb302@28: putchar(flags); jb302@28: jb302@28: for (i = 0; i < 0x10; i++) { jb302@28: putchar(regs[i]); jb302@28: } jb302@28: jb302@28: unsigned short int data_pointer = get_wide(DPTR); jb302@28: unsigned short int program_counter = get_wide(PC); jb302@28: unsigned short int stack_pointer = get_wide(SP); jb302@28: unsigned short int temp = get_wide(TMP); jb302@28: jb302@28: putchar((data_pointer >> 8) & 0xFF); jb302@28: putchar(data_pointer & 0xFF); jb302@28: putchar((program_counter >> 8) & 0xFF); jb302@28: putchar(program_counter & 0xFF); jb302@28: putchar((stack_pointer >> 8) & 0xFF); jb302@28: putchar(stack_pointer & 0xFF); jb302@28: putchar((temp >> 8) & 0xFF); jb302@28: putchar(temp & 0xFF); jb302@28: jb302@28: jb302@28: int ac; jb302@28: for (ac = 0 ; ac < 0x10000 ; ac++) { jb302@28: mem[ac] = ac & 0xFF; jb302@28: } jb302@28: for (ac = 0 ; ac < 0x10000 ; ac++) { jb302@28: putchar(fetch()); jb302@28: } jb302@28: } jb302@28: jb302@28: jb302@28: