From 86351aafe218a7386f6578be3c4da3edcdcb0c98 Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Fri, 12 Jun 2020 07:57:27 -0700 Subject: 6513 --- html/068error-byte.subx.html | 137 +++++++++++++++++++++---------------------- 1 file changed, 68 insertions(+), 69 deletions(-) (limited to 'html/068error-byte.subx.html') diff --git a/html/068error-byte.subx.html b/html/068error-byte.subx.html index bfc11d1d..8a4275ca 100644 --- a/html/068error-byte.subx.html +++ b/html/068error-byte.subx.html @@ -80,75 +80,74 @@ if ('onhashchange' in window) { 20 #? e8/call error-byte/disp32 21 #? # . syscall(exit, Num-test-failures) 22 #? 8b/copy 0/mod/indirect 5/rm32/.disp32 . . 3/r32/ebx Num-test-failures/disp32 # copy *Num-test-failures to ebx -23 #? b8/copy-to-eax 1/imm32/exit -24 #? cd/syscall 0x80/imm8 -25 -26 # write(out, "Error: "+msg+": "+byte) then stop(ed, 1) -27 error-byte: # ed: (addr exit-descriptor), out: (addr buffered-file), msg: (addr array byte), n: byte -28 # . prologue -29 55/push-ebp -30 89/copy 3/mod/direct 5/rm32/ebp . . . 4/r32/esp . . # copy esp to ebp -31 # write-buffered(out, "Error: ") -32 # . . push args -33 68/push "Error: "/imm32 -34 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0xc/disp8 . # push *(ebp+12) -35 # . . call -36 e8/call write-buffered/disp32 -37 # . . discard args -38 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp -39 # write-buffered(out, msg) -40 # . . push args -41 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x10/disp8 . # push *(ebp+16) -42 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0xc/disp8 . # push *(ebp+12) -43 # . . call -44 e8/call write-buffered/disp32 -45 # . . discard args -46 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp -47 # write-buffered(out, ": ") -48 # . . push args -49 68/push ": "/imm32 -50 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0xc/disp8 . # push *(ebp+12) -51 # . . call -52 e8/call write-buffered/disp32 -53 # . . discard args -54 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp -55 # print-byte-buffered(out, byte) -56 # . . push args -57 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x14/disp8 . # push *(ebp+20) -58 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0xc/disp8 . # push *(ebp+12) -59 # . . call -60 e8/call print-byte-buffered/disp32 -61 # . . discard args -62 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp -63 # write-buffered(out, Newline) -64 # . . push args -65 68/push Newline/imm32 -66 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0xc/disp8 . # push *(ebp+12) -67 # . . call -68 e8/call write-buffered/disp32 -69 # . . discard args -70 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp -71 # flush(out) -72 # . . push args -73 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0xc/disp8 . # push *(ebp+12) -74 # . . call -75 e8/call flush/disp32 -76 # . . discard args -77 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 4/imm32 # add to esp -78 # stop(ed, 1) -79 # . . push args -80 68/push 1/imm32 -81 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 8/disp8 . # push *(ebp+8) -82 # . . call -83 e8/call stop/disp32 -84 # should never get past this point -85 $error-byte:dead-end: -86 # . epilogue -87 89/copy 3/mod/direct 4/rm32/esp . . . 5/r32/ebp . . # copy ebp to esp -88 5d/pop-to-ebp -89 c3/return -90 -91 # . . vim:nowrap:textwidth=0 +23 #? e8/call syscall_exit/disp32 +24 +25 # write(out, "Error: "+msg+": "+byte) then stop(ed, 1) +26 error-byte: # ed: (addr exit-descriptor), out: (addr buffered-file), msg: (addr array byte), n: byte +27 # . prologue +28 55/push-ebp +29 89/copy 3/mod/direct 5/rm32/ebp . . . 4/r32/esp . . # copy esp to ebp +30 # write-buffered(out, "Error: ") +31 # . . push args +32 68/push "Error: "/imm32 +33 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0xc/disp8 . # push *(ebp+12) +34 # . . call +35 e8/call write-buffered/disp32 +36 # . . discard args +37 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp +38 # write-buffered(out, msg) +39 # . . push args +40 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x10/disp8 . # push *(ebp+16) +41 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0xc/disp8 . # push *(ebp+12) +42 # . . call +43 e8/call write-buffered/disp32 +44 # . . discard args +45 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp +46 # write-buffered(out, ": ") +47 # . . push args +48 68/push ": "/imm32 +49 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0xc/disp8 . # push *(ebp+12) +50 # . . call +51 e8/call write-buffered/disp32 +52 # . . discard args +53 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp +54 # print-byte-buffered(out, byte) +55 # . . push args +56 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x14/disp8 . # push *(ebp+20) +57 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0xc/disp8 . # push *(ebp+12) +58 # . . call +59 e8/call print-byte-buffered/disp32 +60 # . . discard args +61 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp +62 # write-buffered(out, Newline) +63 # . . push args +64 68/push Newline/imm32 +65 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0xc/disp8 . # push *(ebp+12) +66 # . . call +67 e8/call write-buffered/disp32 +68 # . . discard args +69 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp +70 # flush(out) +71 # . . push args +72 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0xc/disp8 . # push *(ebp+12) +73 # . . call +74 e8/call flush/disp32 +75 # . . discard args +76 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 4/imm32 # add to esp +77 # stop(ed, 1) +78 # . . push args +79 68/push 1/imm32 +80 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 8/disp8 . # push *(ebp+8) +81 # . . call +82 e8/call stop/disp32 +83 # should never get past this point +84 $error-byte:dead-end: +85 # . epilogue +86 89/copy 3/mod/direct 4/rm32/esp . . . 5/r32/ebp . . # copy ebp to esp +87 5d/pop-to-ebp +88 c3/return +89 +90 # . . vim:nowrap:textwidth=0 -- cgit 1.4.1-2-gfad0