diff options
| author | Xavier ASUS <xavi92psx@gmail.com> | 2019-10-18 00:31:54 +0200 |
|---|---|---|
| committer | Xavier ASUS <xavi92psx@gmail.com> | 2019-10-18 00:31:54 +0200 |
| commit | 268a53de823a6750d6256ee1fb1e7707b4b45740 (patch) | |
| tree | 42c1799a9a82b2f7d9790ee9fe181d72a7274751 /sim/ucsim/cmd.src/cmd_conf.cc | |
| download | sdcc-gas-268a53de823a6750d6256ee1fb1e7707b4b45740.tar.gz | |
sdcc-3.9.0 fork implementing GNU assembler syntax
This fork aims to provide better support for stm8-binutils
Diffstat (limited to 'sim/ucsim/cmd.src/cmd_conf.cc')
| -rw-r--r-- | sim/ucsim/cmd.src/cmd_conf.cc | 152 |
1 files changed, 152 insertions, 0 deletions
diff --git a/sim/ucsim/cmd.src/cmd_conf.cc b/sim/ucsim/cmd.src/cmd_conf.cc new file mode 100644 index 0000000..4662dd6 --- /dev/null +++ b/sim/ucsim/cmd.src/cmd_conf.cc @@ -0,0 +1,152 @@ +/* + * Simulator of microcontrollers (cmd.src/cmdconf.cc) + * + * Copyright (C) 2001,01 Drotos Daniel, Talker Bt. + * + * To contact author send email to drdani@mazsola.iit.uni-miskolc.hu + * + */ + +/* This file is part of microcontroller simulator: ucsim. + +UCSIM is free software; you can redistribute it and/or modify +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 +02111-1307, USA. */ +/*@1@*/ + +// prj +#include "globals.h" +#include "utils.h" + +// sim +#include "simcl.h" + +// local +#include "cmd_confcl.h" + + +void +set_conf_help(class cl_cmd *cmd) +{ + cmd->set_help("conf [subcommand]", + "Information about simulator", + "Long of conf"); +} + +/* + * Command: conf + *---------------------------------------------------------------------------- + */ + +int +cl_conf_cmd::do_work(class cl_uc *uc, + class cl_cmdline *cmdline, class cl_console_base *con) +{ + int i; + + con->dd_printf("ucsim version %s\n", VERSIONSTR); + con->dd_printf("Type of microcontroller: %s", uc->id_string()); + if (cpus && + uc->type) + { + const char *s= uc->type->sub_help; + if (s && *s) + con->dd_printf(" %s", s); + } + con->dd_printf("\n"); + con->dd_printf("Controller has %d hardware element(s).\n", + uc->nuof_hws()); + for (i= 0; i < uc->nuof_hws(); i++) + { + class cl_hw *hw= uc->get_hw(i); + con->dd_printf(" %3s %s[%d]\n", hw->on?"on":"off", hw->id_string, hw->id); + } + return(0); +} + +CMDHELP(cl_conf_cmd, + "conf", + "Configuration", + "long help of conf 1") + + +/* + * Command: conf objects + *---------------------------------------------------------------------------- + */ + +static void +conf_objects_cmd_print_node(class cl_console_base *con, + int indent, class cl_base *node) +{ + if (!node) + return; + int i; + for (i= 0; i < indent; i++) + con->dd_printf(" "); + const char *name= node->get_name("unknown"); + con->dd_printf("%s\n", name); + class cl_base *c= node->first_child(); + while (c) + { + conf_objects_cmd_print_node(con, indent+2, c); + c= node->next_child(c); + } +} + +//int +//cl_conf_addmem_cmd::do_work(class cl_sim *sim, +// class cl_cmdline *cmdline, class cl_console *con) +COMMAND_DO_WORK_APP(cl_conf_objects_cmd) +{ + //class cl_address_space *mem= 0; + /*class cl_cmd_arg *params[4]= { cmdline->param(0), + cmdline->param(1), + cmdline->param(2), + cmdline->param(3) };*/ + class cl_error *cl_error_base = new cl_error(); + conf_objects_cmd_print_node(con, 0, + /*application*/cl_error_base->get_class()); + delete cl_error_base; + return(false); +} + +CMDHELP(cl_conf_objects_cmd, + "conf objects", + "Show object tree", + "long help of conf objects") + +COMMAND_DO_WORK_APP(cl_jaj_cmd) +{ + //class cl_address_space *mem= 0; + class cl_cmd_arg *params[4]= { cmdline->param(0), + cmdline->param(1), + cmdline->param(2), + cmdline->param(3) }; + + if (params[0] != NULL) + { + int i= params[0]->i_value; + jaj= i?true:false; + } + con->dd_printf("%d\n", jaj); + return(false); +} + +CMDHELP(cl_jaj_cmd, + "jaj [val]", + "Jaj", + "long help of jaj") + +/* End of cmd.src/cmd_conf.cc */ |
