about summary refs log tree commit diff stats
path: root/subx/018functions.cc
Commit message (Collapse)AuthorAgeFilesLines
* 4456 - example with function calls: factorialKartik Agaram2018-07-301-0/+1
| | | | | | | | | | | | I found a bug with multiply in the process; another case (after the swap of call/jump opcodes in 4453) where there's no point improving testing. Unit tests can only tell us if our instructions are internally consistent. Validating against a real machine has to be manual. I'm definitely feeling the pain of debugging machine code now, that's for sure. Going over an instruction trace, comparing the state of registers line by line.
* 4442Kartik Agaram2018-07-271-6/+6
| | | | Clean up trace levels everywhere in SubX.
* 4434Kartik Agaram2018-07-271-2/+2
| | | | | | | | Key core data structures by hex bytes in text rather than opcode numbers. Saves us round trips of having to parse and reparse strings, and also allows us to more easily ignore unexpected non-hex words in each transform. We'll use this ability next when we start inserting labels.
* 4380 - single-byte opcodes all documentedKartik Agaram2018-07-201-2/+8
|
* 4350Kartik Agaram2018-07-151-0/+2
| | | | | | | Reorganize layers to introduce the translation workflow right at the start. We also avoid duplicating parsing code. Programs are always parsed into the `program` data structure.
* 4347Kartik Agaram2018-07-151-0/+81