Commit graph

569 commits

Author SHA1 Message Date
Mark Pizzolato
3b8442ce71 SCP: Set UNIT_IDLE in the step unit so idline can happen during "STEP -t nnn" 2018-06-19 23:41:09 -07:00
Mark Pizzolato
6b7798781d TIMER: Allow recording of elapsed time when asynch events arrive while idling
As discussed in #578
2018-06-14 12:40:22 -07:00
Mark Pizzolato
d39864669a SCP: Fix potential null pointer dereference in debug expression 2018-06-14 01:36:05 -07:00
Mark Pizzolato
3973963b0c SCP: Make expression evaluation consistent 2018-06-13 00:36:22 -07:00
Mark Pizzolato
f89a65ff2f SCP: Revert pre-insertion of %n to be done during normal expansion. 2018-06-12 02:03:07 -07:00
Mark Pizzolato
2203608f4a SCP: Fix adjacent insertion of %n DO command arguments 2018-06-11 17:06:20 -07:00
Mark Pizzolato
2b112b0e13 SCP: Allow single digit argument insertion for DO command arguments 2018-06-11 14:51:27 -07:00
Mark Pizzolato
ed2abaa2d8 SCP: Enhance debug output while tracking event and timer activity 2018-06-11 03:13:29 -07:00
Mark Pizzolato
4fff142444 SCP: Fix EXPECT bookkeeping to avoid reference after free error 2018-06-11 02:35:07 -07:00
Mark Pizzolato
5700b1f477 SCP: Properly handle literal strings in expression string comparisons 2018-06-09 08:16:39 -07:00
Mark Pizzolato
5ca02d3f98 SCP: Add missing case independent string compare in expressions 2018-06-09 06:20:32 -07:00
Mark Pizzolato
15cd4d35ac SCP: Enhance command procedure processing and add debugging support
- push new action commands ahead of any previously unprocessed pending
   action commands.
- Add ACTION and DO debug to CPU (SCP) command processing support
- Insert %n command arguments before storing command line for potential
   deferred processing of action parameters to some commands (IF, BREAK,
   EXPECT, etc.)
2018-06-08 18:09:10 -07:00
Mark Pizzolato
9e18e0bb8d SCP: Cleanup expression evaluation logic errors
- Conversion to postfix ends up with operator ordering in different from the
   initial assumption resulting all relative compares being wrong.
- Parsing of Hex, Binary and Octal numeric tokens need to properly terminate
- Environment variable names can start with the _ character
2018-06-07 17:34:35 -07:00
Mark Pizzolato
06654d1ff5 TMXR: Make sure all MUX devices can leverage all debug selectors 2018-06-07 16:39:26 -07:00
Mark Pizzolato
ce5c3f0ff5 SCP: Allow symbols (environment variables) to describe contain addresses
This allows:
   sim> SET ENV X=80004324
   sim> EXAMINE X
   80004324: xxxxxxxxxx
   sim> DEPOSIT X nnnnn
2018-06-05 22:24:46 -07:00
Mark Pizzolato
b40e586ef3 SCP: Assure that action commands (IF/ASSERT,BREAK, ON, etc.) are trimmed 2018-05-31 15:30:19 -07:00
Mark Pizzolato
6e35bee5c5 SCP: Fixed Coverity identified issues 2018-05-28 01:56:14 -07:00
Mark Pizzolato
b1318f5c37 SCP: Always clear uptr->fileref on detach 2018-05-26 12:37:26 -07:00
Mark Pizzolato
874f60cbaa SCP: Fix potentially uninitialized variable reference 2018-05-25 10:21:35 -07:00
Mark Pizzolato
5f2c7b2a48 SCP: Defer substitution for IF/ASSERT command action commands 2018-05-24 13:31:07 -07:00
Mark Pizzolato
c294787aed SCP: Fix expression evaluation divide by zero, and avoid parameter substitution
This allows bare the % character to to properly be the moduls operator and
avoids potential ambiguous variable insertions.
2018-05-24 12:59:23 -07:00
Mark Pizzolato
0daff9026d SCP: Add TIME_MSEC predefined variable to provide time to milliseconds
- Assure that Internal variables are referencable during expression evaluation
- Add DEVNAME.REGNAME format for referencing non unique registers in
  expression evaluation.
- Extend global register search to also search known internal device list
  registers
- Allow expression variable names to have _ as a character within in the name
2018-05-24 01:46:24 -07:00
Mark Pizzolato
4734454bac SCP: Fix sim_dir_scan on Windows to return correct directory name
Also, change sim_dir_scan on all platforms to NOT return the contents
of a directory unless the filespec string asks for it.  This avoids the
potential catastrophe of a DEL command specifying a directory and
having its contents deleted.
Meanwhile, the DIR command now will list the contents of a directory
if the directory is specified with (or without) a wild card pattern.
2018-05-19 06:31:48 -07:00
Mark Pizzolato
b51d250598 SCP: Ignore trailing whitespace for all commands 2018-05-18 08:32:03 -07:00
Mark Pizzolato
cc31a50436 SCP: Allow empty SIM_BUILD_OS for compilers that don't support empty strings 2018-05-12 10:52:07 -07:00
Mark Pizzolato
cb53ddbc12 makefile: Make compile time Android Version visible in SHOW VERSION output 2018-05-10 21:55:15 -07:00
Mark Pizzolato
c0cda9ffd4 SCP: Remove leading / from sim_dir_scan file names when glob isn't available 2018-05-10 00:09:19 -07:00
Mark Pizzolato
818032fd24 SCP: Remove redundant DIR_ENTRY_CALLBACK declaration 2018-05-09 16:43:39 -07:00
Mark Pizzolato
b781834f31 SCP: Add sim_dir_scan API for general use. 2018-05-09 13:52:52 -07:00
Mark Pizzolato
6ccbfc7381 SCP: Report errno value when starting instruction execution fails 2018-05-08 02:51:17 -07:00
Mark Pizzolato
245a85d79e SCP: Fix Coverity identified memory leak in error expression evaluation path 2018-05-05 17:59:57 -07:00
Mark Pizzolato
a4b5160437 SCP: Add string comparison support to C Style expression evaluation
- Fix operator precedence interpretation
- Report expression parsing errors
2018-05-03 11:54:11 -07:00
Mark Pizzolato
96d3b5d26b SCP: Add SCP debug options to default device debug setup 2018-05-03 11:49:42 -07:00
Mark Pizzolato
130ad1c21f SCP: Fix potential error path expression evaluation memory leak (Coverity) 2018-05-01 23:07:57 -07:00
Mark Pizzolato
4e508cfc29 SCP: Add C style expression support for IF conditions and SET ENV -A
Expression evaluation code provided by Gabriel Pizzolato.
2018-05-01 22:08:06 -07:00
Mark Pizzolato
8fe02ad6d1 SCP: Updaeted HELP EVAL to provide meaningful examples. 2018-05-01 13:43:22 -07:00
Mark Pizzolato
396679a01a SCP: Add strtotsv to generally parse signed t_value data (t_svalue).
Allow for explicit Hex, Octal and Binary (0x. 0. 0b) prefix
2018-04-30 23:03:33 -07:00
Mark Pizzolato
b4ca9174fd SCP: Add formatting support for signed t_value (t_svalue).
PV_LEFTSIGN - left justified signed value
PV_RCOMMASIGN - right, space filled, Comma separated every 3 treat as signed
2018-04-30 21:35:20 -07:00
Mark Pizzolato
15e86fb4ed SCP, DISK: Fix Coverity identified debug path null pointer dereferences 2018-04-17 23:51:39 -07:00
Mark Pizzolato
adedce8556 SCP: Add quoted string argument to SET ENV otherwise trim whitespace
Previously, unexpected values might end up being set when using SET ENV
if there were trailing whitespace on the line being parsed.  Any such white
space is now explicitly trimmed before the environment variable is set.
Once we do that, we need to provide a way to deliberately set an environment
variable with trailing spaces.  This is now achieved by using a quoted string
value specified as:

    SET ENV -S var="value  "

The quotes are removed prior to setting the environment variable value.
The contents of the quoted string are parsed the same as EXPECT and SEND
arguments.
2018-04-16 13:52:54 -07:00
Mark Pizzolato
da31dfa7a9 SCP: Extend EXAMINE <dev> STATE to display elements of arrayed registers 2018-04-11 04:21:17 -07:00
Mark Pizzolato
114a29bc2f SCP: Add PCRE version to SHOW VERSION output 2018-04-08 17:13:54 -07:00
Mark Pizzolato
28e4311039 SCP: Extended debugging to allow for unit specific debug for disk and tape 2018-04-07 21:38:26 -07:00
Mark Pizzolato
e7090e784e SCP: Add support to compare file contents with IF -F "file1" == "file2" 2018-03-31 23:50:37 -07:00
Mark Pizzolato
0b209d2383 SCP: Allow UNIT_RO flag bit to be static when UNIT_ROABLE isn't present. 2018-03-25 18:09:07 -07:00
Mark Pizzolato
d0004b20aa SCP: Compiler const warning cleanup 2018-03-20 13:01:18 -07:00
Mark Pizzolato
2051422ee2 SCP: Remove redundant public SCP API declarations 2018-03-19 11:11:55 -07:00
Mark Pizzolato
c8ca4161fa SCP: Add git commit time to commit id version information 2018-03-09 02:58:40 -08:00
Mark Pizzolato
4cbf4e4144 SCP: Fix IF conditional expression parsing to not require spaces around operator
As reported in #536
2018-03-08 12:12:02 -08:00
Mark Pizzolato
d81ff1f17e SCP: Expose get_sim_opt globally so that local commands can parse switches 2018-03-06 16:41:42 -08:00