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

Subversion Repositories eco32

[/] [eco32/] [trunk/] [lcc/] [x86/] [win32/] [tst/] [fields.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
_DATA segment
6
public _x
7
align 4
8
_x label byte
9
dd 1
10
db 2
11
db 3 dup (0)
12
db 03H
13
db 040H
14
db 2 dup (0)
15
db 050H
16
db 6
17
db 2 dup (0)
18
public _i
19
align 4
20
_i label byte
21
dd 16
22
public _y
23
align 4
24
_y label byte
25
db 023H
26
db 3 dup (0)
27
db 09H
28
db 00H
29
db 00H
30
db 00H
31
public _main
32
_DATA ends
33
_TEXT segment
34
_main:
35
push ebx
36
push esi
37
push edi
38
push ebp
39
mov ebp,esp
40
movsx edi,byte ptr (_x+13)
41
push edi
42
mov edi,dword ptr (_x+12)
43
sal edi,25
44
sar edi,29
45
push edi
46
mov edi,dword ptr (_x+8)
47
sal edi,16
48
sar edi,28
49
push edi
50
mov edi,dword ptr (_x+8)
51
sal edi,20
52
sar edi,20
53
push edi
54
movsx edi,byte ptr (_x+4)
55
push edi
56
mov edi,dword ptr (_x)
57
push edi
58
lea edi,(L4)
59
push edi
60
call _printf
61
add esp,28
62
mov edi,dword ptr (_y+4)
63
push edi
64
mov edi,dword ptr (_y)
65
mov esi,edi
66
shr esi,2
67
and esi,15
68
push esi
69
and edi,3
70
push edi
71
lea edi,(L10)
72
push edi
73
call _printf
74
add esp,16
75
mov edi,dword ptr (_x+8)
76
and edi,0ffff0fffH
77
mov esi,dword ptr (_i)
78
sal esi,28
79
sar esi,28
80
shl esi,12
81
and esi,0f000H
82
or edi,esi
83
mov dword ptr (_x+8),edi
84
mov edi,dword ptr (_x+12)
85
and edi,0ffffff8fH
86
mov dword ptr (_x+12),edi
87
movsx edi,byte ptr (_x+13)
88
push edi
89
mov edi,dword ptr (_x+12)
90
sal edi,25
91
sar edi,29
92
push edi
93
mov edi,dword ptr (_x+8)
94
sal edi,16
95
sar edi,28
96
push edi
97
mov edi,dword ptr (_x+8)
98
sal edi,20
99
sar edi,20
100
push edi
101
movsx edi,byte ptr (_x+4)
102
push edi
103
mov edi,dword ptr (_x)
104
push edi
105
lea edi,(L4)
106
push edi
107
call _printf
108
add esp,28
109
mov edi,dword ptr (_y)
110
and edi,0fffffffcH
111
or edi,2
112
mov dword ptr (_y),edi
113
mov edi,dword ptr (_i)
114
mov dword ptr (_y+4),edi
115
mov edi,dword ptr (_y+4)
116
push edi
117
mov edi,dword ptr (_y)
118
mov esi,edi
119
shr esi,2
120
and esi,15
121
push esi
122
and edi,3
123
push edi
124
lea edi,(L10)
125
push edi
126
call _printf
127
add esp,16
128
lea edi,(_x)
129
push edi
130
call _f2
131
add esp,4
132
mov eax,0
133
L3:
134
mov esp,ebp
135
pop ebp
136
pop edi
137
pop esi
138
pop ebx
139
ret
140
public _f1
141
_f1:
142
push ebx
143
push esi
144
push edi
145
push ebp
146
mov ebp,esp
147
mov edi,dword ptr (20)[ebp]
148
and dword ptr [edi],0ffffffc3H
149
mov edi,dword ptr (20)[ebp]
150
mov esi,dword ptr [edi]
151
and esi,0fffffffcH
152
mov ebx,0
153
and ebx,3
154
and ebx,3
155
or esi,ebx
156
mov dword ptr [edi],esi
157
mov edi,dword ptr (20)[ebp]
158
mov edi,dword ptr [edi]
159
and edi,60
160
cmp edi,0
161
je L22
162
lea edi,(L24)
163
push edi
164
call _printf
165
add esp,4
166
L22:
167
mov edi,dword ptr (20)[ebp]
168
or dword ptr [edi],3
169
mov edi,dword ptr (20)[ebp]
170
or dword ptr [edi],60
171
mov edi,dword ptr (20)[ebp]
172
mov edi,dword ptr [edi]
173
mov esi,edi
174
shr esi,2
175
and esi,15
176
push esi
177
and edi,3
178
push edi
179
lea edi,(L25)
180
push edi
181
call _printf
182
add esp,12
183
mov eax,0
184
L21:
185
mov esp,ebp
186
pop ebp
187
pop edi
188
pop esi
189
pop ebx
190
ret
191
public _f2
192
_f2:
193
push ebx
194
push esi
195
push edi
196
push ebp
197
mov ebp,esp
198
sub esp,4
199
cmp dword ptr (_i),0
200
jne L28
201
mov dword ptr (-4)[ebp],1
202
jmp L29
203
L28:
204
mov dword ptr (-4)[ebp],0
205
L29:
206
mov edi,dword ptr (20)[ebp]
207
mov esi,dword ptr [edi]
208
and esi,0fffffffcH
209
mov ebx,dword ptr (-4)[ebp]
210
and ebx,3
211
and ebx,3
212
or esi,ebx
213
mov dword ptr [edi],esi
214
mov edi,dword ptr (20)[ebp]
215
push edi
216
call _f1
217
add esp,4
218
mov esi,dword ptr [edi]
219
and esi,0ffffffc3H
220
mov ebx,0
221
and ebx,15
222
lea ebx,[ebx*4]
223
and ebx,60
224
or esi,ebx
225
mov dword ptr [edi],esi
226
mov eax,0
227
L26:
228
mov esp,ebp
229
pop ebp
230
pop edi
231
pop esi
232
pop ebx
233
ret
234
_TEXT ends
235
extrn _printf:near
236
_TEXT segment
237
_TEXT ends
238
_TEXT segment
239
align 1
240
L25 label byte
241
db 112
242
db 45
243
db 62
244
db 97
245
db 32
246
db 61
247
db 32
248
db 48
249
db 120
250
db 37
251
db 120
252
db 44
253
db 32
254
db 112
255
db 45
256
db 62
257
db 98
258
db 32
259
db 61
260
db 32
261
db 48
262
db 120
263
db 37
264
db 120
265
db 10
266
db 0
267
align 1
268
L24 label byte
269
db 112
270
db 45
271
db 62
272
db 98
273
db 32
274
db 33
275
db 61
276
db 32
277
db 48
278
db 33
279
db 10
280
db 0
281
align 1
282
L10 label byte
283
db 121
284
db 32
285
db 61
286
db 32
287
db 37
288
db 100
289
db 32
290
db 37
291
db 100
292
db 32
293
db 37
294
db 100
295
db 10
296
db 0
297
align 1
298
L4 label byte
299
db 120
300
db 32
301
db 61
302
db 32
303
db 37
304
db 100
305
db 32
306
db 37
307
db 100
308
db 32
309
db 37
310
db 100
311
db 32
312
db 37
313
db 100
314
db 32
315
db 37
316
db 100
317
db 32
318
db 37
319
db 100
320
db 10
321
db 0
322
_TEXT ends
323
end

powered by: WebSVN 2.1.0

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