This commit is contained in:
Kartik Agaram 2019-12-28 00:02:29 -08:00
parent 2b665cc552
commit 03a1de4536
19 changed files with 4858 additions and 3787 deletions

View File

@ -79,61 +79,64 @@ if ('onhashchange' in window) {
<span id="L20" class="LineNr">20 </span><span class="subxComment"># - 'ref' which is used to point to a unique element, because machine</span>
<span id="L21" class="LineNr">21 </span><span class="subxComment"># code can't store large types in registers.</span>
<span id="L22" class="LineNr">22 </span><span class="subxComment"># - 'handle' which can point to a heap allocation, different heap allocations</span>
<span id="L23" class="LineNr">23 </span><span class="subxComment"># at different times, or even at times nothing at all.</span>
<span id="L24" class="LineNr">24 </span><span class="subxComment">#</span>
<span id="L25" class="LineNr">25 </span><span class="subxComment"># The type 'address' can be obtained from either a ref or handle, but it can</span>
<span id="L26" class="LineNr">26 </span><span class="subxComment"># only be stored on the stack (say to pass objects by reference).</span>
<span id="L27" class="LineNr">27 </span><span class="subxComment"># Conversely, a ref can't be copied into another ref, only to an address (which</span>
<span id="L28" class="LineNr">28 </span><span class="subxComment"># by construction has a shorter lifetime).</span>
<span id="L29" class="LineNr">29 </span><span class="subxComment">#</span>
<span id="L30" class="LineNr">30 </span><span class="subxComment"># Beginnings of a lattice of types:</span>
<span id="L31" class="LineNr">31 </span><span class="subxComment"># You can convert a ref or handle to an address, but not the other way around.</span>
<span id="L32" class="LineNr">32 </span><span class="subxComment"># You can convert addresses to ints, but not the other way around.</span>
<span id="L33" class="LineNr">33 </span>
<span id="L34" class="LineNr">34 </span><span class="subxMinorFunction">_write</span>: <span class="subxComment"># fd : int, s : (address array byte)</span>
<span id="L35" class="LineNr">35 </span> <span class="subxS1Comment"># . prologue</span>
<span id="L36" class="LineNr">36 </span> 55/push-ebp
<span id="L37" class="LineNr">37 </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="L38" class="LineNr">38 </span> <span class="subxS1Comment"># . save registers</span>
<span id="L39" class="LineNr">39 </span> 50/push-eax
<span id="L40" class="LineNr">40 </span> 51/push-ecx
<span id="L41" class="LineNr">41 </span> 52/push-edx
<span id="L42" class="LineNr">42 </span> 53/push-ebx
<span id="L43" class="LineNr">43 </span> <span class="subxComment"># syscall(write, fd, (data) s+4, (size) *s)</span>
<span id="L44" class="LineNr">44 </span> <span class="subxS1Comment"># . fd : ebx</span>
<span id="L45" class="LineNr">45 </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="L46" class="LineNr">46 </span> <span class="subxS1Comment"># . data : ecx = s+4</span>
<span id="L47" class="LineNr">47 </span> 8b/copy 1/mod/*+disp8 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 1/r32/ecx 0xc/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy *(ebp+12) to ecx</span>
<span id="L48" class="LineNr">48 </span> 81 0/subop/add 3/mod/direct 1/rm32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/imm32 <span class="subxComment"># add to ecx</span>
<span id="L49" class="LineNr">49 </span> <span class="subxS1Comment"># . size : edx = *s</span>
<span id="L50" class="LineNr">50 </span> 8b/copy 1/mod/*+disp8 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 2/r32/edx 0xc/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy *(ebp+12) to edx</span>
<span id="L51" class="LineNr">51 </span> 8b/copy 0/mod/indirect 2/rm32/edx <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 *edx to edx</span>
<span id="L52" class="LineNr">52 </span> <span class="subxS1Comment"># . syscall</span>
<span id="L53" class="LineNr">53 </span> b8/copy-to-eax 4/imm32/write
<span id="L54" class="LineNr">54 </span> cd/syscall 0x80/imm8
<span id="L55" class="LineNr">55 </span> <span class="subxComment"># if (eax &lt; 0) abort</span>
<span id="L56" class="LineNr">56 </span> 3d/compare-eax-with 0/imm32
<span id="L57" class="LineNr">57 </span> 0f 8c/jump-if-lesser $_write:abort/disp32
<span id="L58" class="LineNr">58 </span><span class="Constant">$_write:end</span>:
<span id="L59" class="LineNr">59 </span> <span class="subxS1Comment"># . restore registers</span>
<span id="L60" class="LineNr">60 </span> 5b/pop-to-ebx
<span id="L61" class="LineNr">61 </span> 5a/pop-to-edx
<span id="L62" class="LineNr">62 </span> 59/pop-to-ecx
<span id="L63" class="LineNr">63 </span> 58/pop-to-eax
<span id="L64" class="LineNr">64 </span> <span class="subxS1Comment"># . epilogue</span>
<span id="L65" class="LineNr">65 </span> 89/copy 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 5/r32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy ebp to esp</span>
<span id="L66" class="LineNr">66 </span> 5d/pop-to-ebp
<span id="L67" class="LineNr">67 </span> c3/return
<span id="L68" class="LineNr">68 </span>
<span id="L69" class="LineNr">69 </span><span class="Constant">$_write:abort</span>:
<span id="L70" class="LineNr">70 </span> <span class="subxComment"># can't write a message here for risk of an infinite loop, so we'll use a special exit code instead</span>
<span id="L71" class="LineNr">71 </span> <span class="subxS1Comment"># . syscall(exit, 255)</span>
<span id="L72" class="LineNr">72 </span> bb/copy-to-ebx 0xff/imm32
<span id="L73" class="LineNr">73 </span> b8/copy-to-eax 1/imm32/exit
<span id="L74" class="LineNr">74 </span> cd/syscall 0x80/imm8
<span id="L75" class="LineNr">75 </span> <span class="subxComment"># never gets here</span>
<span id="L76" class="LineNr">76 </span>
<span id="L77" class="LineNr">77 </span><span class="subxS2Comment"># . . vim&#0058;nowrap:textwidth=0</span>
<span id="L23" class="LineNr">23 </span><span class="subxComment"># at different times, or even at times nothing at all. (Later on handles</span>
<span id="L24" class="LineNr">24 </span><span class="subxComment"># will turn into fat pointers to enable safe reclamation. But in unsafe</span>
<span id="L25" class="LineNr">25 </span><span class="subxComment"># levels we'll just never reclaim them, and handles will be word-sized just</span>
<span id="L26" class="LineNr">26 </span><span class="subxComment"># like refs.)</span>
<span id="L27" class="LineNr">27 </span><span class="subxComment">#</span>
<span id="L28" class="LineNr">28 </span><span class="subxComment"># The type 'address' can be obtained from either a ref or handle, but it can</span>
<span id="L29" class="LineNr">29 </span><span class="subxComment"># only be stored on the stack (say to pass objects by reference).</span>
<span id="L30" class="LineNr">30 </span><span class="subxComment"># Conversely, a ref can't be copied into another ref, only to an address (which</span>
<span id="L31" class="LineNr">31 </span><span class="subxComment"># by construction has a shorter lifetime).</span>
<span id="L32" class="LineNr">32 </span><span class="subxComment">#</span>
<span id="L33" class="LineNr">33 </span><span class="subxComment"># Beginnings of a lattice of types:</span>
<span id="L34" class="LineNr">34 </span><span class="subxComment"># You can convert a ref or handle to an address, but not the other way around.</span>
<span id="L35" class="LineNr">35 </span><span class="subxComment"># You can convert addresses to ints, but not the other way around.</span>
<span id="L36" class="LineNr">36 </span>
<span id="L37" class="LineNr">37 </span><span class="subxMinorFunction">_write</span>: <span class="subxComment"># fd : int, s : (address array byte)</span>
<span id="L38" class="LineNr">38 </span> <span class="subxS1Comment"># . prologue</span>
<span id="L39" class="LineNr">39 </span> 55/push-ebp
<span id="L40" class="LineNr">40 </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="L41" class="LineNr">41 </span> <span class="subxS1Comment"># . save registers</span>
<span id="L42" class="LineNr">42 </span> 50/push-eax
<span id="L43" class="LineNr">43 </span> 51/push-ecx
<span id="L44" class="LineNr">44 </span> 52/push-edx
<span id="L45" class="LineNr">45 </span> 53/push-ebx
<span id="L46" class="LineNr">46 </span> <span class="subxComment"># syscall(write, fd, (data) s+4, (size) *s)</span>
<span id="L47" class="LineNr">47 </span> <span class="subxS1Comment"># . fd : ebx</span>
<span id="L48" class="LineNr">48 </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="L49" class="LineNr">49 </span> <span class="subxS1Comment"># . data : ecx = s+4</span>
<span id="L50" class="LineNr">50 </span> 8b/copy 1/mod/*+disp8 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 1/r32/ecx 0xc/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy *(ebp+12) to ecx</span>
<span id="L51" class="LineNr">51 </span> 81 0/subop/add 3/mod/direct 1/rm32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/imm32 <span class="subxComment"># add to ecx</span>
<span id="L52" class="LineNr">52 </span> <span class="subxS1Comment"># . size : edx = *s</span>
<span id="L53" class="LineNr">53 </span> 8b/copy 1/mod/*+disp8 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 2/r32/edx 0xc/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy *(ebp+12) to edx</span>
<span id="L54" class="LineNr">54 </span> 8b/copy 0/mod/indirect 2/rm32/edx <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 *edx to edx</span>
<span id="L55" class="LineNr">55 </span> <span class="subxS1Comment"># . syscall</span>
<span id="L56" class="LineNr">56 </span> b8/copy-to-eax 4/imm32/write
<span id="L57" class="LineNr">57 </span> cd/syscall 0x80/imm8
<span id="L58" class="LineNr">58 </span> <span class="subxComment"># if (eax &lt; 0) abort</span>
<span id="L59" class="LineNr">59 </span> 3d/compare-eax-with 0/imm32
<span id="L60" class="LineNr">60 </span> 0f 8c/jump-if-lesser $_write:abort/disp32
<span id="L61" class="LineNr">61 </span><span class="Constant">$_write:end</span>:
<span id="L62" class="LineNr">62 </span> <span class="subxS1Comment"># . restore registers</span>
<span id="L63" class="LineNr">63 </span> 5b/pop-to-ebx
<span id="L64" class="LineNr">64 </span> 5a/pop-to-edx
<span id="L65" class="LineNr">65 </span> 59/pop-to-ecx
<span id="L66" class="LineNr">66 </span> 58/pop-to-eax
<span id="L67" class="LineNr">67 </span> <span class="subxS1Comment"># . epilogue</span>
<span id="L68" class="LineNr">68 </span> 89/copy 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 5/r32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy ebp to esp</span>
<span id="L69" class="LineNr">69 </span> 5d/pop-to-ebp
<span id="L70" class="LineNr">70 </span> c3/return
<span id="L71" class="LineNr">71 </span>
<span id="L72" class="LineNr">72 </span><span class="Constant">$_write:abort</span>:
<span id="L73" class="LineNr">73 </span> <span class="subxComment"># can't write a message here for risk of an infinite loop, so we'll use a special exit code instead</span>
<span id="L74" class="LineNr">74 </span> <span class="subxS1Comment"># . syscall(exit, 255)</span>
<span id="L75" class="LineNr">75 </span> bb/copy-to-ebx 0xff/imm32
<span id="L76" class="LineNr">76 </span> b8/copy-to-eax 1/imm32/exit
<span id="L77" class="LineNr">77 </span> cd/syscall 0x80/imm8
<span id="L78" class="LineNr">78 </span> <span class="subxComment"># never gets here</span>
<span id="L79" class="LineNr">79 </span>
<span id="L80" class="LineNr">80 </span><span class="subxS2Comment"># . . vim&#0058;nowrap:textwidth=0</span>
</pre>
</body>
</html>

View File

@ -99,7 +99,7 @@ if ('onhashchange' in window) {
<span id="L40" class="LineNr"> 40 </span> 68/push <span class="Constant">&quot;.&quot;</span>/imm32
<span id="L41" class="LineNr"> 41 </span> 68/push 2/imm32/stderr
<span id="L42" class="LineNr"> 42 </span> <span class="subxS2Comment"># . . call</span>
<span id="L43" class="LineNr"> 43 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L43" class="LineNr"> 43 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L44" class="LineNr"> 44 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L45" class="LineNr"> 45 </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="L46" class="LineNr"> 46 </span> <span class="subxS1Comment"># . return</span>
@ -112,7 +112,7 @@ if ('onhashchange' in window) {
<span id="L53" class="LineNr"> 53 </span> 51/push-ecx
<span id="L54" class="LineNr"> 54 </span> 68/push 2/imm32/stderr
<span id="L55" class="LineNr"> 55 </span> <span class="subxS2Comment"># . . call</span>
<span id="L56" class="LineNr"> 56 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L56" class="LineNr"> 56 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L57" class="LineNr"> 57 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L58" class="LineNr"> 58 </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="L59" class="LineNr"> 59 </span> <span class="subxS1Comment"># . _write(2/stderr, Newline)</span>
@ -120,7 +120,7 @@ if ('onhashchange' in window) {
<span id="L61" class="LineNr"> 61 </span> 68/push <span class="SpecialChar"><a href='051test.subx.html#L83'>Newline</a></span>/imm32
<span id="L62" class="LineNr"> 62 </span> 68/push 2/imm32/stderr
<span id="L63" class="LineNr"> 63 </span> <span class="subxS2Comment"># . . call</span>
<span id="L64" class="LineNr"> 64 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L64" class="LineNr"> 64 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L65" class="LineNr"> 65 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L66" class="LineNr"> 66 </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="L67" class="LineNr"> 67 </span> <span class="subxComment"># increment Num-test-failures</span>

View File

@ -1008,7 +1008,7 @@ if ('onhashchange' in window) {
<span id="L945" class="LineNr">945 </span> 68/push <span class="Constant">&quot;stream overflow\n&quot;</span>/imm32
<span id="L946" class="LineNr">946 </span> 68/push 2/imm32/stderr
<span id="L947" class="LineNr">947 </span> <span class="subxS2Comment"># . . call</span>
<span id="L948" class="LineNr">948 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L948" class="LineNr">948 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L949" class="LineNr">949 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L950" class="LineNr">950 </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="L951" class="LineNr">951 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>

View File

@ -92,7 +92,7 @@ if ('onhashchange' in window) {
<span id="L32" class="LineNr"> 32 </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> 0xc/disp8 <span class="Normal"> . </span> <span class="subxComment"># push *(ebp+12)</span>
<span id="L33" class="LineNr"> 33 </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>
<span id="L34" class="LineNr"> 34 </span> <span class="subxS2Comment"># . . call</span>
<span id="L35" class="LineNr"> 35 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L35" class="LineNr"> 35 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L36" class="LineNr"> 36 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L37" class="LineNr"> 37 </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="L38" class="LineNr"> 38 </span> eb/jump $write:end/disp8

View File

@ -186,7 +186,7 @@ if ('onhashchange' in window) {
<span id="L125" class="LineNr">125 </span> 68/push <span class="Constant">&quot;_write-stream: failed to <a href='057write.subx.html#L24'>write</a> to file\n&quot;</span>/imm32
<span id="L126" class="LineNr">126 </span> 68/push 2/imm32/stderr
<span id="L127" class="LineNr">127 </span> <span class="subxS2Comment"># . . call</span>
<span id="L128" class="LineNr">128 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L128" class="LineNr">128 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L129" class="LineNr">129 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L130" class="LineNr">130 </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="L131" class="LineNr">131 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>

View File

@ -304,7 +304,7 @@ if ('onhashchange' in window) {
<span id="L242" class="LineNr">242 </span> 68/push <span class="Constant">&quot;append-byte: out of space\n&quot;</span>/imm32
<span id="L243" class="LineNr">243 </span> 68/push 2/imm32/stderr
<span id="L244" class="LineNr">244 </span> <span class="subxS2Comment"># . . call</span>
<span id="L245" class="LineNr">245 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L245" class="LineNr">245 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L246" class="LineNr">246 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L247" class="LineNr">247 </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="L248" class="LineNr">248 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>

View File

@ -892,7 +892,7 @@ if ('onhashchange' in window) {
<span id="L832" class="LineNr">832 </span> 68/push <span class="Constant">&quot;invalid hex char: &quot;</span>/imm32
<span id="L833" class="LineNr">833 </span> 68/push 2/imm32/stderr
<span id="L834" class="LineNr">834 </span> <span class="subxS2Comment"># . . call</span>
<span id="L835" class="LineNr">835 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L835" class="LineNr">835 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L836" class="LineNr">836 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L837" class="LineNr">837 </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="L838" class="LineNr">838 </span> <span class="subxS1Comment"># . clear-stream($Stderr-&gt;buffer)</span>
@ -926,7 +926,7 @@ if ('onhashchange' in window) {
<span id="L866" class="LineNr">866 </span> 68/push <span class="SpecialChar"><a href='051test.subx.html#L83'>Newline</a></span>/imm32
<span id="L867" class="LineNr">867 </span> 68/push 2/imm32/stderr
<span id="L868" class="LineNr">868 </span> <span class="subxS2Comment"># . . call</span>
<span id="L869" class="LineNr">869 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L869" class="LineNr">869 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L870" class="LineNr">870 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L871" class="LineNr">871 </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="L872" class="LineNr">872 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>

View File

@ -152,7 +152,7 @@ if ('onhashchange' in window) {
<span id="L91" class="LineNr"> 91 </span> 68/push <span class="Constant">&quot;allocate: failed to allocate\n&quot;</span>/imm32
<span id="L92" class="LineNr"> 92 </span> 68/push 2/imm32/stderr
<span id="L93" class="LineNr"> 93 </span> <span class="subxS2Comment"># . . call</span>
<span id="L94" class="LineNr"> 94 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L94" class="LineNr"> 94 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L95" class="LineNr"> 95 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L96" class="LineNr"> 96 </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="L97" class="LineNr"> 97 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>
@ -286,7 +286,7 @@ if ('onhashchange' in window) {
<span id="L225" class="LineNr">225 </span> 68/push <span class="Constant">&quot;allocate-region: failed to allocate\n&quot;</span>/imm32
<span id="L226" class="LineNr">226 </span> 68/push 2/imm32/stderr
<span id="L227" class="LineNr">227 </span> <span class="subxS2Comment"># . . call</span>
<span id="L228" class="LineNr">228 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L228" class="LineNr">228 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L229" class="LineNr">229 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L230" class="LineNr">230 </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="L231" class="LineNr">231 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>

View File

@ -114,7 +114,7 @@ if ('onhashchange' in window) {
<span id="L55" class="LineNr"> 55 </span> 68/push <span class="Constant">&quot;new-stream: size too large\n&quot;</span>/imm32
<span id="L56" class="LineNr"> 56 </span> 68/push 2/imm32/stderr
<span id="L57" class="LineNr"> 57 </span> <span class="subxS2Comment"># . . call</span>
<span id="L58" class="LineNr"> 58 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L58" class="LineNr"> 58 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L59" class="LineNr"> 59 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L60" class="LineNr"> 60 </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="L61" class="LineNr"> 61 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>

View File

@ -159,7 +159,7 @@ if ('onhashchange' in window) {
<span id="L99" class="LineNr"> 99 </span> 68/push <span class="Constant">&quot;read-line-buffered: line too long\n&quot;</span>/imm32
<span id="L100" class="LineNr">100 </span> 68/push 2/imm32/stderr
<span id="L101" class="LineNr">101 </span> <span class="subxS2Comment"># . . call</span>
<span id="L102" class="LineNr">102 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L102" class="LineNr">102 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L103" class="LineNr">103 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L104" class="LineNr">104 </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="L105" class="LineNr">105 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>
@ -344,7 +344,7 @@ if ('onhashchange' in window) {
<span id="L284" class="LineNr">284 </span> 68/push <span class="Constant">&quot;read-line: line too long\n&quot;</span>/imm32
<span id="L285" class="LineNr">285 </span> 68/push 2/imm32/stderr
<span id="L286" class="LineNr">286 </span> <span class="subxS2Comment"># . . call</span>
<span id="L287" class="LineNr">287 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L287" class="LineNr">287 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L288" class="LineNr">288 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L289" class="LineNr">289 </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="L290" class="LineNr">290 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>

View File

@ -885,7 +885,7 @@ if ('onhashchange' in window) {
<span id="L824" class="LineNr"> 824 </span> 68/push <span class="Constant">&quot;write-slice: out of space&quot;</span>/imm32
<span id="L825" class="LineNr"> 825 </span> 68/push 2/imm32/stderr
<span id="L826" class="LineNr"> 826 </span> <span class="subxS2Comment"># . . call</span>
<span id="L827" class="LineNr"> 827 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L827" class="LineNr"> 827 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L828" class="LineNr"> 828 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L829" class="LineNr"> 829 </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="L830" class="LineNr"> 830 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>
@ -1142,7 +1142,7 @@ if ('onhashchange' in window) {
<span id="L1081" class="LineNr">1081 </span> 68/push <span class="Constant">&quot;slice-to-string: out of space\n&quot;</span>/imm32
<span id="L1082" class="LineNr">1082 </span> 68/push 2/imm32/stderr
<span id="L1083" class="LineNr">1083 </span> <span class="subxS2Comment"># . . call</span>
<span id="L1084" class="LineNr">1084 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L1084" class="LineNr">1084 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L1085" class="LineNr">1085 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L1086" class="LineNr">1086 </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="L1087" class="LineNr">1087 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>

View File

@ -180,7 +180,7 @@ if ('onhashchange' in window) {
<span id="L119" class="LineNr">119 </span> 68/push <span class="Constant">&quot;print-int32-decimal: out of space\n&quot;</span>/imm32
<span id="L120" class="LineNr">120 </span> 68/push 2/imm32/stderr
<span id="L121" class="LineNr">121 </span> <span class="subxS2Comment"># . . call</span>
<span id="L122" class="LineNr">122 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L122" class="LineNr">122 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L123" class="LineNr">123 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L124" class="LineNr">124 </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="L125" class="LineNr">125 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>

View File

@ -148,7 +148,7 @@ if ('onhashchange' in window) {
<span id="L87" class="LineNr"> 87 </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> 0x14/disp8 <span class="Normal"> . </span> <span class="subxComment"># push *(ebp+20)</span>
<span id="L88" class="LineNr"> 88 </span> 68/push 2/imm32/stderr
<span id="L89" class="LineNr"> 89 </span> <span class="subxS2Comment"># . . call</span>
<span id="L90" class="LineNr"> 90 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L90" class="LineNr"> 90 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L91" class="LineNr"> 91 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L92" class="LineNr"> 92 </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="L93" class="LineNr"> 93 </span> <span class="subxS1Comment"># . _write(2/stderr, error)</span>
@ -156,7 +156,7 @@ if ('onhashchange' in window) {
<span id="L95" class="LineNr"> 95 </span> 68/push <span class="Constant">&quot;: <a href='081table.subx.html#L27'>get</a>: key not found: &quot;</span>/imm32
<span id="L96" class="LineNr"> 96 </span> 68/push 2/imm32/stderr
<span id="L97" class="LineNr"> 97 </span> <span class="subxS2Comment"># . . call</span>
<span id="L98" class="LineNr"> 98 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L98" class="LineNr"> 98 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L99" class="LineNr"> 99 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L100" class="LineNr"> 100 </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="L101" class="LineNr"> 101 </span> <span class="subxS1Comment"># . _write(2/stderr, key)</span>
@ -164,7 +164,7 @@ if ('onhashchange' in window) {
<span id="L103" class="LineNr"> 103 </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> 0xc/disp8 <span class="Normal"> . </span> <span class="subxComment"># push *(ebp+12)</span>
<span id="L104" class="LineNr"> 104 </span> 68/push 2/imm32/stderr
<span id="L105" class="LineNr"> 105 </span> <span class="subxS2Comment"># . . call</span>
<span id="L106" class="LineNr"> 106 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L106" class="LineNr"> 106 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L107" class="LineNr"> 107 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L108" class="LineNr"> 108 </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="L109" class="LineNr"> 109 </span> <span class="subxS1Comment"># . _write(2/stderr, &quot;\n&quot;)</span>
@ -172,7 +172,7 @@ if ('onhashchange' in window) {
<span id="L111" class="LineNr"> 111 </span> 68/push <span class="SpecialChar"><a href='051test.subx.html#L83'>Newline</a></span>/imm32
<span id="L112" class="LineNr"> 112 </span> 68/push 2/imm32/stderr
<span id="L113" class="LineNr"> 113 </span> <span class="subxS2Comment"># . . call</span>
<span id="L114" class="LineNr"> 114 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L114" class="LineNr"> 114 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L115" class="LineNr"> 115 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L116" class="LineNr"> 116 </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="L117" class="LineNr"> 117 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>
@ -322,7 +322,7 @@ if ('onhashchange' in window) {
<span id="L261" class="LineNr"> 261 </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> 0x14/disp8 <span class="Normal"> . </span> <span class="subxComment"># push *(ebp+20)</span>
<span id="L262" class="LineNr"> 262 </span> 68/push 2/imm32/stderr
<span id="L263" class="LineNr"> 263 </span> <span class="subxS2Comment"># . . call</span>
<span id="L264" class="LineNr"> 264 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L264" class="LineNr"> 264 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L265" class="LineNr"> 265 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L266" class="LineNr"> 266 </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="L267" class="LineNr"> 267 </span> <span class="subxS1Comment"># . _write(2/stderr, error)</span>
@ -330,7 +330,7 @@ if ('onhashchange' in window) {
<span id="L269" class="LineNr"> 269 </span> 68/push <span class="Constant">&quot;: <a href='081table.subx.html#L201'>get-slice</a>: key not found: &quot;</span>/imm32
<span id="L270" class="LineNr"> 270 </span> 68/push 2/imm32/stderr
<span id="L271" class="LineNr"> 271 </span> <span class="subxS2Comment"># . . call</span>
<span id="L272" class="LineNr"> 272 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L272" class="LineNr"> 272 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L273" class="LineNr"> 273 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L274" class="LineNr"> 274 </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="L275" class="LineNr"> 275 </span> <span class="subxS1Comment"># . write-slice-buffered(Stderr, key)</span>
@ -353,7 +353,7 @@ if ('onhashchange' in window) {
<span id="L292" class="LineNr"> 292 </span> 68/push <span class="SpecialChar"><a href='051test.subx.html#L83'>Newline</a></span>/imm32
<span id="L293" class="LineNr"> 293 </span> 68/push 2/imm32/stderr
<span id="L294" class="LineNr"> 294 </span> <span class="subxS2Comment"># . . call</span>
<span id="L295" class="LineNr"> 295 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L295" class="LineNr"> 295 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L296" class="LineNr"> 296 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L297" class="LineNr"> 297 </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="L298" class="LineNr"> 298 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>
@ -560,7 +560,7 @@ if ('onhashchange' in window) {
<span id="L499" class="LineNr"> 499 </span> 68/push <span class="Constant">&quot;get-or-insert: table is full\n&quot;</span>/imm32
<span id="L500" class="LineNr"> 500 </span> 68/push 2/imm32/stderr
<span id="L501" class="LineNr"> 501 </span> <span class="subxS2Comment"># . . call</span>
<span id="L502" class="LineNr"> 502 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L502" class="LineNr"> 502 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L503" class="LineNr"> 503 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L504" class="LineNr"> 504 </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="L505" class="LineNr"> 505 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>
@ -817,7 +817,7 @@ if ('onhashchange' in window) {
<span id="L756" class="LineNr"> 756 </span> 68/push <span class="Constant">&quot;leaky-get-or-insert-slice: table is full\n&quot;</span>/imm32
<span id="L757" class="LineNr"> 757 </span> 68/push 2/imm32/stderr
<span id="L758" class="LineNr"> 758 </span> <span class="subxS2Comment"># . . call</span>
<span id="L759" class="LineNr"> 759 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L759" class="LineNr"> 759 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L760" class="LineNr"> 760 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L761" class="LineNr"> 761 </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="L762" class="LineNr"> 762 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>

View File

@ -154,7 +154,7 @@ if ('onhashchange' in window) {
<span id="L95" class="LineNr"> 95 </span> 68/push <span class="Constant">&quot;slurp: destination too small\n&quot;</span>/imm32
<span id="L96" class="LineNr"> 96 </span> 68/push 2/imm32/stderr
<span id="L97" class="LineNr"> 97 </span> <span class="subxS2Comment"># . . call</span>
<span id="L98" class="LineNr"> 98 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L98" class="LineNr"> 98 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L99" class="LineNr"> 99 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L100" class="LineNr">100 </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="L101" class="LineNr">101 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>

View File

@ -102,7 +102,7 @@ if ('onhashchange' in window) {
<span id="L42" class="LineNr"> 42 </span> 68/push <span class="Constant">&quot;write-int: out of space\n&quot;</span>/imm32
<span id="L43" class="LineNr"> 43 </span> 68/push 2/imm32/stderr
<span id="L44" class="LineNr"> 44 </span> <span class="subxS2Comment"># . . call</span>
<span id="L45" class="LineNr"> 45 </span> e8/call <a href='050_write.subx.html#L34'>_write</a>/disp32
<span id="L45" class="LineNr"> 45 </span> e8/call <a href='050_write.subx.html#L37'>_write</a>/disp32
<span id="L46" class="LineNr"> 46 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L47" class="LineNr"> 47 </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="L48" class="LineNr"> 48 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>

View File

@ -332,7 +332,7 @@ if ('onhashchange' in window) {
<span id="L269" class="LineNr">269 </span> 68/push <span class="Constant">&quot;lookup failed\n&quot;</span>/imm32
<span id="L270" class="LineNr">270 </span> 68/push 2/imm32/stderr
<span id="L271" class="LineNr">271 </span> <span class="subxS2Comment"># . . call</span>
<span id="L272" class="LineNr">272 </span> e8/call <a href='../050_write.subx.html#L34'>_write</a>/disp32
<span id="L272" class="LineNr">272 </span> e8/call <a href='../050_write.subx.html#L37'>_write</a>/disp32
<span id="L273" class="LineNr">273 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L274" class="LineNr">274 </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="L275" class="LineNr">275 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>

File diff suppressed because it is too large Load Diff

View File

@ -3696,7 +3696,7 @@ if ('onhashchange' in window) {
<span id="L4098" class="LineNr">4098 </span> 68/push <span class="Constant">&quot;next-hex-int: invalid hex char: &quot;</span>/imm32
<span id="L4099" class="LineNr">4099 </span> 68/push 2/imm32/stderr
<span id="L4100" class="LineNr">4100 </span> <span class="subxS2Comment"># . . call</span>
<span id="L4101" class="LineNr">4101 </span> e8/call <a href='../050_write.subx.html#L34'>_write</a>/disp32
<span id="L4101" class="LineNr">4101 </span> e8/call <a href='../050_write.subx.html#L37'>_write</a>/disp32
<span id="L4102" class="LineNr">4102 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L4103" class="LineNr">4103 </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="L4104" class="LineNr">4104 </span> <span class="subxS1Comment"># . clear-stream($Stderr-&gt;buffer)</span>
@ -3730,7 +3730,7 @@ if ('onhashchange' in window) {
<span id="L4132" class="LineNr">4132 </span> 68/push <span class="SpecialChar"><a href='../051test.subx.html#L83'>Newline</a></span>/imm32
<span id="L4133" class="LineNr">4133 </span> 68/push 2/imm32/stderr
<span id="L4134" class="LineNr">4134 </span> <span class="subxS2Comment"># . . call</span>
<span id="L4135" class="LineNr">4135 </span> e8/call <a href='../050_write.subx.html#L34'>_write</a>/disp32
<span id="L4135" class="LineNr">4135 </span> e8/call <a href='../050_write.subx.html#L37'>_write</a>/disp32
<span id="L4136" class="LineNr">4136 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L4137" class="LineNr">4137 </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="L4138" class="LineNr">4138 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>

View File

@ -824,7 +824,7 @@ if ('onhashchange' in window) {
<span id="L1182" class="LineNr">1182 </span> 68/push <span class="Constant">&quot;'==' must be followed by segment name and segment-start\n&quot;</span>/imm32
<span id="L1183" class="LineNr">1183 </span> 68/push 2/imm32/stderr
<span id="L1184" class="LineNr">1184 </span> <span class="subxS2Comment"># . . call</span>
<span id="L1185" class="LineNr">1185 </span> e8/call <a href='../050_write.subx.html#L34'>_write</a>/disp32
<span id="L1185" class="LineNr">1185 </span> e8/call <a href='../050_write.subx.html#L37'>_write</a>/disp32
<span id="L1186" class="LineNr">1186 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L1187" class="LineNr">1187 </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="L1188" class="LineNr">1188 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>
@ -1821,7 +1821,7 @@ if ('onhashchange' in window) {
<span id="L2473" class="LineNr">2473 </span> 68/push <span class="Constant">&quot;emit-segments: must refer to global variables with /disp32 or /imm32&quot;</span>/imm32
<span id="L2474" class="LineNr">2474 </span> 68/push 2/imm32/stderr
<span id="L2475" class="LineNr">2475 </span> <span class="subxS2Comment"># . . call</span>
<span id="L2476" class="LineNr">2476 </span> e8/call <a href='../050_write.subx.html#L34'>_write</a>/disp32
<span id="L2476" class="LineNr">2476 </span> e8/call <a href='../050_write.subx.html#L37'>_write</a>/disp32
<span id="L2477" class="LineNr">2477 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L2478" class="LineNr">2478 </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="L2479" class="LineNr">2479 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>
@ -1836,7 +1836,7 @@ if ('onhashchange' in window) {
<span id="L2488" class="LineNr">2488 </span> 68/push <span class="Constant">&quot;emit-segments: cannot refer to code labels with /imm8&quot;</span>/imm32
<span id="L2489" class="LineNr">2489 </span> 68/push 2/imm32/stderr
<span id="L2490" class="LineNr">2490 </span> <span class="subxS2Comment"># . . call</span>
<span id="L2491" class="LineNr">2491 </span> e8/call <a href='../050_write.subx.html#L34'>_write</a>/disp32
<span id="L2491" class="LineNr">2491 </span> e8/call <a href='../050_write.subx.html#L37'>_write</a>/disp32
<span id="L2492" class="LineNr">2492 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L2493" class="LineNr">2493 </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="L2494" class="LineNr">2494 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>
@ -1852,7 +1852,7 @@ if ('onhashchange' in window) {
<span id="L2504" class="LineNr">2504 </span> 68/push <span class="Constant">&quot;emit-segments: missing metadata in &quot;</span>/imm32
<span id="L2505" class="LineNr">2505 </span> 68/push 2/imm32/stderr
<span id="L2506" class="LineNr">2506 </span> <span class="subxS2Comment"># . . call</span>
<span id="L2507" class="LineNr">2507 </span> e8/call <a href='../050_write.subx.html#L34'>_write</a>/disp32
<span id="L2507" class="LineNr">2507 </span> e8/call <a href='../050_write.subx.html#L37'>_write</a>/disp32
<span id="L2508" class="LineNr">2508 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L2509" class="LineNr">2509 </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="L2510" class="LineNr">2510 </span> <span class="subxS1Comment"># . write-slice-buffered(Stderr, word-slice)</span>
@ -2712,7 +2712,7 @@ if ('onhashchange' in window) {
<span id="L3538" class="LineNr">3538 </span> 68/push <span class="Constant">&quot;overflow in stream-add4\n&quot;</span>/imm32
<span id="L3539" class="LineNr">3539 </span> 68/push 2/imm32/stderr
<span id="L3540" class="LineNr">3540 </span> <span class="subxS2Comment"># . . call</span>
<span id="L3541" class="LineNr">3541 </span> e8/call <a href='../050_write.subx.html#L34'>_write</a>/disp32
<span id="L3541" class="LineNr">3541 </span> e8/call <a href='../050_write.subx.html#L37'>_write</a>/disp32
<span id="L3542" class="LineNr">3542 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L3543" class="LineNr">3543 </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="L3544" class="LineNr">3544 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span>