From 86351aafe218a7386f6578be3c4da3edcdcb0c98 Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Fri, 12 Jun 2020 07:57:27 -0700 Subject: 6513 --- html/apps/random.subx.html | 89 ++++++++++++++++++++++------------------------ 1 file changed, 43 insertions(+), 46 deletions(-) (limited to 'html/apps/random.subx.html') diff --git a/html/apps/random.subx.html b/html/apps/random.subx.html index 882ce5d4..62946701 100644 --- a/html/apps/random.subx.html +++ b/html/apps/random.subx.html @@ -69,55 +69,52 @@ if ('onhashchange' in window) { 11 12 Entry: 13 # stream/esi = syscall(open, "/dev/null", O_RDONLY, 0) # we can't use 'fd' because it looks like a hex byte -14 bb/copy-to-ebx Filename/imm32 +14 bb/copy-to-ebx Filename/imm32 15 b9/copy-to-ecx 0/imm32/rdonly 16 ba/copy-to-edx 0x180/imm32/fixed-perms -17 b8/copy-to-eax 5/imm32/open -18 cd/syscall 0x80/imm8 -19 # . stream = eax -20 89/copy 3/mod/direct 6/rm32/esi . . . 0/r32/eax . . # copy eax to esi -21 -22 $loop: -23 -24 # syscall(read, Stream, N, 4) -25 89/copy 3/mod/direct 3/rm32/ebx . . . 6/r32/esi . . # copy esi to ebx -26 b9/copy-to-ecx N/imm32 -27 ba/copy-to-edx 4/imm32/size -28 b8/copy-to-eax 3/imm32/read -29 cd/syscall 0x80/imm8 -30 -31 # print-int32-buffered(Stdout, *N) -32 # . . push args -33 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . N/disp32 # push *N -34 68/push Stdout/imm32 -35 # . . call -36 e8/call print-int32-buffered/disp32 -37 -38 # write-buffered(Stdout, Newline) -39 # . . push args -40 68/push Newline/imm32 -41 68/push Stdout/imm32 -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 +17 e8/call syscall_open/disp32 +18 # . stream = eax +19 89/copy 3/mod/direct 6/rm32/esi . . . 0/r32/eax . . # copy eax to esi +20 +21 $loop: +22 +23 # syscall(read, Stream, N, 4) +24 89/copy 3/mod/direct 3/rm32/ebx . . . 6/r32/esi . . # copy esi to ebx +25 b9/copy-to-ecx N/imm32 +26 ba/copy-to-edx 4/imm32/size +27 e8/call syscall_read/disp32 +28 +29 # print-int32-buffered(Stdout, *N) +30 # . . push args +31 ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . N/disp32 # push *N +32 68/push Stdout/imm32 +33 # . . call +34 e8/call print-int32-buffered/disp32 +35 +36 # write-buffered(Stdout, Newline) +37 # . . push args +38 68/push Newline/imm32 +39 68/push Stdout/imm32 +40 # . . call +41 e8/call write-buffered/disp32 +42 # . . discard args +43 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp +44 +45 eb/jump $loop/disp8 46 -47 eb/jump $loop/disp8 -48 -49 # syscall(exit, 0) -50 bb/copy-to-ebx 0/imm32 -51 b8/copy-to-eax 1/imm32/exit -52 cd/syscall 0x80/imm8 -53 -54 == data 0x0a000000 -55 -56 N: -57 0/imm32 -58 Filename: -59 2f 64 65 76 2f 72 61 6e 64 6f 6d 00 -60 # / d e v / r a n d o m null -61 -62 # . . vim:nowrap:textwidth=0 +47 # syscall(exit, 0) +48 bb/copy-to-ebx 0/imm32 +49 e8/call syscall_exit/disp32 +50 +51 == data 0x0a000000 +52 +53 N: +54 0/imm32 +55 Filename: +56 2f 64 65 76 2f 72 61 6e 64 6f 6d 00 +57 # / d e v / r a n d o m null +58 +59 # . . vim:nowrap:textwidth=0 -- cgit 1.4.1-2-gfad0