summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Print better error message when unable to output bytecodeBen Bridle2023-12-24
| | | | | Don't print the internal error representation to the console when an error occurs while trying to write the assembled bytecode to stdout.
* Change op-codes for JMP and JCN instructionsBen Bridle2023-12-19
| | | | | | The JMP and JSR op-codes no longer include a * character, and the double-mode JCN op-codes have been changed to JSN to reflect a change in the instruction set of the Bedrock processor.
* Report unused label definitionsBen Bridle2023-12-19
| | | | | | When the assembler successfully assembles a program, it will now report the names of all label definitions for which there are no label references. This is to aid the user in finding dead code within their programs.
* Report preceding label name on assembly errorBen Bridle2023-12-19
| | | | | | | | | | | | When the assembler encounters an error, the erroneous line and the line number are output in order to help the user to find where in the input file the error occurred. This is useful for single-file inputs, but the line number is generally not helpful if the input file was generated by concatenating multiple files. In order to help the user to determine where in the program source the error occurred, the assembler now reports the name of the label which directly precedes the erroneous line.
* Implement null-terminated stringsBen Bridle2023-11-26
| | | | | | Double-quoted strings are automatically terminated by null bytes, with single-quoted strings maintaining the prior non-terminated string behaviour.
* Tidy up code and commentsBen Bridle2023-11-26
|
* Implement name-spaced macrosBen Bridle2023-11-26
|
* Change operation mnemonics to reflect spec changesBen Bridle2023-11-26
|
* Improve reading and writing from stdin/stdoutBen Bridle2023-11-26
| | | | | Previously, attempting to write large amounts of bytecode to stdout would often result in only the first n bytes being written.
* Exit with status 1 on assembly errorBen Bridle2023-11-26
| | | | | This will break unix pipelines in order to prevent any emulator down the pipeline from attempting to run a malassembled program.
* Implement string literalsBen Bridle2023-11-26
|
* Added detection of cyclic macro references, and made assembler binary usableBen Bridle2023-05-08
|
* About to refactor parser to be a struct with a method for each stageBen Bridle2023-05-06