* sim/ucsim/cmd.src/info.cc, sim/ucsim/cmd.src/bp.cc,
authorborutr <borutr@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 12 Jun 2008 05:24:24 +0000 (05:24 +0000)
committerborutr <borutr@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 12 Jun 2008 05:24:24 +0000 (05:24 +0000)
  sim/ucsim/xa.src/xa.cc, sim/ucsim/xa.src/xacl.h,
  sim/ucsim/z80.src/z80cl.h, sim/ucsim/z80.src/z80.cc,
  sim/ucsim/sim.src/uc.cc, sim/ucsim/sim.src/uccl.h,
  sim/ucsim/hc08.src/hc08.cc, sim/ucsim/hc08.src/hc08cl.h,
  sim/ucsim/s51.src/uc51cl.h, sim/ucsim/s51.src/uc390.cc,
  sim/ucsim/s51.src/uc51.cc, sim/ucsim/s51.src/uc390cl.h,
  sim/ucsim/avr.src/avrcl.h, sim/ucsim/avr.src/avr.cc:
  fixed bug 1990586: s51 simulator, uc::disass() unimplemented
  by applying the modified patch from Risto Huotari

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@5194 4a8a32a2-be11-0410-ad9d-d568d2c75423

17 files changed:
ChangeLog
sim/ucsim/avr.src/avr.cc
sim/ucsim/avr.src/avrcl.h
sim/ucsim/cmd.src/bp.cc
sim/ucsim/cmd.src/info.cc
sim/ucsim/hc08.src/hc08.cc
sim/ucsim/hc08.src/hc08cl.h
sim/ucsim/s51.src/uc390.cc
sim/ucsim/s51.src/uc390cl.h
sim/ucsim/s51.src/uc51.cc
sim/ucsim/s51.src/uc51cl.h
sim/ucsim/sim.src/uc.cc
sim/ucsim/sim.src/uccl.h
sim/ucsim/xa.src/xa.cc
sim/ucsim/xa.src/xacl.h
sim/ucsim/z80.src/z80.cc
sim/ucsim/z80.src/z80cl.h

index 9755162bf0c2a7ad25eec0a29f3ebdcc85ed8aa2..28372e8f6ea6e91acdbfb6af3099c901c3411008 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2008-06-12 Borut Razem <borut.razem AT siol.net>
+
+       * sim/ucsim/cmd.src/info.cc, sim/ucsim/cmd.src/bp.cc,
+         sim/ucsim/xa.src/xa.cc, sim/ucsim/xa.src/xacl.h,
+         sim/ucsim/z80.src/z80cl.h, sim/ucsim/z80.src/z80.cc,
+         sim/ucsim/sim.src/uc.cc, sim/ucsim/sim.src/uccl.h,
+         sim/ucsim/hc08.src/hc08.cc, sim/ucsim/hc08.src/hc08cl.h,
+         sim/ucsim/s51.src/uc51cl.h, sim/ucsim/s51.src/uc390.cc,
+         sim/ucsim/s51.src/uc51.cc, sim/ucsim/s51.src/uc390cl.h,
+         sim/ucsim/avr.src/avrcl.h, sim/ucsim/avr.src/avr.cc:
+         fixed bug 1990586: s51 simulator, uc::disass() unimplemented
+         by applying the modified patch from Risto Huotari
+
 2008-06-04 Maarten Brock <sourceforge.brock AT dse.nl>
 
        * .version,
index dbf3b72ee497cbb4ee8c5176881232123032c58c..3b021e5c8ec8699ece837e8d072ceb957fe922d3 100644 (file)
@@ -2,7 +2,7 @@
  * Simulator of microcontrollers (avr.cc)
  *
  * Copyright (C) 1999,99 Drotos Daniel, Talker Bt.
- * 
+ *
  * To contact author send email to drdani@mazsola.iit.uni-miskolc.hu
  *
  */
@@ -168,8 +168,8 @@ cl_avr::bit_tbl(void)
   return(0);
 }
 
-char *
-cl_avr::disass(t_addr addr, char *sep)
+const char *
+cl_avr::disass(t_addr addr, const char *sep)
 {
   char work[256], temp[20];
   const char *b;
@@ -178,7 +178,7 @@ cl_avr::disass(t_addr addr, char *sep)
   int i;
 
   p= work;
-  
+
   code= get_mem(MEM_ROM_ID, addr);
   i= 0;
   while ((code & dis_tbl()[i].mask) != dis_tbl()[i].code &&
@@ -646,7 +646,7 @@ cl_avr::push_data(t_mem data)
 {
   t_addr sp;
   t_mem spl, sph;
-  
+
   spl= ram->read(SPL);
   sph= ram->read(SPH);
   sp= 0xffff & (256*sph + spl);
@@ -664,7 +664,7 @@ cl_avr::push_addr(t_addr addr)
 {
   t_addr sp;
   t_mem spl, sph, al, ah;
-  
+
   spl= ram->read(SPL);
   sph= ram->read(SPH);
   sp= 0xffff & (256*sph + spl);
@@ -718,7 +718,7 @@ cl_avr::pop_addr(t_addr *addr)
   sph= (sp>>8) & 0xff;
   ram->write(SPL, spl);
   ram->write(SPH, sph);
-  
+
   return(resGO);
 }
 
index 0e82e4925bf70c1e4076c38e8773a59f4bca3c47..e6926400f44fbc0082de80c621c2a2d12a27a8a2 100644 (file)
@@ -2,7 +2,7 @@
  * Simulator of microcontrollers (avrcl.h)
  *
  * Copyright (C) 1999,99 Drotos Daniel, Talker Bt.
- * 
+ *
  * To contact author send email to drdani@mazsola.iit.uni-miskolc.hu
  *
  */
@@ -56,7 +56,7 @@ public:
   virtual struct dis_entry *dis_tbl(void);
   virtual struct name_entry *sfr_tbl(void);
   virtual struct name_entry *bit_tbl(void);
-  virtual char *disass(t_addr addr, char *sep);
+  virtual const char *disass(t_addr addr, const char *sep);
   virtual void print_regs(class cl_console_base *con);
 
   virtual int exec_inst(void);
index bc31d24bf20f36e2e9f4ef0cb77bdc8f46fc9b3c..202eb17d8abd70e6e99b832f1eaceaad49032784 100644 (file)
@@ -2,7 +2,7 @@
  * Simulator of microcontrollers (cmd.src/bp.cc)
  *
  * Copyright (C) 1999,99 Drotos Daniel, Talker Bt.
- * 
+ *
  * To contact author send email to drdani@mazsola.iit.uni-miskolc.hu
  *
  */
@@ -107,9 +107,9 @@ cl_break_cmd::do_fetch(class cl_uc *uc,
                                         addr, perm, hit);
       b->init();
       uc->fbrk->add_bp(b);
-      char *s= uc->disass(addr, NULL);
+      const char *s= uc->disass(addr, NULL);
       con->dd_printf("Breakpoint %d at 0x%06x: %s\n", b->nr, addr, s);
-      free(s);
+      free((char *)s);
     }
 }
 
index 077c7327186b47aa42239039cb23eb722974f75e..fbdc1f953166d874005c8483d82238ed08d2a972 100644 (file)
@@ -2,7 +2,7 @@
  * Simulator of microcontrollers (cmd.src/info.cc)
  *
  * Copyright (C) 1999,99 Drotos Daniel, Talker Bt.
- * 
+ *
  * To contact author send email to drdani@mazsola.iit.uni-miskolc.hu
  *
  */
@@ -30,7 +30,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 
 // sim.src
 #include "simcl.h"
+
 // local
 #include "infocl.h"
 
@@ -45,18 +45,17 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 COMMAND_DO_WORK_UC(cl_info_bp_cmd)
 {
   int i;
-  char *s;
 
   con->dd_printf("Num Type       Disp Hit   Cnt   Address  What\n");
   for (i= 0; i < uc->fbrk->count; i++)
     {
       class cl_brk *fb= (class cl_brk *)(uc->fbrk->at(i));
-      s= uc->disass(fb->addr, NULL);
+      const char *s= uc->disass(fb->addr, NULL);
       con->dd_printf("%-3d %-10s %s %-5d %-5d 0x%06x %s\n", fb->nr,
                      "fetch", (fb->perm==brkFIX)?"keep":"del ",
                      fb->hit, fb->cnt,
                      fb->addr, s);
-      free(s);
+      free((char *)s);
     }
   for (i= 0; i < uc->ebrk->count; i++)
     {
index ed318ea16e997e227d30861b7baa3a53a16a9286..2028ee13fc5f50f7289d27ebeba448d8caf75a60 100644 (file)
@@ -2,9 +2,9 @@
  * Simulator of microcontrollers (hc08.cc)
  *
  * some hc08 code base from Karl Bongers karl@turbobit.com
- * 
+ *
  * Copyright (C) 1999,99 Drotos Daniel, Talker Bt.
- * 
+ *
  * To contact author send email to drdani@mazsola.iit.uni-miskolc.hu
  *
  */
@@ -262,7 +262,7 @@ cl_hc08::get_disasm_info(t_addr addr,
 }
 
 const char *
-cl_hc08::disass(t_addr addr, char *sep)
+cl_hc08::disass(t_addr addr, const char *sep)
 {
   char work[256], temp[20];
   const char *b;
@@ -273,7 +273,7 @@ cl_hc08::disass(t_addr addr, char *sep)
   p= work;
 
   b = get_disasm_info(addr, &len, NULL, &immed_offset);
-  
+
   if (b == NULL) {
     buf= (char*)malloc(30);
     strcpy(buf, "UNKNOWN/INVALID");
@@ -390,7 +390,7 @@ cl_hc08::print_regs(class cl_console_base *con)
   con->dd_printf("SP= 0x%04x [SP+1]= %02x %3d %c\n",
                  regs.SP, ram->get(regs.SP+1), ram->get(regs.SP+1),
                  isprint(ram->get(regs.SP+1))?ram->get(regs.SP+1):'.');
-  
+
   print_disass(PC, con);
 }
 
@@ -539,7 +539,7 @@ cl_hc08::exec_inst(void)
               }
             default: return(resHALT);
           }
-              
+
       }
     case 0xa:
     case 0xb:
index 1cc69719d6c9b52f22087c022ddc182ed74f67fa..debabeddd3e70c2651c899684a9b33db8dfea416 100644 (file)
@@ -2,7 +2,7 @@
  * Simulator of microcontrollers (hc08cl.h)
  *
  * Copyright (C) 1999,99 Drotos Daniel, Talker Bt.
- * 
+ *
  * To contact author send email to drdani@mazsola.iit.uni-miskolc.hu
  *
  */
@@ -56,7 +56,7 @@ public:
   virtual int inst_length(t_addr addr);
   virtual int inst_branch(t_addr addr);
   virtual int longest_inst(void);
-  virtual const char *disass(t_addr addr, char *sep);
+  virtual const char *disass(t_addr addr, const char *sep);
   virtual void print_regs(class cl_console_base *con);
 
   virtual int exec_inst(void);
index c258787474136de2db86770832d3e287c47b230c..a81420dd4e1074728e4a76f69180fb3826082212 100644 (file)
@@ -1080,8 +1080,8 @@ cl_uc390::dis_tbl (void)
 
 }
 
-char *
-cl_uc390::disass (t_addr addr, char *sep)
+const char *
+cl_uc390::disass (t_addr addr, const char *sep)
 {
   char work[256], temp[20], c[2];
   const char *b;
index 009487f0e089f5bed5a1dcdbeefa9d2198f4c1cc..20b4736cf703217a675d63c9f3f5da13901142f7 100644 (file)
@@ -73,7 +73,7 @@ public:
 
   /* mods for disassembly of flat24 */
   virtual struct dis_entry *dis_tbl(void);
-  virtual char * disass(t_addr addr, char *sep);
+  virtual const char * disass(t_addr addr, const char *sep);
   virtual void   print_regs(class cl_console_base *con);
 
 protected:
index 29012a2715ca65fad25fef619f91d496a001c622..1bb4eb67f2a98b7476c35b03b292776689e96e46 100644 (file)
@@ -2,7 +2,7 @@
  * Simulator of microcontrollers (uc51.cc)
  *
  * Copyright (C) 1999,99 Drotos Daniel, Talker Bt.
- * 
+ *
  * To contact author send email to drdani@mazsola.iit.uni-miskolc.hu
  *
  */
@@ -314,8 +314,8 @@ cl_51core::bit_tbl(void)
   return(bit_tab51);
 }
 
-char *
-cl_51core::disass(t_addr addr, char *sep)
+const char *
+cl_51core::disass(t_addr addr, const char *sep)
 {
   char work[256], temp[20], c[2];
   const char *b;
@@ -440,7 +440,7 @@ cl_51core::print_regs(class cl_console_base *con)
               iram->get(start), data, isprint(data)?data:'.');
 
   con->dd_printf("  ACC= 0x%02x %3d %c  B= 0x%02x", sfr->get(ACC), sfr->get(ACC),
-              isprint(sfr->get(ACC))?(sfr->get(ACC)):'.', sfr->get(B)); 
+              isprint(sfr->get(ACC))?(sfr->get(ACC)):'.', sfr->get(B));
   //eram2xram();
   data= xram->get(sfr->get(DPH)*256+sfr->get(DPL));
   con->dd_printf("   DPTR= 0x%02x%02x @DPTR= 0x%02x %3d %c\n", sfr->get(DPH),
@@ -544,7 +544,7 @@ void
 cl_51core::clear_sfr(void)
 {
   int i;
-  
+
   for (i= 0x80; i <= 0xff; i++)
     sfr->set(i, 0);
   sfr->/*set*/write(P0, 0xff);
@@ -938,7 +938,7 @@ cl_51core::do_inst(int step)
         {
           //fprintf(stderr,"uc: inp avail in PD mode, user stop\n");
           result= resUSER;
-          sim->stop(result); 
+          sim->stop(result);
         }
     }
   return(result);
index e961385ee7101bf884397f50ad909db31f7afff8..aeaa23e6483dbcf2ef232b6bd649b4e706151966 100644 (file)
@@ -2,7 +2,7 @@
  * Simulator of microcontrollers (uc51cl.h)
  *
  * Copyright (C) 1999,99 Drotos Daniel, Talker Bt.
- * 
+ *
  * To contact author send email to drdani@mazsola.iit.uni-miskolc.hu
  *
  */
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.
-  
+
   UCSIM is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
-  
+
   You should have received a copy of the GNU General Public License
   along with UCSIM; see the file COPYING.  If not, write to the Free
   Software Foundation, 59 Temple Place - Suite 330, Boston, MA
@@ -98,7 +98,7 @@ public:
   virtual struct dis_entry *dis_tbl(void);
   virtual struct name_entry *sfr_tbl(void);
   virtual struct name_entry *bit_tbl(void);
-  virtual char *disass(t_addr addr, char *sep);
+  virtual const char *disass(t_addr addr, const char *sep);
   virtual void   print_regs(class cl_console_base *con);
   virtual class cl_address_space *bit2mem(t_addr bitaddr,
                                           t_addr *memaddr, t_mem *bitmask);
index 4550bb09494e559f8edfd27b73e08d6bc570c238..2361bf442a43712d6f8652b75e48e1e4df880b26 100644 (file)
@@ -2,7 +2,7 @@
  * Simulator of microcontrollers (uc.cc)
  *
  * Copyright (C) 1999,99 Drotos Daniel, Talker Bt.
- * 
+ *
  * To contact author send email to drdani@mazsola.iit.uni-miskolc.hu
  *
  */
@@ -248,7 +248,7 @@ cl_uc::reset(void)
     }
   sp_max= 0;
   sp_avg= 0;
-  
+
   stack_ops->free_all();
 
   int i;
@@ -460,22 +460,22 @@ cmd->init();*/
       cset= new cl_cmdset();
       cset->init();
     }
-    cset->add(cmd= new cl_info_bp_cmd("breakpoints", 0, 
+    cset->add(cmd= new cl_info_bp_cmd("breakpoints", 0,
 "info breakpoints   Status of user-settable breakpoints",
 "long help of info breakpoints"));
     cmd->add_name("bp");
     cmd->init();
-    cset->add(cmd= new cl_info_reg_cmd("registers", 0, 
+    cset->add(cmd= new cl_info_reg_cmd("registers", 0,
 "info registers     List of integer registers and their contents",
 "long help of info registers"));
     cmd->init();
-    cset->add(cmd= new cl_info_hw_cmd("hardware", 0, 
+    cset->add(cmd= new cl_info_hw_cmd("hardware", 0,
 "info hardware cathegory\n"
 "                   Status of hardware elements of the CPU",
 "long help of info hardware"));
     cmd->add_name("hw");
     cmd->init();
-    cset->add(cmd= new cl_info_stack_cmd("stack", 0, 
+    cset->add(cmd= new cl_info_stack_cmd("stack", 0,
 "info stack         Status of stack of the CPU",
 "long help of info stack"));
     cmd->init();
@@ -632,7 +632,7 @@ class cl_memory *
 cl_uc::mem(enum mem_class type)
 {
   class cl_m *m;
-    
+
   if (mems->count < type)
     m= (class cl_m *)(mems->at(MEM_DUMMY));
   else
@@ -711,7 +711,7 @@ ReadInt(FILE *f, bool *ok, int bytes)
 }
 
 
-/* 
+/*
  * Reading intel hexa file into EROM
  *____________________________________________________________________________
  *
@@ -975,7 +975,7 @@ cl_uc::get_hw(enum hw_cath cath, int hwid, int *idx)
       i++;
       hw= get_hw(cath, &i);
     }
-  if (hw && 
+  if (hw &&
       idx)
     *idx= i;
   return(hw);
@@ -996,7 +996,7 @@ cl_uc::get_hw(char *id_string, int hwid, int *idx)
       i++;
       hw= get_hw(id_string, &i);
     }
-  if (hw && 
+  if (hw &&
       idx)
     *idx= i;
   return(hw);
@@ -1028,7 +1028,7 @@ cl_uc::bit_tbl(void)
   return(&empty);
 }
 
-char *
+const char *
 cl_uc::disass(t_addr addr, const char *sep)
 {
   char *buf;
@@ -1041,7 +1041,7 @@ cl_uc::disass(t_addr addr, const char *sep)
 void
 cl_uc::print_disass(t_addr addr, class cl_console_base *con)
 {
-  char *dis;
+  const char *dis;
   class cl_brk *b;
   int i;
 
@@ -1073,7 +1073,7 @@ cl_uc::print_disass(t_addr addr, class cl_console_base *con)
       i++;
     }
   con->dd_printf(" %s\n", dis);
-  free(dis);
+  free((char *)dis);
 }
 
 void
@@ -1464,7 +1464,7 @@ void
 cl_uc::del_counter(char *nam)
 {
   int i;
-  
+
   if (!nam)
     return;
   for (i= 0; i < counters->count; i++)
@@ -1489,7 +1489,7 @@ t_mem
 cl_uc::fetch(void)
 {
   ulong code;
-  
+
   if (!rom)
     return(0);
 
@@ -1618,7 +1618,7 @@ void
 cl_uc::stack_read(class cl_stack_op *op)
 {
   class cl_stack_op *top= (class cl_stack_op *)(stack_ops->top());
-  
+
   if (op->get_op() & stack_write_operation)
     {
       class cl_error_stack_tracker_wrong_handle *e= new
@@ -1677,7 +1677,7 @@ cl_uc::stack_read(class cl_stack_op *op)
                          top?(top->get_pc()):0, top?(top->get_before()):0,
                          op->get_after());
     }
-  
+
   if (top)
     {
       int ta= top->get_after(), oa= op->get_after();
@@ -1694,7 +1694,7 @@ cl_uc::stack_read(class cl_stack_op *op)
           error(e);
         }
     }
-  
+
   delete op;
 }
 
@@ -1707,7 +1707,7 @@ class cl_fetch_brk *
 cl_uc::fbrk_at(t_addr addr)
 {
   int idx;
-  
+
   return((class cl_fetch_brk *)(fbrk->get_bp(addr, &idx)));
 }
 
index 54f4f605f5ca79f9b01eac905e90b41123bddf05..d39622b238e1f7d5435816681cdb12c96f2c5815 100644 (file)
@@ -2,7 +2,7 @@
  * Simulator of microcontrollers (sim.src/uccl.h)
  *
  * Copyright (C) 1999,99 Drotos Daniel, Talker Bt.
- * 
+ *
  * To contact author send email to drdani@mazsola.iit.uni-miskolc.hu
  *
  */
@@ -55,7 +55,7 @@ public:
 
   cl_ticker(int adir, int in_isr, const char *aname);
   virtual ~cl_ticker(void);
-  
+
   virtual int tick(int nr);
   virtual double get_rtime(double xtal);
   virtual void dump(int nr, double xtal, class cl_console_base *con);
@@ -98,7 +98,7 @@ public:
   class cl_sim *sim;
   //class cl_list *mems;
   class cl_hws *hws;
-  
+
   class cl_list *memchips;      // v3
   class cl_address_space_list *address_spaces;
   class cl_address_space *rom;  // Required for almost every uc
@@ -197,7 +197,7 @@ public:
   virtual void check_events(void);
 
   // disassembling and symbol recognition
-  virtual char *disass(t_addr addr, const char *sep);
+  virtual const char *disass(t_addr addr, const char *sep);
   virtual struct dis_entry *dis_tbl(void);
   virtual struct name_entry *sfr_tbl(void);
   virtual struct name_entry *bit_tbl(void);
@@ -221,7 +221,7 @@ public:
   virtual t_addr bit_address(class cl_memory *mem,
                              t_addr mem_address,
                              int bit_number) { return(-1); }
-  
+
   // messages from app to handle and broadcast
   virtual bool handle_event(class cl_event &event);
   //virtual void mem_cell_changed(class cl_address_space *mem, t_addr addr);
@@ -230,7 +230,7 @@ public:
   // Error handling
   virtual void error(class cl_error *error);
   virtual void check_errors(void);
-  
+
   /* Following fields and virtual methods defined in uc51 I don't have
      energy to redesign them:-( */
 public:
index 4f20da91b6c48104a50ce9c9f9ac583cc8236306..23fa5ea2b47fff4d2076b3e4aee2e45482a308ab 100644 (file)
@@ -335,8 +335,8 @@ disass - Disassemble an opcode.
     addr - address of opcode to disassemble/print.
     sep - optionally points to string(tab) to use as separator.
 |--------------------------------------------------------------------*/
-char *
-cl_xa::disass(t_addr addr, char *sep)
+const char *
+cl_xa::disass(t_addr addr, const char *sep)
 {
   char work[256], parm_str[40];
   char *buf, *p, *b;
@@ -423,15 +423,15 @@ cl_xa::disass(t_addr addr, char *sep)
     break;
     case DIRECT_REG :
       sprintf(parm_str, "%s,%s",
-              get_dir_name(((code & 0x7) << 8) | 
+              get_dir_name(((code & 0x7) << 8) |
                            get_mem(MEM_ROM_ID, addr+immed_offset)),
               reg_strs[((code >> 4) & 0xf)] );
       ++immed_offset;
     break;
     case REG_DIRECT :
       sprintf(parm_str, "%s,%s",
-              reg_strs[((code >> 4) & 0xf)], 
-              get_dir_name(((code & 0x7) << 8) | 
+              reg_strs[((code >> 4) & 0xf)],
+              get_dir_name(((code & 0x7) << 8) |
                            get_mem(MEM_ROM_ID, addr+immed_offset)));
       ++immed_offset;
     break;
@@ -511,14 +511,14 @@ cl_xa::disass(t_addr addr, char *sep)
     break;
     case DIRECT_DATA8 :
       sprintf(parm_str, "%s,#0x%02x",
-              get_dir_name(((code & 0x0070) << 4) | 
+              get_dir_name(((code & 0x0070) << 4) |
                            get_mem(MEM_ROM_ID, addr+immed_offset)),
               get_mem(MEM_ROM_ID, addr+immed_offset+1));
       immed_offset += 3;
     break;
     case DIRECT_DATA16 :
       sprintf(parm_str, "%s,#0x%04x",
-              get_dir_name(((code & 0x0070) << 4) | 
+              get_dir_name(((code & 0x0070) << 4) |
                            get_mem(MEM_ROM_ID, addr+immed_offset)),
               get_mem(MEM_ROM_ID, addr+immed_offset+2) +
               (get_mem(MEM_ROM_ID, addr+immed_offset+1)<<8));
@@ -530,11 +530,11 @@ cl_xa::disass(t_addr addr, char *sep)
       strcpy(parm_str, "");
     break;
     case CY_BIT :
-      sprintf(parm_str, "C,%s", 
+      sprintf(parm_str, "C,%s",
              get_bit_name(((code&0x0003)<<8) + get_mem(MEM_ROM_ID, addr+2)));
     break;
     case BIT_CY :
-      sprintf(parm_str, "%s,C", 
+      sprintf(parm_str, "%s,C",
               get_bit_name(((code&0x0003)<<8) + get_mem(MEM_ROM_ID, addr+2)));
     break;
     case REG_DATA4 :
@@ -563,7 +563,7 @@ cl_xa::disass(t_addr addr, char *sep)
     break;
     case DIRECT :
       sprintf(parm_str, "%s",
-              get_dir_name(((code & 0x007) << 4) + 
+              get_dir_name(((code & 0x007) << 4) +
                            get_mem(MEM_ROM_ID, addr+2)));
     break;
     case REG :
@@ -587,9 +587,9 @@ cl_xa::disass(t_addr addr, char *sep)
       sprintf(parm_str, "#0x%02x", code&0x0f);
       break;
     case ADDR24 :
-      sprintf(parm_str, "0x%06x", 
-             (get_mem(MEM_ROM_ID, addr+3)<<16) + 
-             (get_mem(MEM_ROM_ID, addr+1)<<8) + 
+      sprintf(parm_str, "0x%06x",
+             (get_mem(MEM_ROM_ID, addr+3)<<16) +
+             (get_mem(MEM_ROM_ID, addr+1)<<8) +
              get_mem(MEM_ROM_ID, addr+2));
       break;
     break;
@@ -671,7 +671,7 @@ cl_xa::disass(t_addr addr, char *sep)
     case REG_DIRECT_REL8 :
       sprintf(parm_str, "%s,%s,0x%02x",
               reg_strs[((code >> 4) & 0xf)],
-              get_dir_name(((code & 0x7) << 8) + 
+              get_dir_name(((code & 0x7) << 8) +
                            get_mem(MEM_ROM_ID, addr+immed_offset)),
               ((signed char) get_mem(MEM_ROM_ID, addr+immed_offset+1) * 2) & 0xfffe );
     break;
@@ -711,14 +711,14 @@ cl_xa::disass(t_addr addr, char *sep)
     break;
 
     case REG_REGOFF8 :
-      sprintf(parm_str, "%s,%s+0x%02x", 
+      sprintf(parm_str, "%s,%s+0x%02x",
               w_reg_strs[(code >> 4) & 0x7],
               w_reg_strs[code & 0x7],
               get_mem(MEM_ROM_ID, addr+immed_offset));
       break;
 
     case REG_REGOFF16 :
-      sprintf(parm_str, "%s,%s+0x%02x", 
+      sprintf(parm_str, "%s,%s+0x%02x",
               w_reg_strs[(code >> 4) & 0x7],
               w_reg_strs[code & 0x7],
               get_mem(MEM_ROM_ID, addr+immed_offset+1) +
index 172f923587ef3247ce8d4dfbfaaf398382a55773..cc8724378a90d2501378aa618e313a99040531b4 100644 (file)
@@ -82,7 +82,7 @@ public:
                        int *parms,
                        int *mnemonic);
 
-  virtual char *disass(t_addr addr, char *sep);
+  virtual const char *disass(t_addr addr, const char *sep);
   virtual void print_regs(class cl_console_base *con);
 
   virtual int exec_inst(void);
index 0c1af70c15ff0d56e94e9d9de4c286f5ff0b7f9d..a13a6bb8d3f0a170f0732ac670b80482e3069ae0 100644 (file)
@@ -2,9 +2,9 @@
  * Simulator of microcontrollers (z80.cc)
  *
  * some z80 code base from Karl Bongers karl@turbobit.com
- * 
+ *
  * Copyright (C) 1999,99 Drotos Daniel, Talker Bt.
- * 
+ *
  * To contact author send email to drdani@mazsola.iit.uni-miskolc.hu
  *
  */
@@ -309,7 +309,7 @@ cl_z80::get_disasm_info(t_addr addr,
 }
 
 const char *
-cl_z80::disass(t_addr addr, char *sep)
+cl_z80::disass(t_addr addr, const char *sep)
 {
   char work[256], temp[20];
   const char *b;
@@ -320,7 +320,7 @@ cl_z80::disass(t_addr addr, char *sep)
   p= work;
 
   b = get_disasm_info(addr, &len, NULL, &immed_offset);
-  
+
   if (b == NULL) {
     buf= (char*)malloc(30);
     strcpy(buf, "UNKNOWN/INVALID");
@@ -419,7 +419,7 @@ cl_z80::print_regs(class cl_console_base *con)
   con->dd_printf("SP= 0x%04x [SP]= %02x %3d %c\n",
                  regs.SP, ram->get(regs.SP), ram->get(regs.SP),
                  isprint(ram->get(regs.SP))?ram->get(regs.SP):'.');
-  
+
   print_disass(PC, con);
 }
 
@@ -507,7 +507,7 @@ cl_z80::exec_inst(void)
     case 0x70: case 0x71: case 0x72: case 0x73: case 0x74: case 0x75: case 0x77:
     case 0x78: case 0x79: case 0x7a: case 0x7b: case 0x7c: case 0x7d: case 0x7e: case 0x7f:
       return(inst_ld(code));
-    case 0x76: 
+    case 0x76:
       return(inst_halt(code));
 
     case 0x80: case 0x81: case 0x82: case 0x83: case 0x84: case 0x85: case 0x86: case 0x87:
index 2010d48ce1c7bb0222dbe4d504a28408cf241334..c8544ee4a87dc58bb02af72ababe8fcdec3d7386 100644 (file)
@@ -2,7 +2,7 @@
  * Simulator of microcontrollers (z80cl.h)
  *
  * Copyright (C) 1999,99 Drotos Daniel, Talker Bt.
- * 
+ *
  * To contact author send email to drdani@mazsola.iit.uni-miskolc.hu
  *
  */
@@ -56,7 +56,7 @@ public:
   virtual int inst_length(t_addr addr);
   virtual int inst_branch(t_addr addr);
   virtual int longest_inst(void);
-  virtual const char *disass(t_addr addr, char *sep);
+  virtual const char *disass(t_addr addr, const char *sep);
   virtual void print_regs(class cl_console_base *con);
 
   virtual int exec_inst(void);