X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=sim%2Fucsim%2Fcmd.src%2Fget.cc;h=fe6d4c4629626e31883464ead3ea63a74d4140f6;hb=90f4aedaef8a2310573eef905f95c671f84e5cde;hp=f070f02f07c78db1924822f28f7896af58cd7fb9;hpb=0e1bba0730e55b3d40c1c644d94befc99c87270d;p=fw%2Fsdcc diff --git a/sim/ucsim/cmd.src/get.cc b/sim/ucsim/cmd.src/get.cc index f070f02f..fe6d4c46 100644 --- a/sim/ucsim/cmd.src/get.cc +++ b/sim/ucsim/cmd.src/get.cc @@ -2,7 +2,7 @@ * Simulator of microcontrollers (cmd.src/get.cc) * * Copyright (C) 1999,99 Drotos Daniel, Talker Bt. - * + * * To contact author send email to drdani@mazsola.iit.uni-miskolc.hu * */ @@ -50,10 +50,10 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA //int //cl_get_sfr_cmd::do_work(class cl_sim *sim, -// class cl_cmdline *cmdline, class cl_console *con) +// class cl_cmdline *cmdline, class cl_console_base *con) COMMAND_DO_WORK_UC(cl_get_sfr_cmd) { - class cl_mem *mem= uc->mem(MEM_SFR); + class cl_address_space *mem= uc->address_space(MEM_SFR_ID); class cl_cmd_arg *parm; int i; @@ -66,11 +66,12 @@ COMMAND_DO_WORK_UC(cl_get_sfr_cmd) parm; i++, parm= cmdline->param(i)) { - if (!parm->as_address(uc)) - con->dd_printf("Warning: Invalid address %s\n", - (char*)cmdline->tokens->at(i+1)); + if (!parm->as_address(uc) || + !mem->valid_address(parm->value.address)) + con->dd_printf("Warning: Invalid address %s\n", + (char*)cmdline->tokens->at(i+1)); else - mem->dump(parm->value.address, parm->value.address, 1, con); + mem->dump(parm->value.address, parm->value.address, 1, con); } return(DD_FALSE);; @@ -84,7 +85,7 @@ COMMAND_DO_WORK_UC(cl_get_sfr_cmd) //int //cl_get_option_cmd::do_work(class cl_sim *sim, -// class cl_cmdline *cmdline, class cl_console *con) +// class cl_cmdline *cmdline, class cl_console_base *con) COMMAND_DO_WORK_APP(cl_get_option_cmd) { class cl_cmd_arg *parm= cmdline->param(0); @@ -103,16 +104,25 @@ COMMAND_DO_WORK_APP(cl_get_option_cmd) { class cl_option *o= (class cl_option *)(/*uc*/app->options->at(i)); if ((!s || - !strcmp(s, o->get_name())) && - !o->hidden) - { - con->dd_printf("%2d. %s(by %s): ", i, object_name(o), - object_name(o->get_creator())); - o->print(con); - con->dd_printf(" - %s\n", o->help); - } + !strcmp(s, o->get_name()))) + { + if (!o->hidden) + { + con->dd_printf("%2d. %s(by %s): ", i, object_name(o), + object_name(o->get_creator())); + o->print(con); + con->dd_printf(" - %s\n", o->help); + } + else + { + /* + con->dd_printf("%2d. %s(by %s) is hidden!\n", i, object_name(o), + object_name(o->get_creator())); + */ + } + } } - + return(DD_FALSE);; }