summaryrefslogtreecommitdiff
path: root/sim/ucsim/cmd.src/cmd_conf.cc
diff options
context:
space:
mode:
authorXavier ASUS <xavi92psx@gmail.com>2019-10-18 00:31:54 +0200
committerXavier ASUS <xavi92psx@gmail.com>2019-10-18 00:31:54 +0200
commit268a53de823a6750d6256ee1fb1e7707b4b45740 (patch)
tree42c1799a9a82b2f7d9790ee9fe181d72a7274751 /sim/ucsim/cmd.src/cmd_conf.cc
downloadsdcc-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.cc152
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 */