summaryrefslogtreecommitdiffhomepage
path: root/mixlib
diff options
context:
space:
mode:
Diffstat (limited to 'mixlib')
-rw-r--r--mixlib/xmix_vm_handlers.c100
1 files changed, 50 insertions, 50 deletions
diff --git a/mixlib/xmix_vm_handlers.c b/mixlib/xmix_vm_handlers.c
index 7a6c3d1..4d0285f 100644
--- a/mixlib/xmix_vm_handlers.c
+++ b/mixlib/xmix_vm_handlers.c
@@ -1,24 +1,24 @@
/* -*-c-*- -------------- xmix_vm_handlers.c :
* Implementation of the functions declared in xmix_vm_handlers.h
* ------------------------------------------------------------------
- * $Id: xmix_vm_handlers.c,v 1.6 2002/04/09 23:54:32 jao Exp $
+ * $Id: xmix_vm_handlers.c,v 1.7 2003/01/11 22:43:13 jao Exp $
* ------------------------------------------------------------------
- * Copyright (C) 2001, 2002 Free Software Foundation, Inc.
- *
+ * Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+ *
* This program 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.
- *
+ *
* This program 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 this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
+ *
*/
@@ -37,25 +37,25 @@ mix_vm_command_info_t commands_[] = {
{ "pasm", cmd_pasm_, N_("Print the compile command"), "pasm"},
{ "sasm", cmd_sasm_, N_("Set the compile command"),
"sasm COMMAND (e.g. mixasm -g -l %s)"},
- { "run", cmd_run_, N_("Run loaded or given MIX code file"),
+ { "run", cmd_run_, N_("Run loaded or given MIX code file"),
"run [FILENAME]"},
- { "next", cmd_next_, N_("Execute next instruction(s)"),
+ { "next", cmd_next_, N_("Execute next instruction(s)"),
"next [NO_OF_INS]"},
{ "pstat", cmd_pstat_, N_("Print current vm status"), "pstat"},
{ "pc", cmd_pc_, N_("Print program counter value"), "pc" },
{ "psym", cmd_psym_, N_("Print symbol value"), "psym [SYMBOLNAME]"},
- { "preg", cmd_preg_, N_("Print register value"),
+ { "preg", cmd_preg_, N_("Print register value"),
"preg [A | X | J | I[1-6]]"},
- { "pflags", cmd_pflags_, N_("Print comparison and overflow flags"),
+ { "pflags", cmd_pflags_, N_("Print comparison and overflow flags"),
"pflags"},
{ "pall", cmd_pall_, N_("Print all registers and flags"), "pall"},
- { "pmem", cmd_pmem_, N_("Print memory contents in address range"),
+ { "pmem", cmd_pmem_, N_("Print memory contents in address range"),
"pmem FROM[-TO]"},
- { "sreg", cmd_sreg_, N_("Set register value"),
- "preg A | X | J | I[1-6] VALUE"},
+ { "sreg", cmd_sreg_, N_("Set register value"),
+ "sreg A | X | J | I[1-6] VALUE"},
{ "scmp", cmd_scmp_, N_("Set comparison flag value"), "scmp L | E | G"},
{ "sover", cmd_sover_, N_("Set overflow flag value"), "sover T | F" },
- { "smem", cmd_smem_, N_("Set memory contents in given address"),
+ { "smem", cmd_smem_, N_("Set memory contents in given address"),
"smem ADDRESS VALUE"},
{ "ssym", cmd_ssym_, N_("Set a symbol\'s value"), "ssym SYMBOL WEXPR"},
{ "sbp", cmd_sbp_, N_("Set break point at given line"), "sbp LINENO"},
@@ -107,7 +107,7 @@ trace_ (mix_vm_cmd_dispatcher_t *dis)
{
enum {BUFFER_LEN = 128};
static gchar STRINS[BUFFER_LEN];
-
+
if (wants_logs_ (dis))
{
const mix_src_file_t *file = mix_vm_get_src_file (dis->vm);
@@ -117,13 +117,13 @@ trace_ (mix_vm_cmd_dispatcher_t *dis)
mix_ins_t fins;
mix_word_to_ins_uncheck (ins, fins);
mix_ins_to_string_in_buffer (&fins, STRINS, BUFFER_LEN);
-
+
if (file != NULL)
{
gulong b = mix_vm_get_break_lineno (dis->vm);
if (b > 0) line = mix_src_file_get_line (file, b);
}
-
+
log_message_ (dis, "%d: [%-15s]\t%s", (gint)loc, STRINS, line);
}
}
@@ -230,7 +230,7 @@ cmd_load_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg)
if (wants_logs_ (dis))
log_message_ (dis, _("Program loaded. Start address: %d"),
mix_vm_get_prog_count (dis->vm));
-
+
dis->laptime = dis->progtime = 0;
return TRUE;
}
@@ -288,11 +288,11 @@ cmd_compile_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg)
gboolean
cmd_run_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg)
{
- if (arg != NULL && *arg != '\0' && cmd_load_ (dis, arg) != TRUE)
+ if (arg != NULL && *arg != '\0' && cmd_load_ (dis, arg) != TRUE)
return FALSE;
-
+
if (mix_vm_is_halted (dis->vm)) cmd_load_ (dis, dis->program);
-
+
if (wants_logs_ (dis)) log_message_ (dis, _("Running ..."));
switch (run_and_trace_ (dis))
@@ -306,7 +306,7 @@ cmd_run_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg)
gulong line = mix_vm_get_break_lineno (dis->vm);
if (line != 0)
log_message_
- (dis, _("... stopped: breakpoint at line %ld (address %d)"),
+ (dis, _("... stopped: breakpoint at line %ld (address %d)"),
line, mix_vm_get_prog_count (dis->vm));
else
log_message_ (dis, _("... stopped: breakpoint at address %d"),
@@ -359,7 +359,7 @@ cmd_next_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg)
}
if (mix_vm_is_halted (dis->vm)) cmd_load_ (dis, dis->program);
-
+
while ( ins_no-- > 0 )
{
if (dis->trace) trace_ (dis);
@@ -414,7 +414,7 @@ cmd_psym_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg)
mix_symbol_table_print (table, MIX_SYM_ROWS, dis->out, TRUE);
result = TRUE;
}
-
+
return result;
}
@@ -443,7 +443,7 @@ cmd_preg_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg)
{
static gint32 opt[] = { MIX_DUMP_rI1, MIX_DUMP_rI2,
MIX_DUMP_rI3, MIX_DUMP_rI4,
- MIX_DUMP_rI5, MIX_DUMP_rI6
+ MIX_DUMP_rI5, MIX_DUMP_rI6
};
int i = arg[1] - '1';
if ( i < 0 || i > 5 )
@@ -486,7 +486,7 @@ cmd_pmem_ (mix_vm_cmd_dispatcher_t *dis, const gchar *carg)
int i = 0;
gboolean error = FALSE;
gchar *arg = NULL;
-
+
if ( strlen (carg) == 0 )
{
log_error_ (dis, _("Missing memory address"));
@@ -510,14 +510,14 @@ cmd_pmem_ (mix_vm_cmd_dispatcher_t *dis, const gchar *carg)
i++;
while (isspace (narg[i]))
i++;
- if (narg[i] != '\0')
+ if (narg[i] != '\0')
error = TRUE;
- else
+ else
end = atol (narg);
}
else
error = TRUE;
-
+
if (error)
{
log_error_ (dis, _("Invalid argument: %s"), arg);
@@ -545,7 +545,7 @@ cmd_sreg_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg)
char reg = arg[0];
gboolean ok = TRUE;
long value;
-
+
i = (reg == 'I') ? 2 : 1;
ok = strlen (arg) > 2 && isspace (arg[i]);
if (ok)
@@ -576,7 +576,7 @@ cmd_sreg_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg)
case 'I':
{
guint k = arg[1] - '0';
- if ( k < 7 )
+ if ( k < 7 )
mix_vm_set_rI (dis->vm, k, mix_short_new (value));
else
ok = FALSE;
@@ -591,7 +591,7 @@ cmd_sreg_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg)
{
log_error_ (dis, _("Invalid argument: %s"), arg);
}
-
+
return ok;
}
@@ -617,7 +617,7 @@ cmd_scmp_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg)
{
log_error_ (dis, _("Invalid argument: %s"), arg);
}
-
+
return ok;
}
@@ -640,7 +640,7 @@ cmd_sover_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg)
{
log_error_ (dis, _("Invalid argument: %s"), arg);
}
-
+
return ok;
}
@@ -652,7 +652,7 @@ cmd_smem_ (mix_vm_cmd_dispatcher_t *dis, const gchar *carg)
glong value = 0;
int k = 0;
gchar *arg = NULL;
-
+
if (ok)
{
arg = g_strdup (carg);
@@ -682,7 +682,7 @@ cmd_smem_ (mix_vm_cmd_dispatcher_t *dis, const gchar *carg)
log_error_ (dis, _("Invalid argument: %s"), arg);
}
if (arg) g_free (arg);
-
+
return ok;
}
@@ -859,7 +859,7 @@ cmd_weval_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg)
log_error_ (dis, _("Missing expression"));
return FALSE;
}
-
+
if (mix_eval_expression_with_loc (dis->eval, arg,
mix_vm_get_prog_count (dis->vm)) ==
MIX_EVAL_OK)
@@ -891,7 +891,7 @@ cmd_w2d_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg)
log_error_ (dis, _("Missing expression"));
return FALSE;
}
- else
+ else
{
gchar *cp = g_strdup (arg), *a = cp;
mix_byte_t bytes[5] = {0, 0, 0, 0, 0};
@@ -914,7 +914,7 @@ cmd_w2d_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg)
b = strtok (NULL, " \t");
}
}
- if (success)
+ if (success)
{
if (strtok (NULL, "\t") != NULL)
{
@@ -930,7 +930,7 @@ cmd_w2d_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg)
}
}
g_free (cp);
-
+
return success;
}
}
@@ -954,7 +954,7 @@ cmd_strace_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg)
dis->trace = FALSE;
if (dis->config) mix_config_update (dis->config, TRACING_KEY_, OFF);
}
- else
+ else
log_error_ (dis, _("Wrong argument: "), arg);
return TRUE;
}
@@ -978,11 +978,11 @@ cmd_stime_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg)
dis->printtime = FALSE;
if (dis->config) mix_config_update (dis->config, TIMING_KEY_, OFF);
}
- else
+ else
log_error_ (dis, _("Wrong argument: "), arg);
return TRUE;
}
-
+
gboolean
cmd_ptime_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg)
{
@@ -1058,7 +1058,7 @@ static mix_predicate_type_t
get_reg_pred_ (const gchar *arg)
{
mix_predicate_type_t pred = INVALID_REG_;
-
+
switch (*arg)
{
case 'A':
@@ -1302,7 +1302,7 @@ cmd_slog_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg)
dis->log_msg = FALSE;
if (dis->config) mix_config_update (dis->config, LOGGING_KEY_, OFF);
}
- else
+ else
log_error_ (dis, _("Wrong argument: "), arg);
return TRUE;
}
@@ -1338,19 +1338,19 @@ cmd_pline_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg)
log_error_ (dis, _("Invalid argument"));
return FALSE;
}
-
+
if (line == 0)
line = mix_vm_cmd_dispatcher_get_src_file_lineno (dis);
-
+
if (line == 0)
txt = "No such line (debug info not available)\n";
else
txt = mix_vm_cmd_dispatcher_get_src_file_line (dis, line, FALSE);
-
+
if (txt == NULL || strlen (txt) == 0) txt = "No such line\n";
-
+
fprintf (dis->out, "Line %ld: %s\n", line, txt);
-
+
return TRUE;
}