diff options
Diffstat (limited to 'html/070new-stream.subx.html')
-rw-r--r-- | html/070new-stream.subx.html | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/html/070new-stream.subx.html b/html/070new-stream.subx.html index 8b826643..1275b225 100644 --- a/html/070new-stream.subx.html +++ b/html/070new-stream.subx.html @@ -64,13 +64,13 @@ if ('onhashchange' in window) { <span id="L5" class="LineNr"> 5 </span><span class="subxS1Comment"># . op subop mod rm32 base index scale r32</span> <span id="L6" class="LineNr"> 6 </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="L7" class="LineNr"> 7 </span> -<span id="L8" class="LineNr"> 8 </span><span class="subxFunction">new-stream</span>: <span class="subxComment"># ad : (addr allocation-descriptor), length : int, elemsize : int -> address/eax : (handle stream _)</span> +<span id="L8" class="LineNr"> 8 </span><span class="subxFunction">new-stream</span>: <span class="subxComment"># ad: (addr allocation-descriptor), length: int, elemsize: int -> address/eax: (handle stream _)</span> <span id="L9" class="LineNr"> 9 </span> <span class="subxS1Comment"># . prologue</span> <span id="L10" class="LineNr"> 10 </span> 55/push-ebp <span id="L11" class="LineNr"> 11 </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> <span id="L12" class="LineNr"> 12 </span> <span class="subxS1Comment"># . save registers</span> <span id="L13" class="LineNr"> 13 </span> 52/push-edx -<span id="L14" class="LineNr"> 14 </span> <span class="subxComment"># var n/eax : int = elemsize * length + 12 (for read, write and length)</span> +<span id="L14" class="LineNr"> 14 </span> <span class="subxComment"># var n/eax: int = elemsize * length + 12 (for read, write and length)</span> <span id="L15" class="LineNr"> 15 </span> <span class="subxS1Comment"># . eax = elemsize</span> <span id="L16" class="LineNr"> 16 </span> 8b/copy 1/mod/*+disp8 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0/r32/eax 0x10/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy *(ebp+16) to eax</span> <span id="L17" class="LineNr"> 17 </span> <span class="subxS1Comment"># . eax *= length</span> @@ -83,7 +83,7 @@ if ('onhashchange' in window) { <span id="L24" class="LineNr"> 24 </span> 89/copy 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"># copy eax to edx</span> <span id="L25" class="LineNr"> 25 </span> <span class="subxS1Comment"># . eax += 12</span> <span id="L26" class="LineNr"> 26 </span> 05/add-to-eax 0xc/imm32 -<span id="L27" class="LineNr"> 27 </span> <span class="subxComment"># var eax : (handle stream _) = allocate(ad, n)</span> +<span id="L27" class="LineNr"> 27 </span> <span class="subxComment"># var eax: (handle stream _) = allocate(ad, n)</span> <span id="L28" class="LineNr"> 28 </span> <span class="subxS2Comment"># . . push args</span> <span id="L29" class="LineNr"> 29 </span> 50/push-eax <span id="L30" class="LineNr"> 30 </span> ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 8/disp8 <span class="Normal"> . </span> <span class="subxComment"># push *(ebp+8)</span> @@ -127,7 +127,7 @@ if ('onhashchange' in window) { <span id="L68" class="LineNr"> 68 </span> <span class="subxS1Comment"># . prologue</span> <span id="L69" class="LineNr"> 69 </span> 55/push-ebp <span id="L70" class="LineNr"> 70 </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> -<span id="L71" class="LineNr"> 71 </span> <span class="subxComment"># var heap/ecx : allocation-descriptor</span> +<span id="L71" class="LineNr"> 71 </span> <span class="subxComment"># var heap/ecx: allocation-descriptor</span> <span id="L72" class="LineNr"> 72 </span> 68/push 0/imm32/limit <span id="L73" class="LineNr"> 73 </span> 68/push 0/imm32/curr <span id="L74" class="LineNr"> 74 </span> 89/copy 3/mod/direct 1/rm32/ecx <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 ecx</span> @@ -141,7 +141,7 @@ if ('onhashchange' in window) { <span id="L82" class="LineNr"> 82 </span> 81 0/subop/add 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 8/imm32 <span class="subxComment"># add to esp</span> <span id="L83" class="LineNr"> 83 </span> <span class="subxComment"># var start/edx = ad->curr</span> <span id="L84" class="LineNr"> 84 </span> 8b/copy 0/mod/indirect 1/rm32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 2/r32/edx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy *ecx to edx</span> -<span id="L85" class="LineNr"> 85 </span> <span class="subxComment"># var eax : (handle stream byte) = new-stream(heap, 3, 2)</span> +<span id="L85" class="LineNr"> 85 </span> <span class="subxComment"># var eax: (handle stream byte) = new-stream(heap, 3, 2)</span> <span id="L86" class="LineNr"> 86 </span> <span class="subxS2Comment"># . . push args</span> <span id="L87" class="LineNr"> 87 </span> 68/push 2/imm32 <span id="L88" class="LineNr"> 88 </span> 68/push 3/imm32 |