diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-01-03 01:36:34 -0800 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-01-03 01:36:34 -0800 |
commit | 7e7a8a6eaeb4c22acb94aaca87a7b15c180ca077 (patch) | |
tree | 405503a31b48f5c5e13f103efc5762e57b290625 /058stream-equal.subx | |
parent | c9bda4d13ea33873dd5bce1eef0434cb11763d19 (diff) | |
download | mu-7e7a8a6eaeb4c22acb94aaca87a7b15c180ca077.tar.gz |
5876 - address -> addr
Diffstat (limited to '058stream-equal.subx')
-rw-r--r-- | 058stream-equal.subx | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/058stream-equal.subx b/058stream-equal.subx index bc3bc4d0..bcf6b6f2 100644 --- a/058stream-equal.subx +++ b/058stream-equal.subx @@ -6,7 +6,7 @@ # . 1-3 bytes 3 bits 2 bits 3 bits 3 bits 3 bits 2 bits 2 bits 0/1/2/4 bytes 0/1/2/4 bytes # compare all the data in a stream (ignoring the read pointer) -stream-data-equal?: # f : (address stream byte), s : (address array byte) -> eax : boolean +stream-data-equal?: # f : (addr stream byte), s : (addr array byte) -> eax : boolean # . prologue 55/push-ebp 89/copy 3/mod/direct 5/rm32/ebp . . . 4/r32/esp . . # copy esp to ebp @@ -19,9 +19,9 @@ stream-data-equal?: # f : (address stream byte), s : (address array byte) -> ea 8b/copy 1/mod/*+disp8 5/rm32/ebp . . . 6/r32/esi 8/disp8 . # copy *(ebp+8) to esi # eax = f->write 8b/copy 0/mod/indirect 6/rm32/esi . . . 0/r32/eax . . # copy *esi to eax - # var maxf/edx : (address byte) = &f->data[f->write] + # var maxf/edx : (addr byte) = &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 - # var currf/esi : (address byte) = f->data + # var currf/esi : (addr byte) = f->data 81 0/subop/add 3/mod/direct 6/rm32/esi . . . . . 0xc/imm32 # add to esi # edi = s 8b/copy 1/mod/*+disp8 5/rm32/ebp . . . 7/r32/edi 0xc/disp8 . # copy *(ebp+12) to edi @@ -29,7 +29,7 @@ $stream-data-equal?:compare-lengths: # if (f->write != s->length) return false 39/compare 0/mod/indirect 7/rm32/edi . . . 0/r32/eax . . # compare *edi and eax 75/jump-if-not-equal $stream-data-equal?:false/disp8 - # var currs/edi : (address byte) = s->data + # var currs/edi : (addr byte) = s->data 81 0/subop/add 3/mod/direct 7/rm32/edi . . . . . 4/imm32 # add to edi # var eax : byte = 0 31/xor 3/mod/direct 0/rm32/eax . . . 0/r32/eax . . # clear eax @@ -191,7 +191,7 @@ test-stream-data-equal-length-check: c3/return # helper for later tests -check-stream-equal: # f : (address stream byte), s : (address array byte), msg : (address array byte) +check-stream-equal: # f : (addr stream byte), s : (addr array byte), msg : (addr array byte) # . prologue 55/push-ebp 89/copy 3/mod/direct 5/rm32/ebp . . . 4/r32/esp . . # copy esp to ebp @@ -227,7 +227,7 @@ $check-stream-equal:end: # on success, set f->read to after the next newline # on failure, leave f->read unmodified # this function is usually used only in tests, so we repeatedly write f->read -next-stream-line-equal?: # f : (address stream byte), s : (address array byte) -> eax : boolean +next-stream-line-equal?: # f : (addr stream byte), s : (addr array byte) -> eax : boolean # pseudocode: # currf = f->read # bound: f->write # currs = 0 # bound : s->length |