| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
This refactors the disassembler into two stages with the list of struct
instruction (currently also output by the parse stage) as an "intermediate
language" between disassembly and assembler output. This should make these
units, especially the "machine code => IL" section, more reusable for future
soft emulation work.
|
| |
|
|
|
|
|
| |
This allows for inspection of test failures when the script is run with noclean
and the failing test is not the last test in the run.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Makes no-clean mode optional, and non-default. By default, we probably want
failed test runs not to leave things lying around, since most of test running
for now will be for test development. Perhaps once tests are stable, we can
switch back to no-clean by default to catch bugs.
|
|
This adds a support script for future expansion of an asm->disasm->asm
series of tests, which will at minimum ensure some parity between the
assembler and disassembler. Lower level tests to ensure correct behaviour
rather than just symmetrical behaviour belong in another set of tests.
This patch also fixes the assembler's behaviour around numeric labels.
Many other assemblers support entirely numeric labels, and the output
of the disassembler includes them. The assembler has been adjusted to
lex a probably-numeric as a label if it is at the start of the line.
Otherwise, old label behavour and old numeric behaviour is left in
place.
|