https://github.com/akkartik/mu/blob/main/baremetal/107trace.subx
1
2
3
4
5
6 _append-3:
7
8 55/push-ebp
9 89/copy 3/mod/direct 5/rm32/ebp . . . 4/r32/esp . .
10
11 51/push-ecx
12
13
14 8b/copy 1/mod/*+disp8 5/rm32/ebp . . 0/r32/eax 0x10/disp8 .
15 8b/copy 0/mod/indirect 0/rm32/eax . . . 1/r32/ecx . .
16 8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/eax 1/index/ecx . 1/r32/ecx 4/disp8 .
17 51/push-ecx
18
19 8d/copy-address 1/mod/*+disp8 0/rm32/eax . . . 1/r32/ecx 4/disp8 .
20 51/push-ecx
21
22 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0xc/disp8 .
23
24 ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 8/disp8 .
25
26 e8/call _append-4/disp32
27
28 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 0x10/imm32
29 $_append-3:end:
30
31 59/pop-to-ecx
32
33 89/copy 3/mod/direct 4/rm32/esp . . . 5/r32/ebp . .
34 5d/pop-to-ebp
35 c3/return
36
37
38 _append-4:
39
40 55/push-ebp
41 89/copy 3/mod/direct 5/rm32/ebp . . . 4/r32/esp . .
42
43 51/push-ecx
44 52/push-edx
45 53/push-ebx
46 56/push-esi
47 57/push-edi
48
49 b8/copy-to-eax 0/imm32
50
51 8b/copy 1/mod/*+disp8 5/rm32/ebp . . . 7/r32/edi 8/disp8 .
52
53 8b/copy 1/mod/*+disp8 5/rm32/ebp . . . 2/r32/edx 0xc/disp8 .
54
55 8b/copy 1/mod/*+disp8 5/rm32/ebp . . . 6/r32/esi 0x10/disp8 .
56
57 8b/copy 1/mod/*+disp8 5/rm32/ebp . . . 1/r32/ecx 0x14/disp8 .
58 $_append-4:loop:
59
60 39/compare 3/mod/direct 6/rm32/esi . . . 1/r32/ecx . .
61 73/jump-if-addr>= $_append-4:end/disp8
62
63 39/compare 3/mod/direct 7/rm32/edi . . . 2/r32/edx . .
64 73/jump-if-addr>= $_append-4:end/disp8
65
66 8a/copy-byte 0/mod/indirect 6/rm32/esi . . . 3/r32/BL . .
67 88/copy-byte 0/mod/indirect 7/rm32/edi . . . 3/r32/BL . .
68
69 40/increment-eax
70
71 46/increment-esi
72
73 47/increment-edi
74 eb/jump $_append-4:loop/disp8
75 $_append-4:end:
76
77 5f/pop-to-edi
78 5e/pop-to-esi
79 5b/pop-to-ebx
80 5a/pop-to-edx
81 59/pop-to-ecx
82
83 89/copy 3/mod/direct 4/rm32/esp . . . 5/r32/ebp . .
84 5d/pop-to-ebp
85 c3/return
86
87