1 ### Mes --- Maxwell Equations of Software
2 ### Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
4 ### This file is part of Mes.
6 ### Mes is free software# you can redistribute it and/or modify it
7 ### under the terms of the GNU General Public License as published by
8 ### the Free Software Foundation# either version 3 of the License, or (at
9 ### your option) any later version.
11 ### Mes is distributed in the hope that it will be useful, but
12 ### WITHOUT ANY WARRANTY# without even the implied warranty of
13 ### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 ### GNU General Public License for more details.
16 ### You should have received a copy of the GNU General Public License
17 ### along with Mes. If not, see <http://www.gnu.org/licenses/>.
20 DEFINE add____$i32,%eax 05
21 DEFINE add____$i8,%eax 83c0
22 DEFINE add____$i8,%edx 83c2
23 DEFINE add____$i8,%esp 83c4
24 DEFINE add____$i8,0x32 8305
25 DEFINE add____$i8,0x8(%eax) 8300
26 DEFINE add____$i8,0x8(%ebp) 8345
27 DEFINE add____%eax,%eax 01c0
28 DEFINE add____%ebp,%eax 01e8
29 DEFINE add____%edx,%eax 01d0
30 DEFINE add____%edx,%eax 01d0
31 DEFINE and____%edx,%eax 21d0
33 DEFINE call___*%eax ffd0
34 DEFINE cmp____$i8,%eax 83f8
35 DEFINE cmp____$i8,0x8(%ebp) 83x7d
36 DEFINE cmp____%al,%dl 38c2
37 DEFINE cmp____%edx,%eax 39d0
38 DEFINE div____%ebx f7f3
39 DEFINE int____$0x80 cd80
47 DEFINE lea____0x8(%ebp),%eax 8d45
48 DEFINE lea____0x8(%ebp),%edx 8d55
51 DEFINE not____%eax f7d0
52 DEFINE mov____$i32,%eax b8
53 DEFINE mov____$i32,%ebx bb
54 DEFINE mov____$i32,%ecx b9
55 DEFINE mov____$i32,%edx ba
56 DEFINE mov____$i32,(%eax) c700
57 DEFINE mov____$i32,0x32 c705
58 DEFINE mov____$i32,0x8(%eax) c740
59 DEFINE mov____$i32,0x8(%ebp) c745
60 DEFINE mov____%al,(%edx) 8802
61 DEFINE mov____%dl,(%eax) 8810
62 DEFINE mov____%dl,0x8(%eax) 8850
63 DEFINE mov____%eax,%ebx 89c3
64 DEFINE mov____%eax,%edx 89c2
65 DEFINE mov____%eax,(%edx) 8902
66 DEFINE mov____%eax,0x32 a3
67 DEFINE mov____%eax,0x8(%ebp) 8945
68 DEFINE mov____%eax,0x8(%edx) 8942
69 DEFINE mov____%ebp,%eax 89e8
70 DEFINE mov____%ebp,%edx 89ea
71 DEFINE mov____%ecx,%(eax) 8908
72 DEFINE mov____%edx,%(eax) 8910
73 DEFINE mov____%edx,%eax 89d0
74 DEFINE mov____%edx,%ebx 86d3
75 DEFINE mov____%edx,%ecx 89d1
76 DEFINE mov____%edx,0x8(%ebp) 8955
77 DEFINE mov____%esp,%ebp 89e5
78 DEFINE mov____(%eax),%eax 8b00
79 DEFINE mov____(%edx),%edx 8b12
80 DEFINE mov____(%edx),%ecx 8b0a
81 DEFINE mov____0x32,%eax a1
82 DEFINE mov____0x32,%edx 8b15
83 DEFINE mov____0x8(%eax),%eax 8b40
84 DEFINE mov____0x8(%ebp),%eax 8b45
85 DEFINE mov____0x8(%ebp),%ebx 8b5d
86 DEFINE mov____0x8(%ebp),%ecx 8b4d
87 DEFINE mov____0x8(%ebp),%edx 8b55
88 DEFINE movzbl_%al,%eax 0fb6c0
89 DEFINE movzbl_(%eax),%eax 0fb600
90 DEFINE movzbl_(%eax),%edx 0fb610
91 DEFINE movzbl_(%edx),%edx 0fb612
92 DEFINE movzbl_0x8(%ebp),%eax 0fb645
93 DEFINE movzbl_0x8(%ebp),%edx 0fb655
94 DEFINE mul____%edx f7e2
95 DEFINE or_____%edx,%eax 09d0
100 DEFINE push___%ebp 55
101 DEFINE push___%edox 52
102 DEFINE push___0x8(%ebp) ff75
105 DEFINE sete___%al 0f94c0
106 DEFINE setne__%al 0f95c0
107 DEFINE shl____$i8,%eax c1e0
108 DEFINE shl____%cl,%eax d3e0
109 DEFINE shr____%cl,%eax d3e8
110 DEFINE sub____%al,%dl 28d0
111 DEFINE sub____%dl,%al 28c2
112 DEFINE sub____%eax,%edx 29c2
113 DEFINE sub____%edx,%eax 29d0
114 DEFINE sub____%edx,%eax 29d0
115 DEFINE sub____%esp,$i8 83ec
116 DEFINE test___%al,%al 84c0
117 DEFINE test___%eax,%eax 85c0
118 DEFINE xchg___%dl,%bl 86d3
119 DEFINE xchg___%eax,(%esp) 870424
120 DEFINE xor____$i32,%eax 35
121 DEFINE xor____$i8,%ah 80f4
122 DEFINE xor____%eax,%eax 31c0
123 DEFINE xor____%ebx,%ebx 31db
124 DEFINE xor____%ecx,%ecx 31c9
125 DEFINE xor____%edx,%eax 31d0
126 DEFINE xor____%edx,%edx 31d2
129 DEFINE SYS_exit 01000000
130 DEFINE SYS_read 03000000
131 DEFINE SYS_write 04000000
132 DEFINE SYS_open 05000000
133 DEFINE SYS_access 21000000
134 DEFINE SYS_brk 2d000000
135 DEFINE SYS_fsync 76000000