https://github.com/akkartik/mu/blob/master/subx/061error.subx
1
2
3 == code
4
5
6
7
8
9 e8/call run-tests/disp32
10
11 8b/copy 0/mod/indirect 5/rm32/.disp32 3/r32/EBX Num-test-failures/disp32
12 b8/copy-to-EAX 1/imm32
13 cd/syscall 0x80/imm8
14
15
16 error:
17
18 55/push-EBP
19 89/copy 3/mod/direct 5/rm32/EBP 4/r32/ESP
20
21
22 68/push "Error: "/imm32
23 ff 6/subop/push 1/mod/*+disp8 4/rm32/sib 5/base/EBP 4/index/none 0xc/disp8
24
25 e8/call write/disp32
26
27 81 0/subop/add 3/mod/direct 4/rm32/ESP 8/imm32
28
29
30 ff 6/subop/push 1/mod/*+disp8 4/rm32/sib 5/base/EBP 4/index/none 0x10/disp8
31 ff 6/subop/push 1/mod/*+disp8 4/rm32/sib 5/base/EBP 4/index/none 0xc/disp8
32
33 e8/call write/disp32
34
35 81 0/subop/add 3/mod/direct 4/rm32/ESP 8/imm32
36
37
38 68/push Newline/imm32
39 ff 6/subop/push 1/mod/*+disp8 4/rm32/sib 5/base/EBP 4/index/none 0xc/disp8
40
41 e8/call write/disp32
42
43 81 0/subop/add 3/mod/direct 4/rm32/ESP 8/imm32
44
45
46 68/push 1/imm32
47 ff 6/subop/push 1/mod/*+disp8 4/rm32/sib 5/base/EBP 4/index/none 8/disp8
48
49 e8/call stop/disp32
50
51 $error:dead-end:
52
53 89/copy 3/mod/direct 4/rm32/ESP 5/r32/EBP
54 5d/pop-to-EBP
55 c3/return
56
57