about summary refs log tree commit diff stats
path: root/subx/010vm.cc
Commit message (Collapse)AuthorAgeFilesLines
* 4460Kartik Agaram2018-07-301-4/+6
| | | | Some debugging affordances.
* 4456 - example with function calls: factorialKartik Agaram2018-07-301-0/+9
| | | | | | | | | | | | 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-3/+3
| | | | Clean up trace levels everywhere in SubX.
* 4434Kartik Agaram2018-07-271-13/+13
| | | | | | | | 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.
* 4409Kartik Agaram2018-07-251-3/+9
| | | | | | Word-wrap online help. Fixes #8.
* 4395Kartik Agaram2018-07-241-1/+5
|
* 4385 - online help on addressing modesKartik Agaram2018-07-211-1/+1
|
* 4383Kartik Agaram2018-07-201-0/+31
| | | | Make room for including multibyte opcodes in the opcode list.
* 4376 - subx: online help includes supported opcodesKartik Agaram2018-07-201-5/+7
|
* 4374 - starting to use the online help systemKartik Agaram2018-07-201-0/+13
|
* 4363 - subx: first program using the stack segmentKartik Agaram2018-07-161-0/+4
| | | | | We allocate space for a local variable, read() a character from stdin to it, and write() it out to stdout.
* 4350Kartik Agaram2018-07-151-0/+171
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.