| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
Making progress on hex1 (http://web.archive.org/web/20061108010907/http://www.rano.org/bcompiler.html)
|
|
|
|
| |
Colorize function names containing special characters like '?'.
|
| |
|
|
|
|
| |
New helper: print an error message, then a numeric byte, then abort.
|
|
|
|
| |
New helper: printing a string to a buffered file.
|
| |
|
|
|
|
| |
Better to use EDI as a mnemonic for 'destination'.
|
|
|
|
| |
Let's standardize to use opcode 39 rather than 3b by default.
|
| |
|
| |
|
|
|
|
| |
Fix CI since 4827.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
New helper: printing a byte in textual (hex) form.
This required adding instructions for bitwise shift operations.
|
|
|
|
|
| |
Showing the error bit pattern explicitly makes it more clear that it's
not possible to generate as a non-error value.
|
|
|
|
|
| |
This is likely a sub-optimal interface, but I'm trying not to agonize.
The whole point of Mu is to permit radical changes at any point in time.
|
|
|
|
|
|
|
|
|
| |
I was 'returning' a phantom value from 'write' when the underlying '_write'
returns nothing.
In general, returning counts of bytes written is not so useful for error
checking when my primitives abstract away from that. We'll come back to
error signalling later.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Fix CI.
It's kind of a hassle (and wasteful) that I need to redefine 'main' in
every single layer.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Stop highlighting capitalized words in metadata as global variables.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
More tweaking of colors, as far as possible in 256-color terminal mode
that's almost entirely just for me, and beyond that in the generated html
that more people may look at. In the former I have to work with a limited
palette, while I'd like the latter to be more accessible for others.
Evolution of colors:
=== 1
.subxH1Comment { color: #00ffff; }
.subxH2Comment { color: #00afff; }
.subxComment { color: #00afff; }
.subxS1Comment { color: #0080ff; }
.subxS2Comment { color: #0040ff; }
=== 2
sed -i 's/^\.subxH1Comment.*/.subxH1Comment { color:#00ffff; }/' $1.html
sed -i 's/^\.subxH2Comment.*/.subxH2Comment { color:#00bbff; }/' $1.html
sed -i 's/^\.subxComment.*/.subxComment { color:#00bbff; }/' $1.html
sed -i 's/^\.subxS1Comment.*/.subxS1Comment { color:#0098ff; }/' $1.html
sed -i 's/^\.subxS2Comment.*/.subxS2Comment { color:#0070ff; }/' $1.html # slightly too dark
=== 3: http://www.perbang.dk/rgbgradient from start to end
sed -i 's/^\.subxH1Comment.*/.subxH1Comment { color:#00ffff; }/' $1.html
sed -i 's/^\.subxH2Comment.*/.subxH2Comment { color:#00ddff; }/' $1.html
sed -i 's/^\.subxComment.*/.subxComment { color:#00bbff; }/' $1.html
sed -i 's/^\.subxS1Comment.*/.subxS1Comment { color:#0099ff; }/' $1.html
sed -i 's/^\.subxS2Comment.*/.subxS2Comment { color:#0078ff; }/' $1.html
=== 4: drop down to 4 colors
sed -i 's/^\.subxH1Comment.*/.subxH1Comment { color:#00ffff; }/' $1.html
sed -i 's/^\.subxComment.*/.subxComment { color:#00d2ff; }/' $1.html
sed -i 's/^\.subxS1Comment.*/.subxS1Comment { color:#00a4ff; }/' $1.html
sed -i 's/^\.subxS2Comment.*/.subxS2Comment { color:#0078ff; }/' $1.html
=== 4: make final one just a little too dark
sed -i 's/^\.subxH1Comment.*/.subxH1Comment { color:#00ffff; }/' $1.html
sed -i 's/^\.subxComment.*/.subxComment { color:#00cfff; }/' $1.html
sed -i 's/^\.subxS1Comment.*/.subxS1Comment { color:#009fff; }/' $1.html
sed -i 's/^\.subxS2Comment.*/.subxS2Comment { color:#0070ff; }/' $1.html # slightly too dark
=== 5: make darkest shade a little less blue, just at the edge of too dark
sed -i 's/^\.subxH1Comment.*/.subxH1Comment { color:#00ffff; }/' $1.html
sed -i 's/^\.subxComment.*/.subxComment { color:#16ccff; }/' $1.html
sed -i 's/^\.subxS1Comment.*/.subxS1Comment { color:#2d99ff; }/' $1.html
sed -i 's/^\.subxS2Comment.*/.subxS2Comment { color:#4466ff; }/' $1.html # slightly too dark
=== 6: HSV gradient between the same endpoints
sed -i 's/^\.subxH1Comment.*/.subxH1Comment { color:#00ffff; }/' $1.html
sed -i 's/^\.subxComment.*/.subxComment { color:#16bfff; }/' $1.html
sed -i 's/^\.subxS1Comment.*/.subxS1Comment { color:#2d8cff; }/' $1.html
sed -i 's/^\.subxS2Comment.*/.subxS2Comment { color:#4466ff; }/' $1.html # slightly too dark
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Reindent all SubX code to make some room for the new comment style.
|
| |
|
| |
|
|
|
|
| |
Another attempt at picking colors for the 5 different levels of comments.
|
| |
|
| |
|