Mercurial > hg > ede
annotate 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 |
rev | line source |
---|---|
jb302@28 | 1 #include <stdio.h> |
jb302@28 | 2 |
jb302@28 | 3 #define MAIN |
jb302@28 | 4 #include "mem.h" |
jb302@28 | 5 |
jb302@28 | 6 void |
jb302@28 | 7 main(void) { |
jb302@28 | 8 A = 0xAA; |
jb302@28 | 9 IR = 0x12; |
jb302@28 | 10 |
jb302@28 | 11 unsigned char i; |
jb302@28 | 12 for (i = 0 ; i < 8 ; i++) { |
jb302@28 | 13 set_flag(i, 1); |
jb302@28 | 14 } |
jb302@28 | 15 |
jb302@28 | 16 set_wide(DPTR, 0xDE1D); |
jb302@28 | 17 set_wide(SP, 0xADEA); |
jb302@28 | 18 set_wide(PC, 0xBEFA); |
jb302@28 | 19 set_wide(TMP, 0xEFC3); |
jb302@28 | 20 |
jb302@28 | 21 for (i = 0; i < 4; i++) { |
jb302@28 | 22 regs[i] = i; |
jb302@28 | 23 } |
jb302@28 | 24 |
jb302@28 | 25 for (i = 8; i < 0x0C; i++) { |
jb302@28 | 26 regs[i] = 0x10 | (i - 8); |
jb302@28 | 27 } |
jb302@28 | 28 |
jb302@28 | 29 putchar(A); |
jb302@28 | 30 putchar(IR); |
jb302@28 | 31 putchar(flags); |
jb302@28 | 32 |
jb302@28 | 33 for (i = 0; i < 0x10; i++) { |
jb302@28 | 34 putchar(regs[i]); |
jb302@28 | 35 } |
jb302@28 | 36 |
jb302@28 | 37 unsigned short int data_pointer = get_wide(DPTR); |
jb302@28 | 38 unsigned short int program_counter = get_wide(PC); |
jb302@28 | 39 unsigned short int stack_pointer = get_wide(SP); |
jb302@28 | 40 unsigned short int temp = get_wide(TMP); |
jb302@28 | 41 |
jb302@28 | 42 putchar((data_pointer >> 8) & 0xFF); |
jb302@28 | 43 putchar(data_pointer & 0xFF); |
jb302@28 | 44 putchar((program_counter >> 8) & 0xFF); |
jb302@28 | 45 putchar(program_counter & 0xFF); |
jb302@28 | 46 putchar((stack_pointer >> 8) & 0xFF); |
jb302@28 | 47 putchar(stack_pointer & 0xFF); |
jb302@28 | 48 putchar((temp >> 8) & 0xFF); |
jb302@28 | 49 putchar(temp & 0xFF); |
jb302@28 | 50 |
jb302@28 | 51 |
jb302@28 | 52 int ac; |
jb302@28 | 53 for (ac = 0 ; ac < 0x10000 ; ac++) { |
jb302@28 | 54 mem[ac] = ac & 0xFF; |
jb302@28 | 55 } |
jb302@28 | 56 for (ac = 0 ; ac < 0x10000 ; ac++) { |
jb302@28 | 57 putchar(fetch()); |
jb302@28 | 58 } |
jb302@28 | 59 } |
jb302@28 | 60 |
jb302@28 | 61 |
jb302@28 | 62 |