From 9122a9f196d2db25b9fc5a2e7cdb224ee23f2f27 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Mon, 26 Sep 2016 18:23:55 -0700 Subject: [PATCH] SCP: Add . pseudo symbol to reference the most recent address Useful in EXAMINE and DEPOSIT. --- doc/simh_doc.doc | Bin 256000 -> 256512 bytes scp.c | 34 ++++++++++++++++++++++++---------- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/doc/simh_doc.doc b/doc/simh_doc.doc index 79bcb3836eabe9e73dcf7e675536702f29a1380c..e6786edef3afe50f26b0186f356b96c33abfaf9d 100644 GIT binary patch delta 24138 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 delta 23267 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 diff --git a/scp.c b/scp.c index 745b08a9..8adb2057 100644 --- a/scp.c +++ b/scp.c @@ -493,6 +493,7 @@ volatile int32 stop_cpu = 0; static char **sim_argv; t_value *sim_eval = NULL; static t_value sim_last_val; +static t_addr sim_last_addr; FILE *sim_log = NULL; /* log file */ FILEREF *sim_log_ref = NULL; /* log file file reference */ FILE *sim_deb = NULL; /* debug file */ @@ -7528,17 +7529,27 @@ if (max && strncmp (cptr, "ALL", strlen ("ALL")) == 0) { /* ALL? */ *hi = max; } else { - if (strncmp (cptr, "$", strlen ("$")) == 0) { /* $? */ - tptr = cptr + strlen ("$"); - *hi = *lo = (t_addr)sim_last_val; + if ((strncmp (cptr, ".", strlen (".")) == 0) && /* .? */ + ((cptr[1] == '\0') || + (cptr[1] == '-') || + (cptr[1] == ':') || + (cptr[1] == '/'))) { + tptr = cptr + strlen ("."); + *lo = *hi = sim_last_addr; } else { - if (dptr && sim_vm_parse_addr) /* get low */ - *lo = sim_vm_parse_addr (dptr, cptr, &tptr); - else - *lo = (t_addr) strtotv (cptr, &tptr, rdx); - if (cptr == tptr) /* error? */ - return NULL; + if (strncmp (cptr, "$", strlen ("$")) == 0) { /* $? */ + tptr = cptr + strlen ("$"); + *hi = *lo = (t_addr)sim_last_val; + } + else { + if (dptr && sim_vm_parse_addr) /* get low */ + *lo = sim_vm_parse_addr (dptr, cptr, &tptr); + else + *lo = (t_addr) strtotv (cptr, &tptr, rdx); + if (cptr == tptr) /* error? */ + return NULL; + } } if ((*tptr == '-') || (*tptr == ':')) { /* range? */ cptr = tptr + 1; @@ -7559,6 +7570,7 @@ else { } else *hi = *lo; } +sim_last_addr = *hi; if (term && (*tptr++ != term)) return NULL; return tptr; @@ -9469,6 +9481,7 @@ t_stat sim_set_expect (EXPECT *exp, CONST char *cptr) char gbuf[CBUFSIZE]; CONST char *tptr; CONST char *c1ptr; +t_bool after_set = FALSE; uint32 after = exp->after; int32 cnt = 0; t_stat r; @@ -9488,13 +9501,14 @@ if ((!strncmp(gbuf, "HALTAFTER=", 10)) && (gbuf[10])) { after = (uint32)get_uint (&gbuf[10], 10, 100000000, &r); if (r != SCPE_OK) return sim_messagef (SCPE_ARG, "Invalid Halt After Value\n"); + after_set = TRUE; cptr = tptr; } if ((*cptr != '"') && (*cptr != '\'')) return sim_messagef (SCPE_ARG, "String must be quote delimited\n"); cptr = get_glyph_quoted (cptr, gbuf, 0); -return sim_exp_set (exp, gbuf, cnt, (after ? after : exp->after), sim_switches, cptr); +return sim_exp_set (exp, gbuf, cnt, (after_set ? after : exp->after), sim_switches, cptr); } /* Clear expect */