about summary refs log tree commit diff stats
path: root/subx/examples/ex6.subx
Commit message (Collapse)AuthorAgeFilesLines
* 5485 - promote SubX to top-levelKartik Agaram2019-07-271-37/+0
|
* 5417Kartik Agaram2019-07-181-1/+0
| | | | Clean up.
* 5416Kartik Agaram2019-07-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Figured out what's going in with bug fourteen: displacement operands aren't always used relative to the PC. Does this mean I need to track instruction boundaries past pack? :'( No, I just need different logic for labels in code vs data segments. This was an interesting bug for reminding me of the difference between the emulator-level trace and the application-level trace. The former has 1.5 million lines, while the latter has a dozen. Luckily, just dumping the latter immediately made obvious what the issue was. Though this experience does suggest some further ideas for debugging tools: slice trace by line and phase slice trace by start and end label debug UI for SubX translator 2D layout: rows = lines of code; columns = translator phases each 'cell' in this layout contains a list of log lines shows what came in, what was emitted easily collapse any cell These are domain-specific tools. Special-cased to the SubX translator phases.
* 5410 - 4 examples passingKartik Agaram2019-07-171-0/+1
| | | | | Clean up other examples as well to satisfy the requirements in commit 5404.
* switch to new syntax for segment headers in C++Kartik Agaram2019-05-181-2/+2
|
* 4973Kartik Agaram2019-02-151-1/+1
| | | | | Support immediate operands in the data segment in all the ways we support them in the code segment.
* 4893Kartik Agaram2018-12-301-2/+2
|
* 4817Kartik Agaram2018-12-021-1/+1
|
* 4808 - clean up comments in all subx filesKartik Agaram2018-11-301-7/+7
|
* 4802Kartik Agaram2018-11-301-4/+4
| | | | | | | | | | | | | | | | Some automated commenting cleanup. Still needs more careful manual scanning. sed -i 's/^# 1-3/# . 1-3/' *.subx */*.subx sed -i 's/^# op/# . op/' *.subx */*.subx sed -i 's/# vim/# . . vim/' *.subx */*.subx sed -i 's/^ # push args/ # . . push args/' *.subx */*.subx sed -i 's/^ # discard args/ # . . discard args/' *.subx */*.subx sed -i 's/^ # call/ # . . call/' *.subx */*.subx sed -i 's/^ # prolog/ # . prolog/' *.subx */*.subx sed -i 's/^ # epilog/ # . epilog/' *.subx */*.subx sed -i 's/^ # save registers/ # . save registers/' *.subx */*.subx sed -i 's/^ # restore registers/ # . restore registers/' *.subx */*.subx sed -i 's/ operand / register /' *.subx */*.subx
* 4801Kartik Agaram2018-11-301-14/+14
| | | | Reindent all SubX code to make some room for the new comment style.
* 4780Kartik Agaram2018-11-261-0/+1
|
* 4757Kartik Agaram2018-11-201-6/+6
| | | | | | Let's start highlighting all global variables in Red. Assembly programming has a tendency to over-use them. They're a necessary evil, but we should minimize the number of functions that access them.
* 4698Kartik Agaram2018-10-141-3/+3
|
* 4668Kartik Agaram2018-10-051-4/+4
|
* 4662Kartik Agaram2018-10-051-1/+1
|
* 4650Kartik Agaram2018-10-021-5/+5
|
* 4646Kartik Agaram2018-10-011-1/+1
|
* 4644Kartik Agaram2018-10-011-3/+3
|
* 4639Kartik Agaram2018-10-011-3/+3
|
* 4624Kartik Agaram2018-09-301-1/+1
| | | | | | | | Start requiring a '-o' flag to designate the output binary when translating. Things currently get funky if you pass in multiple inputs, but that's ok. This is the first step to supporting multiple input files for a single output binary.
* 4581Kartik Agaram2018-09-211-2/+2
| | | | | | | | | | | | Even more cuddling. We want to keep lines short where the opcode and operands are self-explanatory. If there are any implicit registers, etc., we'll continue to do the table layout. The first two columns look messy now; let's see how this goes. Maybe I'll give up on the tabular layout altogether, just string args with a single space.
* 4562Kartik Agaram2018-09-201-2/+2
|
* 4561Kartik Agaram2018-09-201-6/+6
|
* 4541Kartik Agaram2018-09-111-3/+2
|
* 4535 - support for global variable namesKartik Agaram2018-09-011-6/+6
|
* 4531 - automatically compute segment addressesKartik Agaram2018-09-011-1/+1
|
* 4529 - move examples to a sub-directoryKartik Agaram2018-09-011-0/+36