Search
lxdream.org :: lxdream/src/aica/armcore.c :: diff
lxdream 0.9.1
released Jun 29
Download Now
filename src/aica/armcore.c
changeset 2:42349f6ea216
next5:d85c2e81ce2d
author nkeynes
date Sat Aug 21 06:15:49 2004 +0000 (16 years ago)
permissions -rw-r--r--
last change Commit changes into cvs
file annotate diff log raw
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/src/aica/armcore.c Sat Aug 21 06:15:49 2004 +0000
1.3 @@ -0,0 +1,31 @@
1.4 +
1.5 +#include "armcore.h"
1.6 +
1.7 +struct arm_registers armr;
1.8 +
1.9 +/* NB: The arm (one assumes) has a different memory map, but for the meantime... */
1.10 +
1.11 +#define MEM_READ_BYTE( addr ) mem_read_byte(addr)
1.12 +#define MEM_READ_WORD( addr ) mem_read_word(addr)
1.13 +#define MEM_READ_LONG( addr ) mem_read_long(addr)
1.14 +#define MEM_WRITE_BYTE( addr, val ) mem_write_byte(addr, val)
1.15 +#define MEM_WRITE_WORD( addr, val ) mem_write_word(addr, val)
1.16 +#define MEM_WRITE_LONG( addr, val ) mem_write_long(addr, val)
1.17 +
1.18 +#define PC armr.r[15];
1.19 +
1.20 +void arm_execute_instruction( void )
1.21 +{
1.22 + uint32_t ir = MEM_READ_LONG(PC);
1.23 +
1.24 +#define COND(ir) (ir>>28)
1.25 +
1.26 +
1.27 +}
1.28 +
1.29 +void arm_execute_thumb_instruction( void )
1.30 +{
1.31 +
1.32 +
1.33 +
1.34 +}
.