about summary refs log tree commit diff stats
path: root/subx/apps/crenshaw2-1.subx
Commit message (Collapse)AuthorAgeFilesLines
* 4934Kartik Agaram2019-01-161-1/+1
|
* 4933Kartik Agaram2019-01-161-1/+1
|
* 4888Kartik Agaram2018-12-291-28/+28
| | | | We only can't use rm32=5 when mod=0. Totally fine when it's mod=1.
* 4886Kartik Agaram2018-12-281-2/+2
|
* 4879Kartik Agaram2018-12-281-4/+4
|
* 4847Kartik Agaram2018-12-061-4/+4
|
* 4840Kartik Agaram2018-12-041-1/+1
| | | | New helper: printing a string to a buffered file.
* 4837Kartik Agaram2018-12-041-1/+1
| | | | Let's standardize to use opcode 39 rather than 3b by default.
* 4832Kartik Agaram2018-12-041-0/+4
| | | | | | Let's start adding ':end' labels in all functions, just because it helps us visualize where function calls end in traces, thanks to the '--map' commandline argument.
* 4826Kartik Agaram2018-12-031-1/+1
|
* 4821Kartik Agaram2018-12-021-41/+0
|
* 4819Kartik Agaram2018-12-021-1/+1
|
* 4818Kartik Agaram2018-12-021-6/+7
|
* 4815Kartik Agaram2018-12-021-4/+9
|
* 4813Kartik Agaram2018-12-011-1/+1
|
* 4812Kartik Agaram2018-11-301-1/+1
|
* 4808 - clean up comments in all subx filesKartik Agaram2018-11-301-69/+67
|
* 4803Kartik Agaram2018-11-301-128/+128
|
* 4802Kartik Agaram2018-11-301-29/+29
| | | | | | | | | | | | | | | | 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-429/+429
| | | | Reindent all SubX code to make some room for the new comment style.
* 4800Kartik Agaram2018-11-301-4/+5
|
* 4797Kartik Agaram2018-11-301-1/+1
|
* 4796Kartik Agaram2018-11-301-146/+146
|
* 4775Kartik Agaram2018-11-241-213/+11
| | | | | | | Start with an exactly corresponding version to Crenshaw 2-1: single-digit numbers. The only change: we assume the number is in hex. The next version now supports multi-digit hex numbers.
* 4774Kartik Agaram2018-11-241-19/+2
| | | | Simplification.
* 4773 - done with crenshaw chapter 2-1Kartik Agaram2018-11-241-7/+121
| | | | In the process I had to fix a couple more bugs in support for disp16 instructions.
* 4770Kartik Agaram2018-11-241-6/+6
|
* 4766Kartik Agaram2018-11-241-3/+4
|
* 4765Kartik Agaram2018-11-231-1/+2
|
* 4764Kartik Agaram2018-11-231-5/+221
|
* 4763 - back to the 'trivial' crenshaw2-1 compilerKartik Agaram2018-11-231-2/+422
| | | | | This time I've ported (and test-driven) 'GetChar' and 'GetNum'. The new tests bring together our new testable interfaces for read() and exit().
* 4733Kartik Agaram2018-10-281-1/+1
|
* 4731Kartik Agaram2018-10-281-6/+6
|
* 4729Kartik Agaram2018-10-281-38/+50
| | | | | | Start injecting all dependencies in the Crenshaw compiler app. In the process I realized the non-fake code path of 'stop' had a bug.
* 4710Kartik Agaram2018-10-171-8/+8
| | | | | Start using write() instead of _write().. and we promptly find a typo when dealing with real file descriptors.
* 4699Kartik Agaram2018-10-141-43/+16
|
* 4698Kartik Agaram2018-10-141-4/+4
|
* 4668Kartik Agaram2018-10-051-6/+6
|
* 4667Kartik Agaram2018-10-051-9/+9
| | | | | Standardize on hyphens in all names. And we'll use colons for namespacing labels in functions.
* 4662Kartik Agaram2018-10-051-1/+1
|
* 4655Kartik Agaram2018-10-021-2/+2
|
* 4644Kartik Agaram2018-10-011-13/+13
|
* 4638 - extract some common libraries from appsKartik Agaram2018-10-011-323/+3
| | | | | | | I'm still trying to figure out what the defaults should be. At the moment you have to explicitly pass in every file you want loaded into the output binary. Maybe that control is a good thing. The examples need no libraries so far.
* 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.
* 4518Kartik Agaram2018-09-241-36/+76
|
* 4517Kartik Agaram2018-09-241-8/+8
|
* 4516Kartik K. Agaram2018-09-241-4/+14
| | | | | | | More calling convention tweaks. Use EBP to get consistently at parameters and locals. Always put the first function argument closest to EBP.
* 4510Kartik Agaram2018-09-231-4/+270
| | | | | Add the test harness to the crenshaw compiler. Though we aren't calling it yet. But that's because we aren't actually doing anything useful yet.
* 4509Kartik Agaram2018-09-231-19/+4
| | | | Back to the Crenshaw compiler. Start by using string literals.
* 4581Kartik Agaram2018-09-211-8/+8
| | | | | | | | | | | | 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.