| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
We only can't use rm32=5 when mod=0. Totally fine when it's mod=1.
|
| |
|
| |
|
|
|
|
| |
Make dots a little more salient on a light-background Vim.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Another tweak for a light background.
|
| |
|
| |
|
|
|
|
| |
Symlink or append exuberant_ctags_rc to your ~/.ctagsrc.
|
|
|
|
| |
Experimenting with a light background colorscheme.
|
|
|
|
|
|
| |
Don't treat this as a section comment:
e8/call foo # -1 is negative
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
More mnemonic register usage in write-stream.
|
|
|
|
| |
Our first buffer overflow!
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.)
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Fix CI.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Bugfix in scenarios where scan-next-byte needs to abort.
I'm starting to have trouble keeping strings, streams and buffered-files
straight.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|