1 /* 2 * Simulator of microcontrollers (hc08cl.h) 3 * 4 * Copyright (C) 1999,99 Drotos Daniel, Talker Bt. 5 * 6 * To contact author send email to drdani@mazsola.iit.uni-miskolc.hu 7 * 8 */ 9 10 /* This file is part of microcontroller simulator: ucsim. 11 12 UCSIM is free software; you can redistribute it and/or modify 13 it under the terms of the GNU General Public License as published by 14 the Free Software Foundation; either version 2 of the License, or 15 (at your option) any later version. 16 17 UCSIM is distributed in the hope that it will be useful, 18 but WITHOUT ANY WARRANTY; without even the implied warranty of 19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 GNU General Public License for more details. 21 22 You should have received a copy of the GNU General Public License 23 along with UCSIM; see the file COPYING. If not, write to the Free 24 Software Foundation, 59 Temple Place - Suite 330, Boston, MA 25 02111-1307, USA. */ 26 /*@1@*/ 27 28 #ifndef HC08CL_HEADER 29 #define HC08CL_HEADER 30 31 #include "uccl.h" 32 33 #include "regshc08.h" 34 35 36 /* 37 * Base type of Z80 microcontrollers 38 */ 39 40 class cl_hc08: public cl_uc 41 { 42 public: 43 class cl_memory *ram; 44 class cl_memory *rom; 45 class cl_address_space *regs8, *regs16; 46 struct t_regs regs; 47 public: 48 cl_hc08(struct cpu_entry *Itype, class cl_sim *asim); 49 virtual int init(void); 50 virtual char *id_string(void); 51 52 //virtual t_addr get_mem_size(enum mem_class type); 53 virtual void mk_hw_elements(void); 54 virtual void make_memories(void); 55 56 virtual struct dis_entry *dis_tbl(void); 57 virtual int inst_length(t_addr addr); 58 virtual int inst_branch(t_addr addr); 59 virtual int longest_inst(void); 60 virtual char *disass(t_addr addr, const char *sep); 61 virtual void print_regs(class cl_console_base *con); 62 63 virtual int exec_inst(void); 64 65 virtual const char * get_disasm_info(t_addr addr, 66 int *ret_len, 67 int *ret_branch, 68 int *immed_offset, 69 struct dis_entry **dentry); 70 virtual bool is_call(t_addr addr); 71 virtual t_mem get_1(t_addr addr); 72 virtual t_mem get_2(t_addr addr); 73 74 virtual void reset(void); 75 #include "instcl.h" 76 }; 77 78 79 #endif 80 81 /* End of hc08.src/hc08cl.h */ 82