https://github.com/akkartik/mu/blob/master/subx/050_write.subx
1
2
3 == code
4
5
6
7
8 Entry:
9
10 bb/copy-to-EBX 0/imm32
11 b8/copy-to-EAX 1/imm32/exit
12 cd/syscall 0x80/imm8
13
14 _write:
15
16 55/push-EBP
17 89/copy 3/mod/direct 5/rm32/EBP . . . 4/r32/ESP . .
18
19 50/push-EAX
20 51/push-ECX
21 52/push-EDX
22 53/push-EBX
23
24
25 8b/copy 1/mod/*+disp8 5/rm32/EBP . . . 3/r32/EBX 8/disp8 .
26
27 8b/copy 1/mod/*+disp8 5/rm32/EBP . . . 1/r32/ECX 0xc/disp8 .
28 81 0/subop/add 3/mod/direct 1/rm32/ECX . . . . . 4/imm32
29
30 8b/copy 1/mod/*+disp8 5/rm32/EBP . . . 2/r32/EDX 0xc/disp8 .
31 8b/copy 0/mod/indirect 2/rm32/EDX . . . 2/r32/EDX . .
32
33 b8/copy-to-EAX 4/imm32/write
34 cd/syscall 0x80/imm8
35 $_write:end:
36
37 5b/pop-to-EBX
38 5a/pop-to-EDX
39 59/pop-to-ECX
40 58/pop-to-EAX
41
42 89/copy 3/mod/direct 4/rm32/ESP . . . 5/r32/EBP . .
43 5d/pop-to-EBP
44 c3/return
45
46