smalltalk-tng

view experiments/codegen/t.s @ 321:c4a0718c2d3c

Sketch of dependencies
author Tony Garnock-Jones <tonygarnockjones@gmail.com>
date Sat Oct 08 15:36:03 2011 -0400 (7 months ago)
parents 9a6213e86de1
children
line source
1 .text
2 _foo:
3 /* movl 4(%eax), %eax */
5 // 8B ========
7 // done
8 movl 131071(%eax), %eax // 80 10000000
9 movl 131071(%eax), %ecx // 88 10001000
10 movl 131071(%eax), %edx // 90 10010000
11 movl 131071(%eax), %ebx // 98 10011000
12 movl 131071(%eax), %esp // a0 10100000
13 movl 131071(%eax), %ebp // a8 10101000
14 movl 131071(%eax), %esi // b0 10110000
15 movl 131071(%eax), %edi // b8 10111000
17 nop
18 nop
19 nop
20 nop
21 nop
22 nop
23 nop
24 nop
26 // done
27 movl 131071(%eax), %eax // 80 10000000
28 movl 131071(%ecx), %eax // 81 10000001
29 movl 131071(%edx), %eax // 82 10000010
30 movl 131071(%ebx), %eax // 83 10000011
31 movl 131071(%esp), %eax // 84 24 10000100 00100100
32 movl 131071(%ebp), %eax // 85 10000101
33 movl 131071(%esi), %eax // 86 10000110
34 movl 131071(%edi), %eax // 87 10000111
36 nop
37 nop
38 nop
39 nop
40 nop
41 nop
42 nop
43 nop
45 // done
46 movl 127(%eax), %eax // 40 01000000
47 movl 127(%eax), %ecx // 48 01001000
48 movl 127(%eax), %edx // 50 01010000
49 movl 127(%eax), %ebx // 58 01011000
50 movl 127(%eax), %esp // 60 01100000
51 movl 127(%eax), %ebp // 68 01101000
52 movl 127(%eax), %esi // 70 01110000
53 movl 127(%eax), %edi // 78 01111000
55 nop
56 nop
57 nop
58 nop
59 nop
60 nop
61 nop
62 nop
64 // done
65 movl 127(%eax), %eax // 40 01000000
66 movl 127(%ecx), %eax // 41 01000001
67 movl 127(%edx), %eax // 42 01000010
68 movl 127(%ebx), %eax // 43 01000011
69 movl 127(%esp), %eax // 44 01000100
70 movl 127(%ebp), %eax // 45 01000101
71 movl 127(%esi), %eax // 46 01000110
72 movl 127(%edi), %eax // 47 01000111
74 nop
75 nop
76 nop
77 nop
78 nop
79 nop
80 nop
81 nop
83 // done
84 movl (%eax), %eax // 00 00000000
85 movl (%ecx), %eax // 01 00000001
86 movl (%edx), %eax // 02 00000010
87 movl (%ebx), %eax // 03 00000011
88 movl (%esp), %eax // 04 24 00000100 00100100
89 movl (%ebp), %eax // 45 00 (!) 01000101 00000000
90 movl (%esi), %eax // 06 00000110
91 movl (%edi), %eax // 07 00000111
93 nop
94 nop
95 nop
96 nop
97 nop
98 nop
99 nop
100 nop
102 // done
103 movl (%eax), %eax // 00 00000000
104 movl (%eax), %ecx // 08 00001000
105 movl (%eax), %edx // 10 00010000
106 movl (%eax), %ebx // 18 00011000
107 movl (%eax), %esp // 20 00100000
108 movl (%eax), %ebp // 28 00101000
109 movl (%eax), %esi // 30 00110000
110 movl (%eax), %edi // 38 00111000
112 nop
113 nop
114 nop
115 nop
116 nop
117 nop
118 nop
119 nop
121 // done
122 movl 0xabcdabcd, %eax // A1 m
123 movl 0xabcdabcd, %ecx // 8B 0D m 00001101
124 movl 0xabcdabcd, %edx // 8B 15 m 00010101
125 movl 0xabcdabcd, %ebx // 8B 1D m 00011101
126 movl 0xabcdabcd, %esp // 8B 25 m 00100101
127 movl 0xabcdabcd, %ebp // 8B 2D m 00101101
128 movl 0xabcdabcd, %esi // 8B 35 m 00110101
129 movl 0xabcdabcd, %edi // 8B 3D m 00111101
131 nop
132 nop
133 nop
134 nop
135 nop
136 nop
137 nop
138 nop
140 // done
141 movl %eax, 0x00efefef // A3 m
142 movl %ecx, 0x00efefef // 89 0D m 00001101
143 movl %edx, 0x00efefef // 89 15 m 00010101
144 movl %ebx, 0x00efefef // 89 1D m 00011101
145 movl %esp, 0x00efefef // 89 25 m 00100101
146 movl %ebp, 0x00efefef // 89 2D m 00101101
147 movl %esi, 0x00efefef // 89 35 m 00110101
148 movl %edi, 0x00efefef // 89 3D m 00111101
150 nop
151 nop
152 nop
153 nop
154 nop
155 nop
156 nop
157 nop
159 // done
160 movl $0x3e3e3e3e, %eax // B8 i 10111000
161 movl $0x3e3e3e3e, %ecx // B9 i
162 movl $0x3e3e3e3e, %edx // BA i
163 movl $0x3e3e3e3e, %ebx // BB i
164 movl $0x3e3e3e3e, %esp // BC i
165 movl $0x3e3e3e3e, %ebp // BD i
166 movl $0x3e3e3e3e, %esi // BE i
167 movl $0x3e3e3e3e, %edi // BF i
169 nop
170 nop
171 nop
172 nop
173 nop
174 nop
175 nop
176 nop
178 // done
179 movl 127(%eax), %eax // 40 01000000
180 movl 127(%ecx), %ecx // 49 01001001
181 movl 127(%edx), %edx // 52 01010010
182 movl 127(%ebx), %ebx // 5B 01011011
183 movl 127(%esp), %esp // 64 24 01100100
184 movl 127(%ebp), %ebp // 6D 01101101
185 movl 127(%esi), %esi // 76 01110110
186 movl 127(%edi), %edi // 7F 01111111
188 nop
189 nop
190 nop
191 nop
192 nop
193 nop
194 nop
195 nop
197 // 89 ========
199 // done
200 movl %eax, %eax // C0
201 movl %eax, %ecx // C1
202 movl %eax, %edx // C2
203 movl %eax, %ebx // C3
204 movl %eax, %esp // C4
205 movl %eax, %ebp // C5
206 movl %eax, %esi // C6 11000110
207 movl %eax, %edi // C7 11000111
209 nop
210 nop
211 nop
212 nop
213 nop
214 nop
215 nop
216 nop
218 // done
219 movl %eax, %eax // C0
220 movl %ecx, %eax // C8
221 movl %edx, %eax // D0
222 movl %ebx, %eax // D8
223 movl %esp, %eax // E0
224 movl %ebp, %eax // E8
225 movl %esi, %eax // F0 11110000
226 movl %edi, %eax // F8 11111000
228 nop
229 nop
230 nop
231 nop
232 nop
233 nop
234 nop
235 nop
237 movb (%eax), %eax // 8A 00
238 movb 0x66(%eax), %eax // 8A 40 66
239 movb 0x666666(%eax), %eax // 8A 80 66 66 66 00
240 movb (%esp), %edx // 8A 14 24
241 movb 0x66(%esp), %edx // 8A 54 24 66
242 movb 0x666666(%esp), %edx // 8A 94 24 66 66 66 00
243 movb (%esi), %ebx // 8A 1E
244 movb 0x66(%esi), %ebx // 8A 5E 66
245 movb 0x666666(%esi), %ebx // 8A 9E 66 66 66 00
247 nop
248 nop
249 nop
250 nop
251 nop
252 nop
253 nop
254 nop
256 pushl %eax // 50 01010000
257 pushl %ecx
258 pushl %edx
259 pushl %ebx
260 pushl %esp
261 pushl %ebp
262 pushl %esi
263 pushl %edi // 57 01010111
264 popl %eax // 58 01011000
265 popl %ecx
266 popl %edx
267 popl %ebx
268 popl %esp
269 popl %ebp
270 popl %esi
271 popl %edi // 5F 01011111
273 nop
274 nop
275 nop
276 nop
277 nop
278 nop
279 nop
280 nop
282 // 83 ec 0c 11101100
283 // 83 e8 0c 11101000
284 // 83 eb 0c 11101011
285 subl $12, %esp
286 subl $12, %eax
287 subl $12, %ebx
289 // 83 c4 0c 11000100
290 // 83 c0 0c 11000000
291 // 83 c3 0c 11000011
292 addl $12, %esp
293 addl $12, %eax
294 addl $12, %ebx
296 // 81 ec ff ff 01 00
297 // 2d ff ff 01 00
298 // 81 eb ff ff 01 00
299 subl $131071, %esp
300 subl $131071, %eax
301 subl $131071, %ebx
303 // 81 c4 ff ff 01 00
304 // 05 ff ff 01 00
305 // 81 c3 ff ff 01 00
306 addl $131071, %esp
307 addl $131071, %eax
308 addl $131071, %ebx
310 nop
311 nop
312 nop
313 nop
314 nop
315 nop
316 nop
317 nop
319 // movb %bl, %al
320 // movw %bx, %ax
321 // movl %ebx, %eax
323 /*
324 movl 0x34343434, %eax
325 movb 0x34343434, %eax
326 movl x, %eax
327 movb x, %eax
328 x:
329 */
331 subl $12, %edx // 83 ea 0c
332 subb $12, %edx // 80 ea 0c
333 subl $131071, %edx // 81 ea ff ff 01 00
335 addl $25, %edx
336 addb $25, %edx
337 addl $131071, %edx
339 addl $250, %edx
340 addb $250, %edx
341 addl $131071, %edx
343 .subsections_via_symbols