diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-06-12 07:57:27 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-06-12 07:57:38 -0700 |
commit | 86351aafe218a7386f6578be3c4da3edcdcb0c98 (patch) | |
tree | 209e27b8ad7ed2a8f733c699b278d19d0f59bf43 /html/064write-byte.subx.html | |
parent | 07dba48f13be2aaa531b3d75a7d48d36e6ab4cb1 (diff) | |
download | mu-86351aafe218a7386f6578be3c4da3edcdcb0c98.tar.gz |
6513
Diffstat (limited to 'html/064write-byte.subx.html')
-rw-r--r-- | html/064write-byte.subx.html | 173 |
1 files changed, 86 insertions, 87 deletions
diff --git a/html/064write-byte.subx.html b/html/064write-byte.subx.html index 4aebe3e0..f8c6d6f4 100644 --- a/html/064write-byte.subx.html +++ b/html/064write-byte.subx.html @@ -155,7 +155,7 @@ if ('onhashchange' in window) { <span id="L93" class="LineNr"> 93 </span> 51/push-ecx <span id="L94" class="LineNr"> 94 </span> ff 6/subop/push 0/mod/indirect 0/rm32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># push *eax</span> <span id="L95" class="LineNr"> 95 </span> <span class="subxS2Comment"># . . call</span> -<span id="L96" class="LineNr"> 96 </span> e8/call <a href='062write-stream.subx.html#L18'>write-stream</a>/disp32 +<span id="L96" class="LineNr"> 96 </span> e8/call <a href='062write-stream.subx.html#L17'>write-stream</a>/disp32 <span id="L97" class="LineNr"> 97 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L98" class="LineNr"> 98 </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="L99" class="LineNr"> 99 </span><span class="Constant">$flush:end</span>: @@ -304,55 +304,55 @@ if ('onhashchange' in window) { <span id="L242" class="LineNr">242 </span> 68/push <span class="Constant">"append-byte: out of space\n"</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#L14'>_write</a>/disp32 +<span id="L245" class="LineNr">245 </span> e8/call <a href='050_write.subx.html#L12'>_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> <span id="L249" class="LineNr">249 </span> bb/copy-to-ebx 1/imm32 -<span id="L250" class="LineNr">250 </span> b8/copy-to-eax 1/imm32/exit -<span id="L251" class="LineNr">251 </span> cd/syscall 0x80/imm8 -<span id="L252" class="LineNr">252 </span> <span class="subxComment"># never gets here</span> -<span id="L253" class="LineNr">253 </span> -<span id="L254" class="LineNr">254 </span><span class="subxTest">test-append-byte-single</span>: -<span id="L255" class="LineNr">255 </span> <span class="subxH1Comment"># - check that append-byte writes to first byte of 'file'</span> -<span id="L256" class="LineNr">256 </span> <span class="subxComment"># setup</span> -<span id="L257" class="LineNr">257 </span> <span class="subxS1Comment"># . clear-stream(_test-stream)</span> -<span id="L258" class="LineNr">258 </span> <span class="subxS2Comment"># . . push args</span> -<span id="L259" class="LineNr">259 </span> 68/push <a href='057write.subx.html#L148'>_test-stream</a>/imm32 -<span id="L260" class="LineNr">260 </span> <span class="subxS2Comment"># . . call</span> -<span id="L261" class="LineNr">261 </span> e8/call <a href='055stream.subx.html#L17'>clear-stream</a>/disp32 -<span id="L262" class="LineNr">262 </span> <span class="subxS2Comment"># . . discard args</span> -<span id="L263" class="LineNr">263 </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> 4/imm32 <span class="subxComment"># add to esp</span> -<span id="L264" class="LineNr">264 </span> <span class="subxComment"># append-byte(_test-stream, 'A')</span> -<span id="L265" class="LineNr">265 </span> <span class="subxS2Comment"># . . push args</span> -<span id="L266" class="LineNr">266 </span> 68/push 0x41/imm32 -<span id="L267" class="LineNr">267 </span> 68/push <a href='057write.subx.html#L148'>_test-stream</a>/imm32 -<span id="L268" class="LineNr">268 </span> <span class="subxS2Comment"># . . call</span> -<span id="L269" class="LineNr">269 </span> e8/call <a href='064write-byte.subx.html#L208'>append-byte</a>/disp32 -<span id="L270" class="LineNr">270 </span> <span class="subxS2Comment"># . . discard args</span> -<span id="L271" class="LineNr">271 </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="L272" class="LineNr">272 </span> <span class="subxComment"># check-stream-equal(_test-stream, "A", msg)</span> -<span id="L273" class="LineNr">273 </span> <span class="subxS2Comment"># . . push args</span> -<span id="L274" class="LineNr">274 </span> 68/push <span class="Constant">"F - test-append-byte-single"</span>/imm32 -<span id="L275" class="LineNr">275 </span> 68/push <span class="Constant">"A"</span>/imm32 -<span id="L276" class="LineNr">276 </span> 68/push <a href='057write.subx.html#L148'>_test-stream</a>/imm32 -<span id="L277" class="LineNr">277 </span> <span class="subxS2Comment"># . . call</span> -<span id="L278" class="LineNr">278 </span> e8/call <a href='058stream-equal.subx.html#L194'>check-stream-equal</a>/disp32 -<span id="L279" class="LineNr">279 </span> <span class="subxS2Comment"># . . discard args</span> -<span id="L280" class="LineNr">280 </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> 0xc/imm32 <span class="subxComment"># add to esp</span> -<span id="L281" class="LineNr">281 </span> <span class="subxS1Comment"># . end</span> -<span id="L282" class="LineNr">282 </span> c3/return -<span id="L283" class="LineNr">283 </span> -<span id="L284" class="LineNr">284 </span>== data -<span id="L285" class="LineNr">285 </span> -<span id="L286" class="LineNr">286 </span><span class="subxMinorFunction">_test-output-stream</span>: <span class="subxComment"># (stream byte)</span> -<span id="L287" class="LineNr">287 </span> <span class="subxComment"># current write index</span> -<span id="L288" class="LineNr">288 </span> 0/imm32 -<span id="L289" class="LineNr">289 </span> <span class="subxComment"># current read index</span> -<span id="L290" class="LineNr">290 </span> 0/imm32 -<span id="L291" class="LineNr">291 </span> <span class="subxComment"># size</span> -<span id="L292" class="LineNr">292 </span> 0x400/imm32 <span class="subxComment"># 1024 bytes</span> -<span id="L293" class="LineNr">293 </span> <span class="subxComment"># data (64 lines x 16 bytes/line)</span> +<span id="L250" class="LineNr">250 </span> e8/call syscall_exit/disp32 +<span id="L251" class="LineNr">251 </span> <span class="subxComment"># never gets here</span> +<span id="L252" class="LineNr">252 </span> +<span id="L253" class="LineNr">253 </span><span class="subxTest">test-append-byte-single</span>: +<span id="L254" class="LineNr">254 </span> <span class="subxH1Comment"># - check that append-byte writes to first byte of 'file'</span> +<span id="L255" class="LineNr">255 </span> <span class="subxComment"># setup</span> +<span id="L256" class="LineNr">256 </span> <span class="subxS1Comment"># . clear-stream(_test-stream)</span> +<span id="L257" class="LineNr">257 </span> <span class="subxS2Comment"># . . push args</span> +<span id="L258" class="LineNr">258 </span> 68/push <a href='057write.subx.html#L148'>_test-stream</a>/imm32 +<span id="L259" class="LineNr">259 </span> <span class="subxS2Comment"># . . call</span> +<span id="L260" class="LineNr">260 </span> e8/call <a href='055stream.subx.html#L17'>clear-stream</a>/disp32 +<span id="L261" class="LineNr">261 </span> <span class="subxS2Comment"># . . discard args</span> +<span id="L262" class="LineNr">262 </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> 4/imm32 <span class="subxComment"># add to esp</span> +<span id="L263" class="LineNr">263 </span> <span class="subxComment"># append-byte(_test-stream, 'A')</span> +<span id="L264" class="LineNr">264 </span> <span class="subxS2Comment"># . . push args</span> +<span id="L265" class="LineNr">265 </span> 68/push 0x41/imm32 +<span id="L266" class="LineNr">266 </span> 68/push <a href='057write.subx.html#L148'>_test-stream</a>/imm32 +<span id="L267" class="LineNr">267 </span> <span class="subxS2Comment"># . . call</span> +<span id="L268" class="LineNr">268 </span> e8/call <a href='064write-byte.subx.html#L208'>append-byte</a>/disp32 +<span id="L269" class="LineNr">269 </span> <span class="subxS2Comment"># . . discard args</span> +<span id="L270" class="LineNr">270 </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="L271" class="LineNr">271 </span> <span class="subxComment"># check-stream-equal(_test-stream, "A", msg)</span> +<span id="L272" class="LineNr">272 </span> <span class="subxS2Comment"># . . push args</span> +<span id="L273" class="LineNr">273 </span> 68/push <span class="Constant">"F - test-append-byte-single"</span>/imm32 +<span id="L274" class="LineNr">274 </span> 68/push <span class="Constant">"A"</span>/imm32 +<span id="L275" class="LineNr">275 </span> 68/push <a href='057write.subx.html#L148'>_test-stream</a>/imm32 +<span id="L276" class="LineNr">276 </span> <span class="subxS2Comment"># . . call</span> +<span id="L277" class="LineNr">277 </span> e8/call <a href='058stream-equal.subx.html#L194'>check-stream-equal</a>/disp32 +<span id="L278" class="LineNr">278 </span> <span class="subxS2Comment"># . . discard args</span> +<span id="L279" class="LineNr">279 </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> 0xc/imm32 <span class="subxComment"># add to esp</span> +<span id="L280" class="LineNr">280 </span> <span class="subxS1Comment"># . end</span> +<span id="L281" class="LineNr">281 </span> c3/return +<span id="L282" class="LineNr">282 </span> +<span id="L283" class="LineNr">283 </span>== data +<span id="L284" class="LineNr">284 </span> +<span id="L285" class="LineNr">285 </span><span class="subxMinorFunction">_test-output-stream</span>: <span class="subxComment"># (stream byte)</span> +<span id="L286" class="LineNr">286 </span> <span class="subxComment"># current write index</span> +<span id="L287" class="LineNr">287 </span> 0/imm32 +<span id="L288" class="LineNr">288 </span> <span class="subxComment"># current read index</span> +<span id="L289" class="LineNr">289 </span> 0/imm32 +<span id="L290" class="LineNr">290 </span> <span class="subxComment"># size</span> +<span id="L291" class="LineNr">291 </span> 0x400/imm32 <span class="subxComment"># 1024 bytes</span> +<span id="L292" class="LineNr">292 </span> <span class="subxComment"># data (64 lines x 16 bytes/line)</span> +<span id="L293" class="LineNr">293 </span> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <span id="L294" class="LineNr">294 </span> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <span id="L295" class="LineNr">295 </span> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <span id="L296" class="LineNr">296 </span> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -416,30 +416,30 @@ if ('onhashchange' in window) { <span id="L354" class="LineNr">354 </span> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <span id="L355" class="LineNr">355 </span> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <span id="L356" class="LineNr">356 </span> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -<span id="L357" class="LineNr">357 </span> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -<span id="L358" class="LineNr">358 </span> -<span id="L359" class="LineNr">359 </span><span class="subxComment"># a test buffered file for _test-output-stream</span> -<span id="L360" class="LineNr">360 </span><span class="subxMinorFunction">_test-output-buffered-file</span>: <span class="subxComment"># buffered-file</span> -<span id="L361" class="LineNr">361 </span> <span class="subxComment"># file descriptor or (addr stream byte)</span> -<span id="L362" class="LineNr">362 </span> <a href='064write-byte.subx.html#L286'>_test-output-stream</a>/imm32 -<span id="L363" class="LineNr">363 </span><span class="Constant">$_test-output-buffered-file->buffer</span>: -<span id="L364" class="LineNr">364 </span> <span class="subxComment"># current write index</span> -<span id="L365" class="LineNr">365 </span> 0/imm32 -<span id="L366" class="LineNr">366 </span> <span class="subxComment"># current read index</span> -<span id="L367" class="LineNr">367 </span> 0/imm32 -<span id="L368" class="LineNr">368 </span> <span class="subxComment"># size</span> -<span id="L369" class="LineNr">369 </span> 6/imm32 -<span id="L370" class="LineNr">370 </span> <span class="subxComment"># data</span> -<span id="L371" class="LineNr">371 </span> 00 00 00 00 00 00 <span class="subxComment"># 6 bytes</span> -<span id="L372" class="LineNr">372 </span> -<span id="L373" class="LineNr">373 </span><span class="subxMinorFunction">_test-error-stream</span>: <span class="subxComment"># (stream byte)</span> -<span id="L374" class="LineNr">374 </span> <span class="subxComment"># current write index</span> -<span id="L375" class="LineNr">375 </span> 0/imm32 -<span id="L376" class="LineNr">376 </span> <span class="subxComment"># current read index</span> -<span id="L377" class="LineNr">377 </span> 0/imm32 -<span id="L378" class="LineNr">378 </span> <span class="subxComment"># line</span> -<span id="L379" class="LineNr">379 </span> 0x80/imm32 <span class="subxComment"># 128 bytes</span> -<span id="L380" class="LineNr">380 </span> <span class="subxComment"># data (8 lines x 16 bytes/line)</span> +<span id="L357" class="LineNr">357 </span> +<span id="L358" class="LineNr">358 </span><span class="subxComment"># a test buffered file for _test-output-stream</span> +<span id="L359" class="LineNr">359 </span><span class="subxMinorFunction">_test-output-buffered-file</span>: <span class="subxComment"># buffered-file</span> +<span id="L360" class="LineNr">360 </span> <span class="subxComment"># file descriptor or (addr stream byte)</span> +<span id="L361" class="LineNr">361 </span> <a href='064write-byte.subx.html#L285'>_test-output-stream</a>/imm32 +<span id="L362" class="LineNr">362 </span><span class="Constant">$_test-output-buffered-file->buffer</span>: +<span id="L363" class="LineNr">363 </span> <span class="subxComment"># current write index</span> +<span id="L364" class="LineNr">364 </span> 0/imm32 +<span id="L365" class="LineNr">365 </span> <span class="subxComment"># current read index</span> +<span id="L366" class="LineNr">366 </span> 0/imm32 +<span id="L367" class="LineNr">367 </span> <span class="subxComment"># size</span> +<span id="L368" class="LineNr">368 </span> 6/imm32 +<span id="L369" class="LineNr">369 </span> <span class="subxComment"># data</span> +<span id="L370" class="LineNr">370 </span> 00 00 00 00 00 00 <span class="subxComment"># 6 bytes</span> +<span id="L371" class="LineNr">371 </span> +<span id="L372" class="LineNr">372 </span><span class="subxMinorFunction">_test-error-stream</span>: <span class="subxComment"># (stream byte)</span> +<span id="L373" class="LineNr">373 </span> <span class="subxComment"># current write index</span> +<span id="L374" class="LineNr">374 </span> 0/imm32 +<span id="L375" class="LineNr">375 </span> <span class="subxComment"># current read index</span> +<span id="L376" class="LineNr">376 </span> 0/imm32 +<span id="L377" class="LineNr">377 </span> <span class="subxComment"># line</span> +<span id="L378" class="LineNr">378 </span> 0x80/imm32 <span class="subxComment"># 128 bytes</span> +<span id="L379" class="LineNr">379 </span> <span class="subxComment"># data (8 lines x 16 bytes/line)</span> +<span id="L380" class="LineNr">380 </span> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <span id="L381" class="LineNr">381 </span> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <span id="L382" class="LineNr">382 </span> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <span id="L383" class="LineNr">383 </span> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -447,23 +447,22 @@ if ('onhashchange' in window) { <span id="L385" class="LineNr">385 </span> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <span id="L386" class="LineNr">386 </span> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <span id="L387" class="LineNr">387 </span> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -<span id="L388" class="LineNr">388 </span> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -<span id="L389" class="LineNr">389 </span> -<span id="L390" class="LineNr">390 </span><span class="subxComment"># a test buffered file for _test-error-stream</span> -<span id="L391" class="LineNr">391 </span><span class="subxMinorFunction">_test-error-buffered-file</span>: <span class="subxComment"># buffered-file</span> -<span id="L392" class="LineNr">392 </span> <span class="subxComment"># file descriptor or (addr stream byte)</span> -<span id="L393" class="LineNr">393 </span> <a href='064write-byte.subx.html#L373'>_test-error-stream</a>/imm32 -<span id="L394" class="LineNr">394 </span><span class="Constant">$_test-error-buffered-file->buffer</span>: -<span id="L395" class="LineNr">395 </span> <span class="subxComment"># current write index</span> -<span id="L396" class="LineNr">396 </span> 0/imm32 -<span id="L397" class="LineNr">397 </span> <span class="subxComment"># current read index</span> -<span id="L398" class="LineNr">398 </span> 0/imm32 -<span id="L399" class="LineNr">399 </span> <span class="subxComment"># size</span> -<span id="L400" class="LineNr">400 </span> 6/imm32 -<span id="L401" class="LineNr">401 </span> <span class="subxComment"># data</span> -<span id="L402" class="LineNr">402 </span> 00 00 00 00 00 00 <span class="subxComment"># 6 bytes</span> -<span id="L403" class="LineNr">403 </span> -<span id="L404" class="LineNr">404 </span><span class="subxS2Comment"># . . vim:nowrap:textwidth=0</span> +<span id="L388" class="LineNr">388 </span> +<span id="L389" class="LineNr">389 </span><span class="subxComment"># a test buffered file for _test-error-stream</span> +<span id="L390" class="LineNr">390 </span><span class="subxMinorFunction">_test-error-buffered-file</span>: <span class="subxComment"># buffered-file</span> +<span id="L391" class="LineNr">391 </span> <span class="subxComment"># file descriptor or (addr stream byte)</span> +<span id="L392" class="LineNr">392 </span> <a href='064write-byte.subx.html#L372'>_test-error-stream</a>/imm32 +<span id="L393" class="LineNr">393 </span><span class="Constant">$_test-error-buffered-file->buffer</span>: +<span id="L394" class="LineNr">394 </span> <span class="subxComment"># current write index</span> +<span id="L395" class="LineNr">395 </span> 0/imm32 +<span id="L396" class="LineNr">396 </span> <span class="subxComment"># current read index</span> +<span id="L397" class="LineNr">397 </span> 0/imm32 +<span id="L398" class="LineNr">398 </span> <span class="subxComment"># size</span> +<span id="L399" class="LineNr">399 </span> 6/imm32 +<span id="L400" class="LineNr">400 </span> <span class="subxComment"># data</span> +<span id="L401" class="LineNr">401 </span> 00 00 00 00 00 00 <span class="subxComment"># 6 bytes</span> +<span id="L402" class="LineNr">402 </span> +<span id="L403" class="LineNr">403 </span><span class="subxS2Comment"># . . vim:nowrap:textwidth=0</span> </pre> </body> </html> |