diff options
author | Kartik Agaram <vc@akkartik.com> | 2021-08-30 09:21:52 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2021-08-30 09:21:52 -0700 |
commit | 61ec86b71928afc4a7b0a9c787ba88d5b4b3040b (patch) | |
tree | 1c3da9ed40fa8bb36adb081e6dc538dfebf87afd /html/317abort.subx.html | |
parent | a479f0d0837be5fec7e92ef806cc50b9c17ed50c (diff) | |
download | mu-61ec86b71928afc4a7b0a9c787ba88d5b4b3040b.tar.gz |
.
Diffstat (limited to 'html/317abort.subx.html')
-rw-r--r-- | html/317abort.subx.html | 55 |
1 files changed, 27 insertions, 28 deletions
diff --git a/html/317abort.subx.html b/html/317abort.subx.html index e00a51bb..6dcb9826 100644 --- a/html/317abort.subx.html +++ b/html/317abort.subx.html @@ -65,8 +65,8 @@ if ('onhashchange' in window) { <span id="L7" class="LineNr"> 7 </span> 55/push-ebp <span id="L8" class="LineNr"> 8 </span> 89/<- %ebp 4/r32/esp <span id="L9" class="LineNr"> 9 </span> <span class="subxComment">#</span> -<span id="L10" class="LineNr"> 10 </span> (<a href='103grapheme.subx.html#L170'>set-cursor-position-on-real-screen</a> 0 0) -<span id="L11" class="LineNr"> 11 </span> (<a href='501draw-text.mu.html#L276'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 *(ebp+8) 0xf 0xc) <span class="subxComment"># 0/real-screen, 0xf/fg=white, 0xc/bg=red</span> +<span id="L10" class="LineNr"> 10 </span> (<a href='103glyph.subx.html#L301'>set-cursor-position-on-real-screen</a> 0 0) +<span id="L11" class="LineNr"> 11 </span> (<a href='501draw-text.mu.html#L284'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 *(ebp+8) 0xf 0xc) <span class="subxComment"># 0/real-screen, 0xf/fg=white, 0xc/bg=red</span> <span id="L12" class="LineNr"> 12 </span> (<a href='317abort.subx.html#L21'>dump-call-stack</a>) <span id="L13" class="LineNr"> 13 </span> <span class="subxComment"># crash</span> <span id="L14" class="LineNr"> 14 </span> { @@ -101,9 +101,9 @@ if ('onhashchange' in window) { <span id="L43" class="LineNr"> 43 </span> 81 7/subop/compare %ebx 0/imm32 <span id="L44" class="LineNr"> 44 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 <span id="L45" class="LineNr"> 45 </span> <span class="subxComment"># loop body</span> -<span id="L46" class="LineNr"> 46 </span> (<a href='501draw-text.mu.html#L276'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 <span class="Constant">"\n"</span> 0 0xc) -<span id="L47" class="LineNr"> 47 </span> (<a href='501draw-text.mu.html#L330'>draw-int32-hex-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 *(ebx+4) 0xf 0xc) -<span id="L48" class="LineNr"> 48 </span> (<a href='501draw-text.mu.html#L276'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 <span class="Constant">" "</span> 0 0xc) +<span id="L46" class="LineNr"> 46 </span> (<a href='501draw-text.mu.html#L284'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 <span class="Constant">"\n"</span> 0 0xc) +<span id="L47" class="LineNr"> 47 </span> (<a href='501draw-text.mu.html#L339'>draw-int32-hex-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 *(ebx+4) 0xf 0xc) +<span id="L48" class="LineNr"> 48 </span> (<a href='501draw-text.mu.html#L284'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 <span class="Constant">" "</span> 0 0xc) <span id="L49" class="LineNr"> 49 </span> (<a href='317abort.subx.html#L233'>containing-function</a> %edx *(ebx+4)) <span class="subxComment"># => eax, ecx</span> <span id="L50" class="LineNr"> 50 </span> (<a href='317abort.subx.html#L294'>draw-slice-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 %eax %ecx 0 0xc) <span id="L51" class="LineNr"> 51 </span> <span class="subxComment"># loop update</span> @@ -140,7 +140,7 @@ if ('onhashchange' in window) { <span id="L82" class="LineNr"> 82 </span> c7 0/subop/copy *(ecx+4) 0/imm32 <span class="subxComment"># read index</span> <span id="L83" class="LineNr"> 83 </span> c7 0/subop/copy *(ecx+8) 0x01000000/imm32 <span class="subxComment"># stream capacity = 16MB</span> <span id="L84" class="LineNr"> 84 </span> <span class="subxComment"># load sectors starting from sector 10080 = 0x2760</span> -<span id="L85" class="LineNr"> 85 </span> (<a href='510disk.mu.html#L1'>load-sectors</a> <span class="SpecialChar"><a href='boot.subx.html#L923'>Primary-bus-primary-drive</a></span> 0x2760 0x800 %ecx) <span class="subxComment"># 0x800 sectors = 1MB</span> +<span id="L85" class="LineNr"> 85 </span> (<a href='510disk.mu.html#L1'>load-sectors</a> <span class="SpecialChar"><a href='boot.subx.html#L709'>Primary-bus-primary-drive</a></span> 0x2760 0x800 %ecx) <span class="subxComment"># 0x800 sectors = 1MB</span> <span id="L86" class="LineNr"> 86 </span> <span class="subxH1Comment"># - parse pointers to portions of this stream into labels</span> <span id="L87" class="LineNr"> 87 </span> <span class="subxComment"># var curr/ecx: (addr byte) = s->data</span> <span id="L88" class="LineNr"> 88 </span> 81 0/subop/add %ecx 0xc/imm32 @@ -190,7 +190,7 @@ if ('onhashchange' in window) { <span id="L132" class="LineNr">132 </span> 3d/compare-eax-and 0/imm32 <span id="L133" class="LineNr">133 </span> { <span id="L134" class="LineNr">134 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 -<span id="L135" class="LineNr">135 </span> (<a href='501draw-text.mu.html#L276'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 <span class="Constant">"done loading"</span> 7 0) +<span id="L135" class="LineNr">135 </span> (<a href='501draw-text.mu.html#L284'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 <span class="Constant">"done loading"</span> 7 0) <span id="L136" class="LineNr">136 </span> { <span id="L137" class="LineNr">137 </span> eb/jump <span class="Constant">loop</span>/disp8 <span id="L138" class="LineNr">138 </span> } @@ -198,7 +198,7 @@ if ('onhashchange' in window) { <span id="L140" class="LineNr">140 </span> 3d/compare-eax-and 0xa/imm32/newline <span id="L141" class="LineNr">141 </span> { <span id="L142" class="LineNr">142 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 -<span id="L143" class="LineNr">143 </span> (<a href='501draw-text.mu.html#L276'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 <span class="Constant">"unexpected newline"</span> 7 0) +<span id="L143" class="LineNr">143 </span> (<a href='501draw-text.mu.html#L284'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 <span class="Constant">"unexpected newline"</span> 7 0) <span id="L144" class="LineNr">144 </span> { <span id="L145" class="LineNr">145 </span> eb/jump <span class="Constant">loop</span>/disp8 <span id="L146" class="LineNr">146 </span> } @@ -231,7 +231,7 @@ if ('onhashchange' in window) { <span id="L173" class="LineNr">173 </span> 3d/compare-eax-and 0/imm32 <span id="L174" class="LineNr">174 </span> { <span id="L175" class="LineNr">175 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 -<span id="L176" class="LineNr">176 </span> (<a href='501draw-text.mu.html#L276'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 <span class="Constant">"done loading"</span> 7 0) +<span id="L176" class="LineNr">176 </span> (<a href='501draw-text.mu.html#L284'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 <span class="Constant">"done loading"</span> 7 0) <span id="L177" class="LineNr">177 </span> { <span id="L178" class="LineNr">178 </span> eb/jump <span class="Constant">loop</span>/disp8 <span id="L179" class="LineNr">179 </span> } @@ -239,7 +239,7 @@ if ('onhashchange' in window) { <span id="L181" class="LineNr">181 </span> 3d/compare-eax-and 0x20/imm32/space <span id="L182" class="LineNr">182 </span> { <span id="L183" class="LineNr">183 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 -<span id="L184" class="LineNr">184 </span> (<a href='501draw-text.mu.html#L276'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 <span class="Constant">"unexpected space"</span> 7 0) +<span id="L184" class="LineNr">184 </span> (<a href='501draw-text.mu.html#L284'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 <span class="Constant">"unexpected space"</span> 7 0) <span id="L185" class="LineNr">185 </span> { <span id="L186" class="LineNr">186 </span> eb/jump <span class="Constant">loop</span>/disp8 <span id="L187" class="LineNr">187 </span> } @@ -310,8 +310,8 @@ if ('onhashchange' in window) { <span id="L252" class="LineNr">252 </span> 39/compare %ecx 2/r32/edx <span id="L253" class="LineNr">253 </span> { <span id="L254" class="LineNr">254 </span> 0f 82/jump-if-addr< <span class="Constant">break</span>/disp32 -<span id="L255" class="LineNr">255 </span> (<a href='501draw-text.mu.html#L276'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 <span class="Constant">"failed to find function for address "</span> 7 0) -<span id="L256" class="LineNr">256 </span> (<a href='501draw-text.mu.html#L330'>draw-int32-hex-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 *(ebp+0xc) 7 0) +<span id="L255" class="LineNr">255 </span> (<a href='501draw-text.mu.html#L284'>draw-text-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 <span class="Constant">"failed to find function for address "</span> 7 0) +<span id="L256" class="LineNr">256 </span> (<a href='501draw-text.mu.html#L339'>draw-int32-hex-wrapping-right-then-down-from-cursor-over-full-screen</a> 0 *(ebp+0xc) 7 0) <span id="L257" class="LineNr">257 </span> { <span id="L258" class="LineNr">258 </span> eb/jump <span class="Constant">loop</span>/disp8 <span id="L259" class="LineNr">259 </span> } @@ -369,22 +369,21 @@ if ('onhashchange' in window) { <span id="L311" class="LineNr">311 </span> 73/jump-if-addr>= <span class="Constant">break</span>/disp8 <span id="L312" class="LineNr">312 </span> <span class="subxComment"># print *curr</span> <span id="L313" class="LineNr">313 </span> 8a/byte-> *ecx 0/r32/eax -<span id="L314" class="LineNr">314 </span> (<a href='501draw-text.mu.html#L84'>draw-grapheme-at-cursor</a> *(ebp+8) %eax *(ebp+0x14) *(ebp+0x18)) -<span id="L315" class="LineNr">315 </span> (<a href='501draw-text.mu.html#L239'>move-cursor-rightward-and-downward</a> *(ebp+8)) -<span id="L316" class="LineNr">316 </span> <span class="subxComment">#</span> -<span id="L317" class="LineNr">317 </span> 41/increment-ecx -<span id="L318" class="LineNr">318 </span> <span class="subxComment">#</span> -<span id="L319" class="LineNr">319 </span> eb/jump <span class="Constant">loop</span>/disp8 -<span id="L320" class="LineNr">320 </span> } -<span id="L321" class="LineNr">321 </span><span class="Constant">$draw-slice-wrapping-right-then-down-from-cursor-over-full-screen:end</span>: -<span id="L322" class="LineNr">322 </span> <span class="subxS1Comment"># . restore registers</span> -<span id="L323" class="LineNr">323 </span> 5a/pop-to-edx -<span id="L324" class="LineNr">324 </span> 59/pop-to-ecx -<span id="L325" class="LineNr">325 </span> 58/pop-to-eax -<span id="L326" class="LineNr">326 </span> <span class="subxS1Comment"># . epilogue</span> -<span id="L327" class="LineNr">327 </span> 89/<- %esp 5/r32/ebp -<span id="L328" class="LineNr">328 </span> 5d/pop-to-ebp -<span id="L329" class="LineNr">329 </span> c3/return +<span id="L314" class="LineNr">314 </span> (<a href='501draw-text.mu.html#L84'>draw-code-point-at-cursor-over-full-screen</a> *(ebp+8) %eax *(ebp+0x14) *(ebp+0x18)) +<span id="L315" class="LineNr">315 </span> <span class="subxComment">#</span> +<span id="L316" class="LineNr">316 </span> 41/increment-ecx +<span id="L317" class="LineNr">317 </span> <span class="subxComment">#</span> +<span id="L318" class="LineNr">318 </span> eb/jump <span class="Constant">loop</span>/disp8 +<span id="L319" class="LineNr">319 </span> } +<span id="L320" class="LineNr">320 </span><span class="Constant">$draw-slice-wrapping-right-then-down-from-cursor-over-full-screen:end</span>: +<span id="L321" class="LineNr">321 </span> <span class="subxS1Comment"># . restore registers</span> +<span id="L322" class="LineNr">322 </span> 5a/pop-to-edx +<span id="L323" class="LineNr">323 </span> 59/pop-to-ecx +<span id="L324" class="LineNr">324 </span> 58/pop-to-eax +<span id="L325" class="LineNr">325 </span> <span class="subxS1Comment"># . epilogue</span> +<span id="L326" class="LineNr">326 </span> 89/<- %esp 5/r32/ebp +<span id="L327" class="LineNr">327 </span> 5d/pop-to-ebp +<span id="L328" class="LineNr">328 </span> c3/return </pre> </body> </html> |