*** empty log message ***
[fw/sdcc] / sim / ucsim / xa.src / xacl.h
index 5b330452f777735f375301aeaf410d9edb520f46..66997b5247493e3db7ee8c0dd6f921afcf704100 100644 (file)
@@ -45,22 +45,30 @@ public:
   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);
@@ -77,6 +85,8 @@ public:
 
   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"