diff options
author | Kartik Agaram <vc@akkartik.com> | 2019-03-08 17:15:19 -0800 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2019-03-08 17:15:19 -0800 |
commit | 7a22a21995001cbdf72c5e3b92f52c9abcee3202 (patch) | |
tree | b876c36d1788ee8d3c091e1ee05dacb6b839c44c /subx/058stream-equal.subx | |
parent | 092cede5da0f329f2b624d31cfe76136cfc6a6ed (diff) | |
download | mu-7a22a21995001cbdf72c5e3b92f52c9abcee3202.tar.gz |
4996 - back on pack.subx
Yet another redrawing of responsibilities between convert and its helpers. In the process I discovered a bug in `write-stream-buffered` which ended up taking me through a detour to extract `browse_trace` into its own tool. It turns out just having long buffers is enough to need browse_trace. Simple operations like clearing a stream swamp a flat view of the trace.
Diffstat (limited to 'subx/058stream-equal.subx')
-rw-r--r-- | subx/058stream-equal.subx | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/subx/058stream-equal.subx b/subx/058stream-equal.subx index 88a09d9c..4716db39 100644 --- a/subx/058stream-equal.subx +++ b/subx/058stream-equal.subx @@ -24,8 +24,9 @@ stream-data-equal?: # f : (address stream), s : (address string) -> EAX : boole 57/push-EDI # ESI = f 8b/copy 1/mod/*+disp8 5/rm32/EBP . . . 6/r32/ESI 8/disp8 . # copy *(EBP+8) to ESI - # max/EDX = f->data + f->write + # EAX = f->write 8b/copy 0/mod/indirect 6/rm32/ESI . . . 0/r32/EAX . . # copy *ESI to EAX + # max/EDX = f->data + f->write 8d/copy-address 1/mod/*+disp8 4/rm32/sib 6/base/ESI 0/index/EAX . 2/r32/EDX 0xc/disp8 . # copy ESI+EAX+12 to EDX # currf/ESI = f->data 81 0/subop/add 3/mod/direct 6/rm32/ESI . . . . . 0xc/imm32 # add to ESI |