diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-01-27 00:39:46 -0800 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-01-27 00:39:46 -0800 |
commit | 2104d1a75b76dbffc0b15a96c98d94e7a16594e8 (patch) | |
tree | 2a839b86e76431a9bbe4bf155f7411171a26d7f8 /html/060read.subx.html | |
parent | 71eb22a5bf94f5fa0a3c95212450e3c6a1a6a990 (diff) | |
download | mu-2104d1a75b76dbffc0b15a96c98d94e7a16594e8.tar.gz |
5925
Diffstat (limited to 'html/060read.subx.html')
-rw-r--r-- | html/060read.subx.html | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/html/060read.subx.html b/html/060read.subx.html index dc314fea..140a0e95 100644 --- a/html/060read.subx.html +++ b/html/060read.subx.html @@ -106,7 +106,7 @@ if ('onhashchange' in window) { <span id="L45" class="LineNr"> 45 </span><span class="subxS1Comment"># . op subop mod rm32 base index scale r32</span> <span id="L46" class="LineNr"> 46 </span><span class="subxS1Comment"># . 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</span> <span id="L47" class="LineNr"> 47 </span> -<span id="L48" class="LineNr"> 48 </span><span class="subxFunction">read</span>: <span class="subxComment"># f : fd or (addr stream byte), s : (addr stream byte) -> num-bytes-read/eax : int</span> +<span id="L48" class="LineNr"> 48 </span><span class="subxFunction">read</span>: <span class="subxComment"># f: fd or (addr stream byte), s: (addr stream byte) -> num-bytes-read/eax: int</span> <span id="L49" class="LineNr"> 49 </span> <span class="subxS1Comment"># . prologue</span> <span id="L50" class="LineNr"> 50 </span> 55/push-ebp <span id="L51" class="LineNr"> 51 </span> 89/copy 3/mod/direct 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/r32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy esp to ebp</span> @@ -171,7 +171,7 @@ if ('onhashchange' in window) { <span id="L110" class="LineNr">110 </span><span class="subxComment"># '_buffer' is like '_append', but silently stops instead of aborting when it runs out of space</span> <span id="L111" class="LineNr">111 </span> <span id="L112" class="LineNr">112 </span><span class="subxComment"># 3-argument variant of _buffer</span> -<span id="L113" class="LineNr">113 </span><span class="subxMinorFunction">_buffer-3</span>: <span class="subxComment"># out : address, outend : address, s : (array byte) -> num_bytes_buffered/eax</span> +<span id="L113" class="LineNr">113 </span><span class="subxMinorFunction">_buffer-3</span>: <span class="subxComment"># out: address, outend: address, s: (array byte) -> num_bytes_buffered/eax</span> <span id="L114" class="LineNr">114 </span> <span class="subxS1Comment"># . prologue</span> <span id="L115" class="LineNr">115 </span> 55/push-ebp <span id="L116" class="LineNr">116 </span> 89/copy 3/mod/direct 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/r32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy esp to ebp</span> @@ -203,7 +203,7 @@ if ('onhashchange' in window) { <span id="L142" class="LineNr">142 </span> c3/return <span id="L143" class="LineNr">143 </span> <span id="L144" class="LineNr">144 </span><span class="subxComment"># 4-argument variant of _buffer</span> -<span id="L145" class="LineNr">145 </span><span class="subxMinorFunction">_buffer-4</span>: <span class="subxComment"># out : address, outend : address, in : address, inend : address -> num_bytes_buffered/eax</span> +<span id="L145" class="LineNr">145 </span><span class="subxMinorFunction">_buffer-4</span>: <span class="subxComment"># out: address, outend: address, in: address, inend: address -> num_bytes_buffered/eax</span> <span id="L146" class="LineNr">146 </span> <span class="subxS1Comment"># . prologue</span> <span id="L147" class="LineNr">147 </span> 55/push-ebp <span id="L148" class="LineNr">148 </span> 89/copy 3/mod/direct 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/r32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy esp to ebp</span> @@ -256,7 +256,7 @@ if ('onhashchange' in window) { <span id="L195" class="LineNr">195 </span><span class="subxComment"># Unclear how I'd use it, though. Callers seem to need the check anyway.</span> <span id="L196" class="LineNr">196 </span><span class="subxComment"># Maybe a better helper would be 'empty-stream?'</span> <span id="L197" class="LineNr">197 </span> -<span id="L198" class="LineNr">198 </span><span class="subxMinorFunction">_read</span>: <span class="subxComment"># fd : int, s : (addr stream byte) -> num-bytes-read/eax : int</span> +<span id="L198" class="LineNr">198 </span><span class="subxMinorFunction">_read</span>: <span class="subxComment"># fd: int, s: (addr stream byte) -> num-bytes-read/eax: int</span> <span id="L199" class="LineNr">199 </span> <span class="subxS1Comment"># . prologue</span> <span id="L200" class="LineNr">200 </span> 55/push-ebp <span id="L201" class="LineNr">201 </span> 89/copy 3/mod/direct 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/r32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy esp to ebp</span> @@ -272,11 +272,11 @@ if ('onhashchange' in window) { <span id="L211" class="LineNr">211 </span> <span class="subxComment"># edx = s->length</span> <span id="L212" class="LineNr">212 </span> 8b/copy 1/mod/*+disp8 6/rm32/esi <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 2/r32/edx 8/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy *(esi+8) to edx</span> <span id="L213" class="LineNr">213 </span> <span class="subxComment"># syscall(read, fd, &s->data[s->write], s->length - s->write)</span> -<span id="L214" class="LineNr">214 </span> <span class="subxS2Comment"># . . fd : ebx</span> +<span id="L214" class="LineNr">214 </span> <span class="subxS2Comment"># . . fd: ebx</span> <span id="L215" class="LineNr">215 </span> 8b/copy 1/mod/*+disp8 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 3/r32/ebx 8/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy *(ebp+8) to ebx</span> -<span id="L216" class="LineNr">216 </span> <span class="subxS2Comment"># . . data : ecx = &s->data[s->write]</span> +<span id="L216" class="LineNr">216 </span> <span class="subxS2Comment"># . . data: ecx = &s->data[s->write]</span> <span id="L217" class="LineNr">217 </span> 8d/copy-address 1/mod/*+disp8 4/rm32/sib 6/base/esi 0/index/eax <span class="Normal"> . </span> 1/r32/ecx 0xc/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy esi+eax+12 to ecx</span> -<span id="L218" class="LineNr">218 </span> <span class="subxS2Comment"># . . size : edx = s->length - s->write</span> +<span id="L218" class="LineNr">218 </span> <span class="subxS2Comment"># . . size: edx = s->length - s->write</span> <span id="L219" class="LineNr">219 </span> 29/subtract 3/mod/direct 2/rm32/edx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0/r32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># subtract eax from edx</span> <span id="L220" class="LineNr">220 </span> <span class="subxS2Comment"># . . syscall</span> <span id="L221" class="LineNr">221 </span> b8/copy-to-eax 3/imm32/read |