about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* 4894Kartik Agaram2018-12-303-0/+170
| | | | | | | | | | | | Done with kinda-safe pointers. In a real compiler the fast path of 'lookup' would ideally get inlined. Excluding procedure-call overhead, the current implementation consumes 2 registers besides the input, and requires 9 instructions (2 push, 2 load, compare, jump, increment, 2 pop). That's large enough that inlining may become a trade-off. Even if we somehow magically had the registers already loaded and available, we'd still need 4 instructions (1 pointer dereference, compare, jump and increment). The price of safety.
* 4893Kartik Agaram2018-12-3014-27/+27
|
* 4892Kartik Agaram2018-12-302-12/+18
|
* 4891Kartik Agaram2018-12-30185-345/+568
| | | | | | | | | | | Couple more tweaks to html rendering: a) SubX definitions no longer link redundantly to themselves. This long-standing issue turns out to be tractable to solve for SubX files since the syntax is so simple. b) Fix links to SubX definitions in other directories. I forgot that I have to always generate tags from the directory of the file being linkified. c) Fix link colors. Before we lost all syntax highlighting for functions and Globals. Now they maintain their colors, just add an underline.
* 4890 - new html renderingsKartik Agaram2018-12-29188-5651/+5330
| | | | | | | a) Switch to a light background. b) Linkify calls in .subx files. c) Keep all colorization in the Vim colorscheme, get rid of hacky special-cases in update_html.
* 4889 - playing with kinda-safe pointersKartik Agaram2018-12-292-0/+211
|
* 4888Kartik Agaram2018-12-2934-173/+173
| | | | We only can't use rm32=5 when mod=0. Totally fine when it's mod=1.
* 4887Kartik Agaram2018-12-291-3/+3
|
* 4886Kartik Agaram2018-12-2813-27/+28
|
* 4885Kartik Agaram2018-12-281-1/+1
| | | | Make dots a little more salient on a light-background Vim.
* 4884Kartik Agaram2018-12-282-3/+3
|
* 4883 - rudimentary memory allocatorKartik Agaram2018-12-289-8/+183
|
* 4882Kartik Agaram2018-12-281-15/+26
|
* 4881Kartik Agaram2018-12-2819-20/+20
|
* 4880Kartik Agaram2018-12-2824-43/+41
|
* 4879Kartik Agaram2018-12-2815-56/+56
|
* 4878Kartik Agaram2018-12-272-2/+2
|
* 4877Kartik Agaram2018-12-272-3/+3
|
* 4876Kartik Agaram2018-12-271-1/+1
|
* 4875Kartik Agaram2018-12-251-1/+3
| | | | Another tweak for a light background.
* 4874Kartik Agaram2018-12-252-0/+26
|
* 4873Kartik Agaram2018-12-202-6/+13
|
* 4872 - ctags definitions for SubXKartik Agaram2018-12-171-0/+3
| | | | Symlink or append exuberant_ctags_rc to your ~/.ctagsrc.
* 4871Kartik Agaram2018-12-171-6/+20
| | | | Experimenting with a light background colorscheme.
* 4870Kartik Agaram2018-12-171-1/+1
| | | | | | Don't treat this as a section comment: e8/call foo # -1 is negative
* 4869Kartik Agaram2018-12-1642-1210/+1195
|
* 4868Kartik Agaram2018-12-161-1/+1
|
* 4867Kartik Agaram2018-12-151-8/+8
|
* 4866Kartik Agaram2018-12-101-6/+6
|
* 4865Kartik Agaram2018-12-106-28/+28
| | | | More mnemonic register usage in write-stream.
* 4864Kartik Agaram2018-12-106-213/+319
| | | | Our first buffer overflow!
* 4863Kartik Agaram2018-12-104-4/+4
|
* 4862Kartik Agaram2018-12-092-147/+145
|
* 4861Kartik Agaram2018-12-092-42/+42
|
* 4860 - stage 1 of SubX compiler in SubX is done!Kartik Agaram2018-12-093-1520/+1634
| | | | | | | | | I'm imagining 3 core stages total: 1. convert text hex bytes -> binary (✓) 2. pack and reorder operands 3. compute label addresses (Not including extras like error-checking.)
* 4859Kartik Agaram2018-12-091-8/+8
|
* 4858 - debugging tipsKartik Agaram2018-12-084-0/+103
|
* 4857Kartik Agaram2018-12-062-29/+14
| | | | | | Clean up the debugging flow, and go over help messages for inconsistencies. They predate the new Readme, which takes some time to describe the x86 instruction set.
* 4856Kartik Agaram2018-12-061-0/+0
| | | | Fix CI.
* 4855Kartik Agaram2018-12-061-1147/+1634
|
* 4854Kartik Agaram2018-12-062-0/+184
|
* 4853Kartik Agaram2018-12-061-5/+6
|
* 4852Kartik Agaram2018-12-061-0/+10
|
* 4851Kartik Agaram2018-12-062-21/+187
| | | | | | | Bugfix in scenarios where scan-next-byte needs to abort. I'm starting to have trouble keeping strings, streams and buffered-files straight.
* 4850Kartik Agaram2018-12-062-1/+137
|
* 4849Kartik Agaram2018-12-063-1011/+1189
|
* 4848Kartik Agaram2018-12-063-911/+909
|
* 4847Kartik Agaram2018-12-0622-46/+46
|
* 4846Kartik Agaram2018-12-0610-951/+1478
| | | | | | | | | | | | | | Clean up a few things: a) Call scan-next-byte in hex.subx with the right number of args. Turns out tests continue to work fine if they never use the other args. b) Tear down a test for 'stop' in the right order. Not important since we have no EBP to restore. But can still be misleading. c) Have 'check-ints-equal' return nothing. Handy for it to not mess up EAX. I never use the result anyway, and the name also is imperative suggesting callers won't expect a return value.
* 4845Kartik Agaram2018-12-062-633/+627
|