LC3 2019 support
complx
Refresh title bar when a replay string was used.
Trace files - output a file with all of the instructions + state of registers while the program is running.
pylc3
Added function setLC3Version which switches which version of the lc3 to use. By default it uses the original LC3. A future release will default to the current version of LC3.
Add function to load assembler output from the assembler in Patt's textbook.
liblc3
Partial support for the new LC3 revision. Only the following things from the new ISA are supported at this time
- LEA no longer sets condition codes
- PSR is a device register at address xFFFC
- TRAPs now work like interrupts, pushing the PSR,PC on the stack and now instead of RET you use RTI to return from one. The original traps were re-implemented to work with this.
The following things are not supported at this time:
- Binary literals with binary numbers prefixed with a b.
- Reading/Writing to privileged memory in non privileged mode causes an Access Control Violation firing interrupt vector x02.
Note that by default the original LC-3 is used when running programs. The only way to enable the lc3 revision is via a comment in the assembly file ";@Version 1". A future update will default the lc3 to the new revision.
Add disassembled instruction in warning messages.
Remove printing out characters in assembler error messages, as a non printable character caused wxWidgets to wig out and print out (null) instead of the error message produced by the assembler.
Fix RTI being treated as a malformed exception.
Add keyboard interrupt delay and fix keyboard interrupts in non GUI environments.
as2obj
Ability for the assembler to output text based files with hexadecimal and binary (machine language code).