| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
| |
The final integration test-convert-computes-addresses is still failing.
|
| |
|
|
|
|
|
| |
Now they're in the order you expect to see them at runtime: first you
see a segment header, then you see labels.
|
|
|
|
| |
move trace dump to before checks
|
| |
|
|
|
|
|
|
|
|
|
| |
'curr-segment-name' is now a string, and it's stored in a register
rather than a global.
Paradoxically, this leaks *less* than before. Before, every call to
`get-or-insert-slice` leaked memory. Now we leak one string for every
new segment. Which is trivial.
|
| |
|
|
|
|
|
| |
Pseudocode is a little more truthful now about what variables are on the
stack.
|
|
|
|
|
|
|
| |
It's a slice into the 'line' stream. But we want to preserve the current
segment name across lines.
Let's leak some memory.
|
|
|
|
| |
Make the trace a little more consistent.
|
|
|
|
|
|
| |
I changed the test a little to make it obvious.
Basically there's no way we can compute the segment offset correctly
without knowing the segment name in the previous assertion.
|
|
|
|
|
|
|
|
| |
The pseudocode was a mess here :/ I was saving the segment-offset but
tracing the file-offset.
Segments need file offsets (to tweak their starting address).
Labels need segment offsets (to add to segment starting address).
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
I think we're calling the wrong variant here.
|
| |
|
| |
|
|
|
|
| |
This was why grep required the `-a` argument in vimrc.vim.
|
|
|
|
|
| |
Another batch of incorrectly signed conditional jumps. (Follow-up to
commit 5180.)
|
|
|
|
| |
Fix infinite loop in the 2 remaining failing tests; now it's a segfault.
|
| |
|
| |
|
|
|
|
|
| |
Some nooks and crannies will need light final debugging with xxd, but
emit-hex-output covers most of the logic.
|
|
|
|
| |
Only failures now are the first two tests in survey.subx.
|
|
|
|
| |
Leads to a bad error message.
|
|
|
|
|
|
| |
Stop dumping huge traces on error. We can always rerun with --trace.
Though perhaps we should just dump the trace automatically on error.
Not bothering thinking about that right now.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Everywhere we check if something is true, we check it by comparing
against 0, not 1.
|
|
|
|
|
| |
But of course the test is still infinite-looping so we can't be sure.
I'm still just reading the code.
|
| |
|
| |
|
|
|
|
|
| |
It's ugly to have function locals in global variables, but we'll figure
out later how to deal with it.
|
| |
|
|
|
|
|
| |
Looks like the original compute-width is now dead. But still seems
useful to have around.
|
|
|
|
|
|
| |
The compute-offsets test now goes into an infinite loop :( But I figure
all these changes are useful anyway, we should just debug the error
separately.
|
|
|
|
| |
SubX in SubX doesn't support mixing labels with other stuff :)
|
| |
|
| |
|
|
|
|
|
| |
Be more consistent about names of ends of a slice.
(In the opposite direction compared to last night's 925fc490d2ce8b8d411de87bd0af5b3a8a704213.)
|