* added compilers lcc and bcc (linux86)
[mascara-docs.git] / compilers / lcc-4.2 / x86 / win32 / tst / stdarg.sbk
blobd91235671a5335cf8ec9467f9b3a5bba63a91fa3
1 .486
2 .model flat
3 extrn __fltused:near
4 extrn __ftol:near
5 _DATA segment
6 public _x
7 align 4
8 _x label byte
9 dd 1
10 dd 2
11 dd 3
12 dd 4
13 public _main
14 _DATA ends
15 _TEXT segment
16 _main:
17 push ebx
18 push esi
19 push edi
20 push ebp
21 mov ebp,esp
22 sub esp,8
23 lea edi,(L2)
24 push edi
25 call _print
26 add esp,4
27 lea edi,(L4)
28 push edi
29 lea edi,(L3)
30 push edi
31 call _print
32 add esp,8
33 push 10
34 push 3
35 lea edi,(L5)
36 push edi
37 call _print
38 add esp,12
39 push 10
40 push 4
41 lea edi,(L8)
42 push edi
43 lea edi,(L7)
44 push edi
45 lea edi,(L6)
46 push edi
47 call _print
48 add esp,20
49 push 10
50 fld qword ptr (L10)
51 sub esp,8
52 fstp qword ptr [esp]
53 lea edi,(L8)
54 push edi
55 lea edi,(L7)
56 push edi
57 lea edi,(L9)
58 push edi
59 call _print
60 add esp,24
61 lea edi,(_x)
62 mov dword ptr (-8)[ebp],edi
63 mov esi,edi
64 mov dword ptr (-4)[ebp],esi
65 sub esp,16
66 mov edi,esp
67 mov ecx,16
68 rep movsb
69 mov edi,dword ptr (-8)[ebp]
70 mov esi,edi
71 sub esp,16
72 mov edi,esp
73 mov ecx,16
74 rep movsb
75 mov edi,dword ptr (-8)[ebp]
76 mov esi,edi
77 sub esp,16
78 mov edi,esp
79 mov ecx,16
80 rep movsb
81 mov edi,dword ptr (-8)[ebp]
82 mov esi,edi
83 sub esp,16
84 mov edi,esp
85 mov ecx,16
86 rep movsb
87 mov edi,dword ptr (-8)[ebp]
88 mov esi,edi
89 sub esp,16
90 mov edi,esp
91 mov ecx,16
92 rep movsb
93 mov edi,dword ptr (-8)[ebp]
94 mov esi,edi
95 sub esp,16
96 mov edi,esp
97 mov ecx,16
98 rep movsb
99 lea edi,(L11)
100 push edi
101 call _print
102 add esp,100
103 mov eax,0
105 mov esp,ebp
106 pop ebp
107 pop edi
108 pop esi
109 pop ebx
111 public _print
112 _print:
113 push ebx
114 push esi
115 push edi
116 push ebp
117 mov ebp,esp
118 sub esp,28
119 lea edi,(24)[ebp]
120 mov dword ptr (-4)[ebp],edi
121 jmp L17
122 L14:
123 mov edi,dword ptr (20)[ebp]
124 movsx edi,byte ptr [edi]
125 cmp edi,37
126 jne L18
127 mov edi,dword ptr (20)[ebp]
128 lea edi,(1)[edi]
129 mov dword ptr (20)[ebp],edi
130 movsx edi,byte ptr [edi]
131 mov dword ptr (-8)[ebp],edi
132 mov edi,dword ptr (-8)[ebp]
133 cmp edi,115
134 je L34
135 cmp edi,115
136 jg L39
137 L38:
138 mov edi,dword ptr (-8)[ebp]
139 cmp edi,98
140 jl L20
141 cmp edi,102
142 jg L20
143 jmp dword ptr (L40-392)[edi*4]
144 _TEXT ends
145 _TEXT segment
146 align 4
147 L40 label byte
148 dd L23
149 dd L28
150 dd L30
151 dd L20
152 dd L36
153 _TEXT ends
154 _TEXT segment
155 L39:
156 cmp dword ptr (-8)[ebp],119
157 je L32
158 jmp L20
159 L23:
160 mov edi,dword ptr (-4)[ebp]
161 lea edi,(16)[edi]
162 mov dword ptr (-28)[ebp],edi
163 mov dword ptr (-4)[ebp],edi
164 lea edi,(-24)[ebp]
165 mov esi,dword ptr (-28)[ebp]
166 lea esi,(-16)[esi]
167 mov ecx,16
168 rep movsb
169 mov edi,dword ptr (-12)[ebp]
170 push edi
171 mov edi,dword ptr (-16)[ebp]
172 push edi
173 mov edi,dword ptr (-20)[ebp]
174 push edi
175 mov edi,dword ptr (-24)[ebp]
176 push edi
177 lea edi,(L24)
178 push edi
179 call _printf
180 add esp,20
181 jmp L19
182 L28:
183 mov edi,dword ptr (-4)[ebp]
184 lea edi,(4)[edi]
185 mov dword ptr (-4)[ebp],edi
186 movsx edi,byte ptr (-4)[edi]
187 push edi
188 lea edi,(L29)
189 push edi
190 call _printf
191 add esp,8
192 jmp L19
193 L30:
194 mov edi,dword ptr (-4)[ebp]
195 lea edi,(4)[edi]
196 mov dword ptr (-4)[ebp],edi
197 mov edi,dword ptr (-4)[edi]
198 push edi
199 lea edi,(L31)
200 push edi
201 call _printf
202 add esp,8
203 jmp L19
204 L32:
205 mov edi,dword ptr (-4)[ebp]
206 lea edi,(4)[edi]
207 mov dword ptr (-4)[ebp],edi
208 movsx edi,word ptr (-4)[edi]
209 push edi
210 lea edi,(L33)
211 push edi
212 call _printf
213 add esp,8
214 jmp L19
215 L34:
216 mov edi,dword ptr (-4)[ebp]
217 lea edi,(4)[edi]
218 mov dword ptr (-4)[ebp],edi
219 mov edi,dword ptr (-4)[edi]
220 push edi
221 lea edi,(L35)
222 push edi
223 call _printf
224 add esp,8
225 jmp L19
226 L36:
227 mov edi,dword ptr (-4)[ebp]
228 lea edi,(8)[edi]
229 mov dword ptr (-4)[ebp],edi
230 fld qword ptr (-8)[edi]
231 sub esp,8
232 fstp qword ptr [esp]
233 lea edi,(L37)
234 push edi
235 call _printf
236 add esp,12
237 jmp L19
238 L20:
239 mov edi,dword ptr (20)[ebp]
240 movsx edi,byte ptr [edi]
241 push edi
242 lea edi,(L29)
243 push edi
244 call _printf
245 add esp,8
246 jmp L19
247 L18:
248 mov edi,dword ptr (20)[ebp]
249 movsx edi,byte ptr [edi]
250 push edi
251 lea edi,(L29)
252 push edi
253 call _printf
254 add esp,8
255 L19:
256 L15:
257 inc dword ptr (20)[ebp]
258 L17:
259 mov edi,dword ptr (20)[ebp]
260 movsx edi,byte ptr [edi]
261 cmp edi,0
262 jne L14
263 mov dword ptr (-4)[ebp],0
264 mov eax,0
265 L12:
266 mov esp,ebp
267 pop ebp
268 pop edi
269 pop esi
270 pop ebx
272 _TEXT ends
273 extrn _printf:near
274 _TEXT segment
275 _TEXT ends
276 _TEXT segment
277 align 1
278 L37 label byte
279 db 37
280 db 102
281 db 0
282 align 1
283 L35 label byte
284 db 37
285 db 115
286 db 0
287 align 1
288 L33 label byte
289 db 37
290 db 120
291 db 0
292 align 1
293 L31 label byte
294 db 37
295 db 100
296 db 0
297 align 1
298 L29 label byte
299 db 37
300 db 99
301 db 0
302 align 1
303 L24 label byte
304 db 123
305 db 37
306 db 100
307 db 32
308 db 37
309 db 100
310 db 32
311 db 37
312 db 100
313 db 32
314 db 37
315 db 100
316 db 125
317 db 0
318 align 1
319 L11 label byte
320 db 37
321 db 98
322 db 32
323 db 37
324 db 98
325 db 32
326 db 37
327 db 98
328 db 32
329 db 37
330 db 98
331 db 32
332 db 37
333 db 98
334 db 32
335 db 37
336 db 98
337 db 10
338 db 0
339 align 4
340 L10 label byte
341 dd 00H
342 dd 040140000H
343 align 1
344 L9 label byte
345 db 37
346 db 115
347 db 37
348 db 115
349 db 32
350 db 37
351 db 102
352 db 37
353 db 99
354 db 0
355 align 1
356 L8 label byte
357 db 115
358 db 116
359 db 0
360 align 1
361 L7 label byte
362 db 116
363 db 101
364 db 0
365 align 1
366 L6 label byte
367 db 37
368 db 115
369 db 37
370 db 115
371 db 32
372 db 37
373 db 119
374 db 37
375 db 99
376 db 0
377 align 1
378 L5 label byte
379 db 116
380 db 101
381 db 115
382 db 116
383 db 32
384 db 37
385 db 100
386 db 37
387 db 99
388 db 0
389 align 1
390 L4 label byte
391 db 50
392 db 0
393 align 1
394 L3 label byte
395 db 116
396 db 101
397 db 115
398 db 116
399 db 32
400 db 37
401 db 115
402 db 10
403 db 0
404 align 1
405 L2 label byte
406 db 116
407 db 101
408 db 115
409 db 116
410 db 32
411 db 49
412 db 10
413 db 0
414 _TEXT ends