OpenCores
URL https://opencores.org/ocsvn/eco32/eco32/trunk

Subversion Repositories eco32

[/] [eco32/] [trunk/] [lcc/] [x86/] [win32/] [tst/] [struct.sbk] - Blame information for rev 58

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 hellwig
.486
2
.model flat
3
extrn __fltused:near
4
extrn __ftol:near
5
public _addpoint
6
_TEXT segment
7
_addpoint:
8
push ebx
9
push esi
10
push edi
11
push ebp
12
mov ebp,esp
13
mov edi,dword ptr (32)[ebp]
14
add dword ptr (24)[ebp],edi
15
mov edi,dword ptr (36)[ebp]
16
add dword ptr (28)[ebp],edi
17
mov edi,dword ptr (20)[ebp]
18
lea esi,(24)[ebp]
19
mov ecx,8
20
rep movsb
21
L1:
22
mov esp,ebp
23
pop ebp
24
pop edi
25
pop esi
26
pop ebx
27
ret
28
public _canonrect
29
_canonrect:
30
push ebx
31
push esi
32
push edi
33
push ebp
34
mov ebp,esp
35
sub esp,32
36
mov edi,dword ptr (32)[ebp]
37
cmp dword ptr (24)[ebp],edi
38
jge L10
39
mov edi,dword ptr (24)[ebp]
40
mov dword ptr (-20)[ebp],edi
41
jmp L11
42
L10:
43
mov edi,dword ptr (32)[ebp]
44
mov dword ptr (-20)[ebp],edi
45
L11:
46
mov edi,dword ptr (-20)[ebp]
47
mov dword ptr (-16)[ebp],edi
48
mov edi,dword ptr (36)[ebp]
49
cmp dword ptr (28)[ebp],edi
50
jge L20
51
mov edi,dword ptr (28)[ebp]
52
mov dword ptr (-24)[ebp],edi
53
jmp L21
54
L20:
55
mov edi,dword ptr (36)[ebp]
56
mov dword ptr (-24)[ebp],edi
57
L21:
58
mov edi,dword ptr (-24)[ebp]
59
mov dword ptr (-12)[ebp],edi
60
mov edi,dword ptr (32)[ebp]
61
cmp dword ptr (24)[ebp],edi
62
jle L26
63
mov edi,dword ptr (24)[ebp]
64
mov dword ptr (-28)[ebp],edi
65
jmp L27
66
L26:
67
mov edi,dword ptr (32)[ebp]
68
mov dword ptr (-28)[ebp],edi
69
L27:
70
mov edi,dword ptr (-28)[ebp]
71
mov dword ptr (-8)[ebp],edi
72
mov edi,dword ptr (36)[ebp]
73
cmp dword ptr (28)[ebp],edi
74
jle L37
75
mov edi,dword ptr (28)[ebp]
76
mov dword ptr (-32)[ebp],edi
77
jmp L38
78
L37:
79
mov edi,dword ptr (36)[ebp]
80
mov dword ptr (-32)[ebp],edi
81
L38:
82
mov edi,dword ptr (-32)[ebp]
83
mov dword ptr (-4)[ebp],edi
84
mov edi,dword ptr (20)[ebp]
85
lea esi,(-16)[ebp]
86
mov ecx,16
87
rep movsb
88
L5:
89
mov esp,ebp
90
pop ebp
91
pop edi
92
pop esi
93
pop ebx
94
ret
95
public _makepoint
96
_makepoint:
97
push ebx
98
push esi
99
push edi
100
push ebp
101
mov ebp,esp
102
sub esp,8
103
mov edi,dword ptr (24)[ebp]
104
mov dword ptr (-8)[ebp],edi
105
mov edi,dword ptr (28)[ebp]
106
mov dword ptr (-4)[ebp],edi
107
mov edi,dword ptr (20)[ebp]
108
lea esi,(-8)[ebp]
109
mov ecx,8
110
rep movsb
111
L39:
112
mov esp,ebp
113
pop ebp
114
pop edi
115
pop esi
116
pop ebx
117
ret
118
public _makerect
119
_makerect:
120
push ebx
121
push esi
122
push edi
123
push ebp
124
mov ebp,esp
125
sub esp,16
126
lea edi,(-16)[ebp]
127
lea esi,(24)[ebp]
128
mov ecx,8
129
rep movsb
130
lea edi,(-8)[ebp]
131
lea esi,(32)[ebp]
132
mov ecx,8
133
rep movsb
134
lea esi,(-16)[ebp]
135
sub esp,16
136
mov edi,esp
137
mov ecx,16
138
rep movsb
139
mov edi,dword ptr (20)[ebp]
140
push edi
141
call _canonrect
142
add esp,20
143
L42:
144
mov esp,ebp
145
pop ebp
146
pop edi
147
pop esi
148
pop ebx
149
ret
150
public _ptinrect
151
_ptinrect:
152
push ebx
153
push esi
154
push edi
155
push ebp
156
mov ebp,esp
157
sub esp,4
158
mov edi,dword ptr (20)[ebp]
159
cmp edi,dword ptr (28)[ebp]
160
jl L53
161
cmp edi,dword ptr (36)[ebp]
162
jge L53
163
mov edi,dword ptr (32)[ebp]
164
cmp dword ptr (24)[ebp],edi
165
jl L53
166
mov edi,dword ptr (40)[ebp]
167
cmp dword ptr (24)[ebp],edi
168
jge L53
169
mov dword ptr (-4)[ebp],1
170
jmp L54
171
L53:
172
mov dword ptr (-4)[ebp],0
173
L54:
174
mov eax,dword ptr (-4)[ebp]
175
L45:
176
mov esp,ebp
177
pop ebp
178
pop edi
179
pop esi
180
pop ebx
181
ret
182
_TEXT ends
183
_DATA segment
184
public _y
185
align 1
186
_y label byte
187
db 97
188
db 98
189
db 0
190
public _odd
191
_DATA ends
192
_TEXT segment
193
_odd:
194
push ebx
195
push esi
196
push edi
197
push ebp
198
mov ebp,esp
199
sub esp,4
200
lea edi,(-4)[ebp]
201
lea esi,(20)[ebp]
202
mov ecx,3
203
rep movsb
204
lea edi,(-4)[ebp]
205
push edi
206
lea edi,(L56)
207
push edi
208
call _printf
209
add esp,8
210
mov eax,0
211
L55:
212
mov esp,ebp
213
pop ebp
214
pop edi
215
pop esi
216
pop ebx
217
ret
218
_TEXT ends
219
_TEXT segment
220
align 4
221
L58 label byte
222
dd 0
223
dd 0
224
align 4
225
L59 label byte
226
dd 320
227
dd 320
228
align 4
229
L60 label byte
230
dd -1
231
dd -1
232
dd 1
233
dd 1
234
dd 20
235
dd 300
236
dd 500
237
dd 400
238
public _main
239
_TEXT ends
240
_TEXT segment
241
_main:
242
push ebx
243
push esi
244
push edi
245
push ebp
246
mov ebp,esp
247
sub esp,108
248
lea edi,(-68)[ebp]
249
lea esi,(L58)
250
mov ecx,8
251
rep movsb
252
lea edi,(-76)[ebp]
253
lea esi,(L59)
254
mov ecx,8
255
rep movsb
256
lea edi,(-36)[ebp]
257
lea esi,(L60)
258
mov ecx,32
259
rep movsb
260
push -10
261
push -10
262
lea edi,(-84)[ebp]
263
push edi
264
call _makepoint
265
add esp,12
266
lea esi,(-84)[ebp]
267
sub esp,8
268
mov edi,esp
269
mov ecx,8
270
rep movsb
271
lea esi,(-76)[ebp]
272
sub esp,8
273
mov edi,esp
274
mov ecx,8
275
rep movsb
276
lea edi,(-92)[ebp]
277
push edi
278
call _addpoint
279
add esp,20
280
push 10
281
push 10
282
lea edi,(-100)[ebp]
283
push edi
284
call _makepoint
285
add esp,12
286
lea esi,(-100)[ebp]
287
sub esp,8
288
mov edi,esp
289
mov ecx,8
290
rep movsb
291
lea esi,(-68)[ebp]
292
sub esp,8
293
mov edi,esp
294
mov ecx,8
295
rep movsb
296
lea edi,(-108)[ebp]
297
push edi
298
call _addpoint
299
add esp,20
300
lea esi,(-108)[ebp]
301
sub esp,8
302
mov edi,esp
303
mov ecx,8
304
rep movsb
305
lea esi,(-92)[ebp]
306
sub esp,8
307
mov edi,esp
308
mov ecx,8
309
rep movsb
310
lea edi,(-52)[ebp]
311
push edi
312
call _makerect
313
add esp,20
314
mov dword ptr (-4)[ebp],0
315
jmp L64
316
L61:
317
mov edi,dword ptr (-4)[ebp]
318
lea edi,[edi*8]
319
mov esi,dword ptr (-32)[ebp][edi]
320
push esi
321
mov edi,dword ptr (-36)[ebp][edi]
322
push edi
323
lea edi,(-60)[ebp]
324
push edi
325
call _makepoint
326
add esp,12
327
mov edi,dword ptr (-56)[ebp]
328
push edi
329
mov edi,dword ptr (-4)[ebp]
330
mov edi,dword ptr (-36)[ebp][edi*8]
331
push edi
332
lea edi,(L65)
333
push edi
334
call _printf
335
add esp,12
336
lea esi,(-52)[ebp]
337
sub esp,16
338
mov edi,esp
339
mov ecx,16
340
rep movsb
341
lea esi,(-60)[ebp]
342
sub esp,8
343
mov edi,esp
344
mov ecx,8
345
rep movsb
346
call _ptinrect
347
add esp,24
348
cmp eax,0
349
jne L68
350
lea edi,(L70)
351
push edi
352
call _printf
353
add esp,4
354
L68:
355
mov edi,dword ptr (-40)[ebp]
356
push edi
357
mov edi,dword ptr (-44)[ebp]
358
push edi
359
mov edi,dword ptr (-48)[ebp]
360
push edi
361
mov edi,dword ptr (-52)[ebp]
362
push edi
363
lea edi,(L71)
364
push edi
365
call _printf
366
add esp,20
367
L62:
368
inc dword ptr (-4)[ebp]
369
L64:
370
mov edi,dword ptr (-4)[ebp]
371
cmp edi,4
372
jb L61
373
lea esi,(_y)
374
sub esp,4
375
mov edi,esp
376
mov ecx,3
377
rep movsb
378
call _odd
379
add esp,3
380
push 0
381
call _exit
382
add esp,4
383
mov eax,0
384
L57:
385
mov esp,ebp
386
pop ebp
387
pop edi
388
pop esi
389
pop ebx
390
ret
391
_TEXT ends
392
extrn _exit:near
393
_TEXT segment
394
_TEXT ends
395
extrn _printf:near
396
_TEXT segment
397
_TEXT ends
398
_TEXT segment
399
align 1
400
L71 label byte
401
db 119
402
db 105
403
db 116
404
db 104
405
db 105
406
db 110
407
db 32
408
db 91
409
db 37
410
db 100
411
db 44
412
db 37
413
db 100
414
db 59
415
db 32
416
db 37
417
db 100
418
db 44
419
db 37
420
db 100
421
db 93
422
db 10
423
db 0
424
align 1
425
L70 label byte
426
db 110
427
db 111
428
db 116
429
db 32
430
db 0
431
align 1
432
L65 label byte
433
db 40
434
db 37
435
db 100
436
db 44
437
db 37
438
db 100
439
db 41
440
db 32
441
db 105
442
db 115
443
db 32
444
db 0
445
align 1
446
L56 label byte
447
db 37
448
db 115
449
db 10
450
db 0
451
_TEXT ends
452
end

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.