cl_mem *rom;
struct t_regs regs;
+ class cl_mem *sfr, *iram;
+
// for now make it as simple as possible
- TYPE_UBYTE mem_direct[1024*2];
-#ifndef WORDS_BIGENDIAN
- TYPE_UWORD *wmem_direct; /* word pointer at mem_direct */
-#endif
+// TYPE_UBYTE mem_direct[1024*2];
+//#ifndef WORDS_BIGENDIAN
+// TYPE_UWORD *wmem_direct; /* word pointer at mem_direct */
+//#endif
public:
cl_xa(class cl_sim *asim);
virtual int init(void);
virtual char *id_string(void);
+ virtual class cl_mem *mk_mem(enum mem_class type, char *class_name);
virtual t_addr get_mem_size(enum mem_class type);
virtual void mk_hw_elements(void);
virtual struct dis_entry *dis_tbl(void);
+ virtual struct name_entry *sfr_tbl(void);
+ virtual struct name_entry *bit_tbl(void);
+ virtual char *get_dir_name(short);
+ virtual char *get_bit_name(short);
+
virtual int inst_length(t_addr addr);
virtual int inst_branch(t_addr addr);
virtual int longest_inst(void);
virtual int exec_inst(void);
virtual int get_reg(int word_flag, unsigned int index);
+ virtual bool get_bit(int bit);
+ virtual void set_bit(int bit, int value);
#include "instcl.h"