about summary refs log tree commit diff stats
path: root/subx/apps
Commit message (Collapse)AuthorAgeFilesLines
* made first compute-offset test passnc2019-07-071-27/+58
|
* remove segfaults in survey.subxnc2019-07-071-8/+8
|
* new failing test: emit-segmentsKartik Agaram2019-07-072-1/+254
| | | | Now the only piece I plan to not write tests for is emit-headers.
* .Kartik Agaram2019-07-071-7/+8
|
* move phase 3 out of helpersKartik Agaram2019-07-071-117/+117
|
* cleanup in compute-offset and fix bug in compute-widthnc2019-07-072-27/+13
|
* more progress in compute-offsetnc2019-07-042-30/+59
|
* implement segment section in compute-offsetsnc2019-07-041-3/+112
|
* .Kartik Agaram2019-07-042-2/+2
| | | | | | Fix a couple of syntax errors. survey.subx still failing tests.
* Merge branch 'master' into surveyKartik Agaram2019-07-0311-236/+913
|\ | | | | | | | | | | High time we pulled in the final changes to dquotes. In the process we fix one recently introduced duplicate symbol.
| * 5221Kartik Agaram2019-05-221-0/+11
| | | | | | | | Explore using a second register for pointer dereferencing.
| * 5219Kartik Agaram2019-05-222-10/+26
| | | | | | | | | | After fixing bugs, checking alloc_ids now requires 9 instructions rather than 6.
| * 5218Kartik Agaram2019-05-2210-2/+2
| |
| * 5217Kartik Agaram2019-05-222-2/+2
| | | | | | | | | | | | | | | | Couple of typos in handle.subx. We didn't notice because a missing /r32 field gets turned into 0/EAX anyway, and because ECX happens to have the same value as EAX in the specific test caller. But it's still not running as expected, now that I'm looking closely.
| * 5216Kartik Agaram2019-05-221-2/+3
| |
| * 5213Kartik Agaram2019-05-201-1/+1
| |
| * 5212Kartik Agaram2019-05-201-1/+1
| |
| * Merge branch 'dquotes-3'Kartik Agaram2019-05-202-181/+830
| |\
| | * clean up a redundant primitiveKartik Agaram2019-05-202-84/+4
| | |
| | * .Kartik Agaram2019-05-202-6/+6
| | |
| | * dquotes now doneKartik Agaram2019-05-202-41/+162
| | | | | | | | | | | | | | | We need yet another helper for computing the lengths of strings, while checking for escape sequences.
| | * standardize the loop in skip-string-in-sliceKartik Agaram2019-05-202-5/+8
| | | | | | | | | | | | | | | | | | We're going to be cloning it for the length computation. Anytime we do something non-standard it's invariably short-lived.
| | * support string literals in emit-string-literal-dataKartik Agaram2019-05-202-11/+19
| | | | | | | | | | | | As expected, almost all tests now passing.
| | * support string literals in emit-metadataKartik Agaram2019-05-202-10/+31
| | |
| | * move local variable up following conventionsKartik Agaram2019-05-192-6/+11
| | | | | | | | | | | | | | | More importantly, don't mix reclaiming locals with discarding args after a call.
| | * convention: source arg in ESIKartik Agaram2019-05-192-8/+15
| | | | | | | | | | | | I _think_ we'll need to use it below. But may be wrong.
| | * handle words with just metadataKartik Agaram2019-05-192-3/+66
| | | | | | | | | | | | | | | Kind of a pathological case, but makes our loop follow a standard format, and provides some error checking at low cost.
| | * minor style tweaks for emit-metadataKartik Agaram2019-05-192-40/+27
| | |
| | * minor style cleanupKartik Agaram2019-05-181-20/+7
| | |
| | * skip-string: fix a bug in computing in->readKartik Agaram2019-05-182-4/+48
| | | | | | | | | | | | I was missing a test to catch this.
| | * minor style cleanupKartik Agaram2019-05-182-34/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I like to be able to jump between functions and tests using '}' in Vim :) We also shouldn't put the wrong argument types in the tabular columns. Just make it obvious they're not in use when instructions don't have a ModR/M byte. End-of-line comments are really only useful for instructions with a ModR/M byte.
| | * add a bounds checkKartik Agaram2019-05-182-1/+38
| | |
| | * implement skip-string-in-slice and reimplement skip-string in terms of ↵nc2019-05-181-37/+75
| | | | | | | | | | | | skip-string-in-slice
| | * implemented skip-stringnc2019-05-181-0/+51
| | |
| | * another failing testKartik Agaram2019-05-172-0/+90
| | | | | | | | | | | | This one should make `emit-metadata` string-aware.
| | * dquotes: failing tests for parsing string literalsKartik Agaram2019-05-162-0/+284
| | | | | | | | | | | | Plan: https://github.com/akkartik/mu/commit/d4a244268841e8e912c98f4587095b701aa5c292#commitcomment-33558279
* | | .Kartik Agaram2019-07-033-248/+0
| | | | | | | | | | | | Get 'assort.subx' working again.
* | | add todo for section thats not quite completenc2019-07-031-1/+1
| | |
* | | add is-label blocknc2019-07-032-3/+46
| | |
* | | updates to survey - part of compute-offsets implementednc2019-07-033-247/+382
| | |
* | | subx/survey: now computing label addressesKartik Agaram2019-07-022-47/+65
| | |
* | | .Kartik Agaram2019-07-022-12/+31
| | | | | | | | | | | | | | | subx/survey/compute-addresses: Now computing segment starting addresses correctly.
* | | .Kartik Agaram2019-07-022-5/+5
| | |
* | | .Kartik Agaram2019-07-021-4/+8
| | |
* | | error in pseudocode for compute-offsetsKartik Agaram2019-07-021-1/+3
| | |
* | | .Kartik Agaram2019-07-012-33/+46
| | | | | | | | | | | | Now tracing segment names correctly.
* | | .Kartik Agaram2019-07-011-0/+27
| | |
* | | .Kartik Agaram2019-07-012-0/+24
| | |
* | | .Kartik Agaram2019-07-012-14/+15
| | | | | | | | | | | | | | | | | | Make `compute-addresses` less clever. Stop striding from the middle of one row to the next. This way we'll also obviate the need for indexing backwards from a pointer in the next commit.
* | | some primitives for emitting tracesKartik Agaram2019-07-019-1/+447
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Kinda hacky, but might scale enough for machine code. This was really hard to debug. Single tests passed, but when I ran all tests I got breakage because tests long before (from the 056trace layer) were not cleaning up properly. My instinct was to call clear-stream on Trace-stream, which was wrong (the trace didn't have the wrong contents, it was literally a bad object). It was also wrong in a counter-productive way: calling clear-stream on a real Trace stream (which is the size of a page of memory) takes a long time in emulated mode.