* added compilers lcc and bcc (linux86)
[mascara-docs.git] / compilers / lcc-4.2 / x86 / win32 / tst / spill.sbk
blob3e3f7c893a13d8107e5e43ec10be736fa42c7b8e
1 .486
2 .model flat
3 extrn __fltused:near
4 extrn __ftol:near
5 public _main
6 _TEXT segment
7 _main:
8 push ebx
9 push esi
10 push edi
11 push ebp
12 mov ebp,esp
13 mov eax,0
14 L1:
15 mov esp,ebp
16 pop ebp
17 pop edi
18 pop esi
19 pop ebx
20 ret
21 public _f
22 _f:
23 push ebx
24 push esi
25 push edi
26 push ebp
27 mov ebp,esp
28 call _f
29 add esp,0
30 mov edi,eax
31 call _f
32 add esp,0
33 lea edi,[eax][edi]
34 mov dword ptr (20)[ebp],edi
35 mov eax,0
36 L2:
37 mov esp,ebp
38 pop ebp
39 pop edi
40 pop esi
41 pop ebx
42 ret
43 public _f2
44 _f2:
45 push ebx
46 push esi
47 push edi
48 push ebp
49 mov ebp,esp
50 sub esp,4
51 call _f
52 add esp,0
53 mov edi,eax
54 cmp dword ptr (20)[ebp],0
55 je L5
56 call _f
57 add esp,0
58 mov esi,eax
59 mov dword ptr (-4)[ebp],esi
60 jmp L6
61 L5:
62 mov dword ptr (-4)[ebp],1
63 L6:
64 mov esi,dword ptr (-4)[ebp]
65 lea edi,[esi][edi]
66 mov dword ptr (20)[ebp],edi
67 mov eax,0
68 L3:
69 mov esp,ebp
70 pop ebp
71 pop edi
72 pop esi
73 pop ebx
74 ret
75 public _f3
76 _f3:
77 push ebx
78 push esi
79 push edi
80 push ebp
81 mov ebp,esp
82 sub esp,44
83 mov dword ptr (-4)[ebp],0
84 mov dword ptr (-8)[ebp],0
85 mov dword ptr (-12)[ebp],0
86 mov dword ptr (-16)[ebp],0
87 mov dword ptr (-20)[ebp],0
88 mov dword ptr (-24)[ebp],0
89 mov dword ptr (-28)[ebp],0
90 mov dword ptr (-32)[ebp],0
91 mov dword ptr (-36)[ebp],0
92 mov dword ptr (-40)[ebp],0
93 mov edi,dword ptr (24)[ebp]
94 lea esi,(4)[edi]
95 mov dword ptr (24)[ebp],esi
96 cmp dword ptr (20)[ebp],0
97 je L9
98 call _f
99 add esp,0
100 mov esi,eax
101 mov dword ptr (-44)[ebp],esi
102 jmp L10
104 mov dword ptr (-44)[ebp],0
105 L10:
106 mov esi,dword ptr (-44)[ebp]
107 mov dword ptr [edi],esi
108 mov eax,0
110 mov esp,ebp
111 pop ebp
112 pop edi
113 pop esi
114 pop ebx
116 public _f4
117 _f4:
118 push ebx
119 push esi
120 push edi
121 push ebp
122 mov ebp,esp
123 sub esp,52
124 mov dword ptr (-4)[ebp],0
125 mov dword ptr (-8)[ebp],0
126 mov dword ptr (-12)[ebp],0
127 mov dword ptr (-16)[ebp],0
128 mov dword ptr (-20)[ebp],0
129 mov dword ptr (-24)[ebp],0
130 mov edi,dword ptr (_i)
131 lea esi,[edi*8]
132 fld qword ptr (_a)[esi]
133 fstp qword ptr (-36)[ebp]
134 fld qword ptr (_b)[esi]
135 fstp qword ptr (-44)[ebp]
136 fld qword ptr (-36)[ebp]
137 fadd qword ptr (-44)[ebp]
138 fld qword ptr (L15)
139 fcompp
140 fstsw ax
141 sahf
142 jp L16
143 je L13
144 L16:
145 cmp edi,0
146 je L13
147 fld qword ptr (-36)[ebp]
148 fsub qword ptr (-44)[ebp]
149 fld qword ptr (L15)
150 fcompp
151 fstsw ax
152 sahf
153 jp L17
154 je L13
155 L17:
156 mov dword ptr (-28)[ebp],1
157 jmp L14
158 L13:
159 mov dword ptr (-28)[ebp],0
160 L14:
161 mov edi,dword ptr (-28)[ebp]
162 mov dword ptr (_i),edi
163 mov eax,0
164 L11:
165 mov esp,ebp
166 pop ebp
167 pop edi
168 pop esi
169 pop ebx
171 public _f5
172 _f5:
173 push ebx
174 push esi
175 push edi
176 push ebp
177 mov ebp,esp
178 mov edi,dword ptr (_k)
179 mov esi,dword ptr (_m)
180 mov ebx,dword ptr (_A)
181 mov edx,edi
182 imul edx,esi
183 lea edx,[ebx][edx*8]
184 mov ecx,dword ptr (_j)
185 mov eax,ecx
186 imul eax,esi
187 lea esi,[ebx][eax*8]
188 mov ebx,dword ptr (_n)
189 mov eax,dword ptr (_B)
190 imul edi,ebx
191 lea edi,[eax][edi*8]
192 imul ecx,ebx
193 lea ebx,[eax][ecx*8]
194 fld qword ptr [edx]
195 fmul qword ptr [esi]
196 fld qword ptr [edi]
197 fmul qword ptr [ebx]
198 faddp st(1),st
199 fstp qword ptr (_x)
200 fld qword ptr [edx]
201 fmul qword ptr [ebx]
202 fld qword ptr [edi]
203 fmul qword ptr [esi]
204 fsubp st(1),st
205 fstp qword ptr (_x)
206 mov eax,0
207 L18:
208 mov esp,ebp
209 pop ebp
210 pop edi
211 pop esi
212 pop ebx
214 _TEXT ends
215 _DATA segment
216 public _x
217 align 4
218 _x label byte
219 db 8 dup (0)
220 public _B
221 align 4
222 _B label byte
223 db 4 dup (0)
224 public _A
225 align 4
226 _A label byte
227 db 4 dup (0)
228 public _n
229 align 4
230 _n label byte
231 db 4 dup (0)
232 public _m
233 align 4
234 _m label byte
235 db 4 dup (0)
236 public _k
237 align 4
238 _k label byte
239 db 4 dup (0)
240 public _j
241 align 4
242 _j label byte
243 db 4 dup (0)
244 public _i
245 align 4
246 _i label byte
247 db 4 dup (0)
248 public _b
249 align 4
250 _b label byte
251 db 80 dup (0)
252 public _a
253 align 4
254 _a label byte
255 db 80 dup (0)
256 _DATA ends
257 _TEXT segment
258 align 4
259 L15 label byte
260 dd 00H
261 dd 00H
262 _TEXT ends