~ubuntu-branches/ubuntu/quantal/gclcvs/quantal

« back to all changes in this revision

Viewing changes to mp/mpi-386_no_under.s

  • Committer: Bazaar Package Importer
  • Author(s): Camm Maguire
  • Date: 2004-06-24 15:13:46 UTC
  • Revision ID: james.westby@ubuntu.com-20040624151346-xh0xaaktyyp7aorc
Tags: 2.7.0-26
C_GC_OFFSET is 2 on m68k-linux

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
        .file   "mpi.c"
 
2
        .version        "01.01"
 
3
gcc2_compiled.:
 
4
.text
 
5
        .align 16
 
6
.globl mulsi
 
7
        .type    mulsi,@function
 
8
mulsi:
 
9
        pushl %ebp
 
10
        movl %esp,%ebp
 
11
        subl $20,%esp
 
12
        pushl %edi
 
13
        pushl %esi
 
14
        pushl %ebx
 
15
        movl 12(%ebp),%ebx
 
16
        movl 4(%ebx),%edx
 
17
        sarl $24,%edx
 
18
        movl %edx,-8(%ebp)
 
19
        movzwl 4(%ebx),%ecx
 
20
        movl %ecx,-12(%ebp)
 
21
        cmpl $0,8(%ebp)
 
22
        je .L3
 
23
        testl %edx,%edx
 
24
        jne .L2
 
25
.L3:
 
26
        movl gzero,%eax
 
27
        jmp .L14
 
28
        .align 16
 
29
.L2:
 
30
        cmpl $0,8(%ebp)
 
31
        jge .L4
 
32
        negl -8(%ebp)
 
33
        negl 8(%ebp)
 
34
        jns .L4
 
35
        pushl %ebx
 
36
        pushl $-2147483648
 
37
        call stoi
 
38
        addl $4,%esp
 
39
        pushl %eax
 
40
        call mulii
 
41
        jmp .L14
 
42
        .align 16
 
43
.L4:
 
44
        movl -12(%ebp),%eax
 
45
        incl %eax
 
46
        pushl %eax
 
47
        call cgeti
 
48
        movl %eax,-16(%ebp)
 
49
        movl $0,-4(%ebp)
 
50
        movl -12(%ebp),%edx
 
51
        leal 0(,%edx,4),%eax
 
52
        addl %eax,%ebx
 
53
        movl %ebx,-20(%ebp)
 
54
        movl -16(%ebp),%ecx
 
55
        leal 4(%eax,%ecx),%esi
 
56
        addl $4,%esp
 
57
        movl %edx,%edi
 
58
        addl $-2,%edi
 
59
        je .L7
 
60
        .align 4
 
61
.L8:
 
62
        addl $-4,%esi
 
63
        movl -4(%ebp),%ebx
 
64
        leal -4(%ebp),%eax
 
65
        pushl %eax
 
66
        addl $-4,-20(%ebp)
 
67
        movl -20(%ebp),%edx
 
68
        movl (%edx),%eax
 
69
        pushl %eax
 
70
        movl 8(%ebp),%ecx
 
71
        pushl %ecx
 
72
        call mulul3
 
73
        addl %ebx,%eax
 
74
        addl $12,%esp
 
75
        cmpl %ebx,%eax
 
76
        jae .L10
 
77
        incl -4(%ebp)
 
78
.L10:
 
79
        movl %eax,(%esi)
 
80
        decl %edi
 
81
        jne .L8
 
82
.L7:
 
83
        cmpl $0,-4(%ebp)
 
84
        je .L12
 
85
        movl -4(%ebp),%eax
 
86
        movl %eax,-4(%esi)
 
87
        movl -16(%ebp),%edx
 
88
        movl 4(%edx),%eax
 
89
        andl $-65536,%eax
 
90
        movl -12(%ebp),%ecx
 
91
        leal 1(%ecx,%eax),%eax
 
92
        movl %eax,4(%edx)
 
93
        jmp .L13
 
94
        .align 16
 
95
.L12:
 
96
        addl $4,avma
 
97
        movl -16(%ebp),%edx
 
98
        movl (%edx),%ecx
 
99
        decl %ecx
 
100
        movl %ecx,4(%edx)
 
101
        addl $4,%edx
 
102
        movl %edx,-16(%ebp)
 
103
        movw -12(%ebp),%cx
 
104
        movw %cx,4(%edx)
 
105
.L13:
 
106
        movb -8(%ebp),%dl
 
107
        movl -16(%ebp),%ecx
 
108
        movb %dl,7(%ecx)
 
109
        movl -16(%ebp),%eax
 
110
.L14:
 
111
        leal -32(%ebp),%esp
 
112
        popl %ebx
 
113
        popl %esi
 
114
        popl %edi
 
115
        movl %ebp,%esp
 
116
        popl %ebp
 
117
        ret
 
118
.Lfe1:
 
119
        .size    mulsi,.Lfe1-mulsi
 
120
        .align 16
 
121
.globl expi
 
122
        .type    expi,@function
 
123
expi:
 
124
        pushl %ebp
 
125
        movl %esp,%ebp
 
126
        pushl %ebx
 
127
        movl 8(%ebp),%eax
 
128
        movzwl 4(%eax),%ebx
 
129
        cmpl $2,%ebx
 
130
        je .L16
 
131
        movl 8(%eax),%eax
 
132
        pushl %eax
 
133
        call bfffo
 
134
        movl %eax,%edx
 
135
        leal -2(%ebx),%eax
 
136
        sall $5,%eax
 
137
        subl %edx,%eax
 
138
        decl %eax
 
139
        jmp .L17
 
140
        .align 16
 
141
.L16:
 
142
        movl $-8388608,%eax
 
143
.L17:
 
144
        movl -4(%ebp),%ebx
 
145
        movl %ebp,%esp
 
146
        popl %ebp
 
147
        ret
 
148
.Lfe2:
 
149
        .size    expi,.Lfe2-expi
 
150
        .align 16
 
151
.globl addsi
 
152
        .type    addsi,@function
 
153
addsi:
 
154
        pushl %ebp
 
155
        movl %esp,%ebp
 
156
        subl $12,%esp
 
157
        pushl %edi
 
158
        pushl %esi
 
159
        pushl %ebx
 
160
        movl 8(%ebp),%esi
 
161
        movl 12(%ebp),%edi
 
162
        testl %esi,%esi
 
163
        jne .L19
 
164
        pushl %edi
 
165
        call icopy
 
166
        jmp .L68
 
167
        .align 16
 
168
.L19:
 
169
        movl 4(%edi),%ebx
 
170
        sarl $24,%ebx
 
171
        movl %ebx,-8(%ebp)
 
172
        jne .L20
 
173
        pushl %esi
 
174
        call stoi
 
175
        jmp .L68
 
176
        .align 16
 
177
.L20:
 
178
        testl %esi,%esi
 
179
        jge .L21
 
180
        movl $-1,-4(%ebp)
 
181
        negl %esi
 
182
        jns .L23
 
183
        pushl %edi
 
184
        pushl $MOST_NEGS
 
185
        call addii
 
186
        jmp .L68
 
187
        .align 16
 
188
.L21:
 
189
        movl $1,-4(%ebp)
 
190
.L23:
 
191
        movzwl 4(%edi),%ebx
 
192
        movl %ebx,-12(%ebp)
 
193
        movl -8(%ebp),%ebx
 
194
        cmpl %ebx,-4(%ebp)
 
195
        jne .L24
 
196
        movl %esi,%edx
 
197
        movl %edx,%eax
 
198
        movl -12(%ebp),%ebx
 
199
        addl -4(%edi,%ebx,4),%eax
 
200
        movl %eax,%esi
 
201
        cmpl %edx,%eax
 
202
        jae .L25
 
203
        movl %ebx,%eax
 
204
        incl %eax
 
205
        pushl %eax
 
206
        call cgeti
 
207
        movl %eax,%ecx
 
208
        movl %esi,(%ecx,%ebx,4)
 
209
        movl -12(%ebp),%edx
 
210
        decl %edx
 
211
        cmpl $2,%edx
 
212
        jle .L32
 
213
        .align 4
 
214
.L31:
 
215
        cmpl $-1,-4(%edi,%edx,4)
 
216
        jne .L27
 
217
        movl $0,(%ecx,%edx,4)
 
218
        decl %edx
 
219
        cmpl $2,%edx
 
220
        jg .L31
 
221
.L27:
 
222
        cmpl $2,%edx
 
223
        jle .L32
 
224
        movl -4(%edi,%edx,4),%ebx
 
225
        incl %ebx
 
226
        movl %ebx,(%ecx,%edx,4)
 
227
        jmp .L69
 
228
        .align 16
 
229
        .align 4
 
230
.L35:
 
231
        movl -4(%edi,%edx,4),%eax
 
232
        movl %eax,(%ecx,%edx,4)
 
233
.L69:
 
234
        decl %edx
 
235
        cmpl $2,%edx
 
236
        jg .L35
 
237
        movl (%ecx),%eax
 
238
        decl %eax
 
239
        movl %eax,4(%ecx)
 
240
        movl %eax,8(%ecx)
 
241
        addl $4,%ecx
 
242
        addl $4,avma
 
243
        jmp .L38
 
244
        .align 16
 
245
.L32:
 
246
        movl $1,8(%ecx)
 
247
        movl (%ecx),%eax
 
248
        movl %eax,4(%ecx)
 
249
        jmp .L38
 
250
        .align 16
 
251
.L25:
 
252
        movl -12(%ebp),%ebx
 
253
        pushl %ebx
 
254
        call cgeti
 
255
        movl %eax,%ecx
 
256
        movl %esi,-4(%ecx,%ebx,4)
 
257
        movl $1,%edx
 
258
        movl -12(%ebp),%eax
 
259
        decl %eax
 
260
        movl %eax,%esi
 
261
        cmpl %eax,%edx
 
262
        jge .L38
 
263
        .align 4
 
264
.L42:
 
265
        movl (%edi,%edx,4),%eax
 
266
        movl %eax,(%ecx,%edx,4)
 
267
        incl %edx
 
268
        cmpl %esi,%edx
 
269
        jl .L42
 
270
.L38:
 
271
        movb -4(%ebp),%bl
 
272
        movb %bl,7(%ecx)
 
273
        jmp .L44
 
274
        .align 16
 
275
.L24:
 
276
        cmpl $3,-12(%ebp)
 
277
        jne .L45
 
278
        cmpl %esi,8(%edi)
 
279
        jbe .L46
 
280
        pushl $3
 
281
        call cgeti
 
282
        movl %eax,%ecx
 
283
        movl -8(%ebp),%eax
 
284
        sall $24,%eax
 
285
        addl $3,%eax
 
286
        movl %eax,4(%ecx)
 
287
        movl 8(%edi),%edi
 
288
        subl %esi,%edi
 
289
        movl %edi,8(%ecx)
 
290
        jmp .L44
 
291
        .align 16
 
292
.L46:
 
293
        cmpl %esi,8(%edi)
 
294
        jne .L47
 
295
        movl gzero,%eax
 
296
        jmp .L68
 
297
        .align 16
 
298
.L47:
 
299
        pushl $3
 
300
        call cgeti
 
301
        movl %eax,%ecx
 
302
        movl -8(%ebp),%eax
 
303
        negl %eax
 
304
        sall $24,%eax
 
305
        addl $3,%eax
 
306
        movl %eax,4(%ecx)
 
307
        subl 8(%edi),%esi
 
308
        movl %esi,8(%ecx)
 
309
        jmp .L44
 
310
        .align 16
 
311
.L45:
 
312
        movl -12(%ebp),%ebx
 
313
        movl -4(%edi,%ebx,4),%edx
 
314
        movl %esi,%eax
 
315
        movl %edx,%esi
 
316
        subl %eax,%esi
 
317
        cmpl %eax,%edx
 
318
        jae .L48
 
319
        pushl %ebx
 
320
        call cgeti
 
321
        movl %eax,%ecx
 
322
        movl %esi,-4(%ecx,%ebx,4)
 
323
        movl -12(%ebp),%edx
 
324
        addl $-2,%edx
 
325
        cmpl $0,(%edi,%edx,4)
 
326
        jne .L50
 
327
        .align 4
 
328
.L52:
 
329
        movl $-1,(%ecx,%edx,4)
 
330
        decl %edx
 
331
        cmpl $0,(%edi,%edx,4)
 
332
        je .L52
 
333
.L50:
 
334
        movl (%edi,%edx,4),%eax
 
335
        decl %eax
 
336
        movl %eax,(%ecx,%edx,4)
 
337
        cmpl $2,%edx
 
338
        jg .L55
 
339
        testl %eax,%eax
 
340
        je .L54
 
341
.L55:
 
342
        decl %edx
 
343
        testl %edx,%edx
 
344
        jle .L44
 
345
        .align 4
 
346
.L59:
 
347
        movl (%edi,%edx,4),%eax
 
348
        movl %eax,(%ecx,%edx,4)
 
349
        decl %edx
 
350
        testl %edx,%edx
 
351
        jg .L59
 
352
        jmp .L44
 
353
        .align 16
 
354
.L54:
 
355
        movl (%ecx),%eax
 
356
        decl %eax
 
357
        movl %eax,4(%ecx)
 
358
        movl %eax,8(%ecx)
 
359
        addl $4,%ecx
 
360
        addl $4,avma
 
361
        movb -8(%ebp),%bl
 
362
        movb %bl,7(%ecx)
 
363
        jmp .L44
 
364
        .align 16
 
365
.L48:
 
366
        movl -12(%ebp),%ebx
 
367
        pushl %ebx
 
368
        call cgeti
 
369
        movl %eax,%ecx
 
370
        movl %esi,-4(%ecx,%ebx,4)
 
371
        movl $1,%edx
 
372
        movl -12(%ebp),%eax
 
373
        decl %eax
 
374
        movl %eax,%esi
 
375
        cmpl %eax,%edx
 
376
        jge .L44
 
377
        .align 4
 
378
.L66:
 
379
        movl (%edi,%edx,4),%eax
 
380
        movl %eax,(%ecx,%edx,4)
 
381
        incl %edx
 
382
        cmpl %esi,%edx
 
383
        jl .L66
 
384
.L44:
 
385
        movl %ecx,%eax
 
386
.L68:
 
387
        leal -24(%ebp),%esp
 
388
        popl %ebx
 
389
        popl %esi
 
390
        popl %edi
 
391
        movl %ebp,%esp
 
392
        popl %ebp
 
393
        ret
 
394
.Lfe3:
 
395
        .size    addsi,.Lfe3-addsi
 
396
        .align 16
 
397
.globl addii
 
398
        .type    addii,@function
 
399
addii:
 
400
        pushl %ebp
 
401
        movl %esp,%ebp
 
402
        subl $32,%esp
 
403
        pushl %edi
 
404
        pushl %esi
 
405
        pushl %ebx
 
406
        movl 8(%ebp),%ecx
 
407
        movzwl 4(%ecx),%ecx
 
408
        movl %ecx,-8(%ebp)
 
409
        movl 12(%ebp),%edi
 
410
        movzwl 4(%edi),%edi
 
411
        movl %edi,-12(%ebp)
 
412
        cmpl %edi,%ecx
 
413
        jge .L71
 
414
        movl 8(%ebp),%ecx
 
415
        movl %ecx,-16(%ebp)
 
416
        movl 12(%ebp),%edi
 
417
        movl %edi,8(%ebp)
 
418
        movl %ecx,12(%ebp)
 
419
        movl -8(%ebp),%ecx
 
420
        movl %ecx,-4(%ebp)
 
421
        movl -12(%ebp),%edi
 
422
        movl %edi,-8(%ebp)
 
423
        movl %ecx,-12(%ebp)
 
424
.L71:
 
425
        movl 12(%ebp),%ecx
 
426
        movl 4(%ecx),%esi
 
427
        sarl $24,%esi
 
428
        jne .L72
 
429
        movl 8(%ebp),%edi
 
430
        pushl %edi
 
431
        call icopy
 
432
        jmp .L135
 
433
        .align 16
 
434
.L72:
 
435
        movl 8(%ebp),%ecx
 
436
        movl 4(%ecx),%ecx
 
437
        sarl $24,%ecx
 
438
        movl %ecx,-4(%ebp)
 
439
        cmpl %esi,%ecx
 
440
        jne .L73
 
441
        movl -8(%ebp),%eax
 
442
        incl %eax
 
443
        pushl %eax
 
444
        call cgeti
 
445
        movl %eax,-16(%ebp)
 
446
        movl $0,-24(%ebp)
 
447
        movl -8(%ebp),%edi
 
448
        leal 0(,%edi,4),%eax
 
449
        movl -16(%ebp),%ecx
 
450
        leal 4(%eax,%ecx),%esi
 
451
        movl 8(%ebp),%ebx
 
452
        addl %eax,%ebx
 
453
        movl -12(%ebp),%edi
 
454
        movl 12(%ebp),%ecx
 
455
        leal (%ecx,%edi,4),%edi
 
456
        movl %edi,-20(%ebp)
 
457
        movl -12(%ebp),%ecx
 
458
        addl $-2,%ecx
 
459
        movl %ecx,-32(%ebp)
 
460
        je .L75
 
461
        .align 4
 
462
.L76:
 
463
        addl $-4,%esi
 
464
        addl $-4,%ebx
 
465
        movl (%ebx),%edi
 
466
        movl %edi,-28(%ebp)
 
467
        addl $-4,-20(%ebp)
 
468
        movl %edi,%edx
 
469
        movl -20(%ebp),%ecx
 
470
        addl (%ecx),%edx
 
471
        cmpl %edi,%edx
 
472
        jae .L77
 
473
        addl -24(%ebp),%edx
 
474
        movl $1,-24(%ebp)
 
475
        jmp .L137
 
476
        .align 16
 
477
.L77:
 
478
        addl -24(%ebp),%edx
 
479
        cmpl %edx,-24(%ebp)
 
480
        seta %al
 
481
        andl $255,%eax
 
482
        movl %eax,-24(%ebp)
 
483
.L137:
 
484
        movl %edx,(%esi)
 
485
        decl -32(%ebp)
 
486
        jne .L76
 
487
.L75:
 
488
        cmpl $0,-24(%ebp)
 
489
        je .L80
 
490
        movl 8(%ebp),%edx
 
491
        addl $8,%edx
 
492
.L81:
 
493
        addl $-4,%ebx
 
494
        movl %ebx,%eax
 
495
        cmpl %edx,%ebx
 
496
        jb .L82
 
497
        cmpl $-1,(%ebx)
 
498
        jne .L83
 
499
        addl $-4,%esi
 
500
        movl $0,(%esi)
 
501
        jmp .L81
 
502
        .align 16
 
503
.L83:
 
504
        addl $-4,%esi
 
505
        movl (%eax),%eax
 
506
        incl %eax
 
507
        jmp .L138
 
508
        .align 16
 
509
        .align 4
 
510
.L87:
 
511
        addl $-4,%esi
 
512
        movl (%eax),%eax
 
513
.L138:
 
514
        movl %eax,(%esi)
 
515
        addl $-4,%ebx
 
516
        movl %ebx,%eax
 
517
        cmpl %edx,%ebx
 
518
        jae .L87
 
519
        jmp .L92
 
520
        .align 16
 
521
.L82:
 
522
        movl -16(%ebp),%edi
 
523
        movl $1,8(%edi)
 
524
        movl 8(%ebp),%ecx
 
525
        movl 4(%ecx),%ecx
 
526
        incl %ecx
 
527
        movl %ecx,4(%edi)
 
528
        jmp .L95
 
529
        .align 16
 
530
.L80:
 
531
        movl -8(%ebp),%edx
 
532
        subl -12(%ebp),%edx
 
533
        je .L92
 
534
        .align 4
 
535
.L93:
 
536
        addl $-4,%esi
 
537
        addl $-4,%ebx
 
538
        movl (%ebx),%eax
 
539
        movl %eax,(%esi)
 
540
        decl %edx
 
541
        jne .L93
 
542
.L92:
 
543
        movl -16(%ebp),%edi
 
544
        movl (%edi),%ecx
 
545
        decl %ecx
 
546
        movl %ecx,4(%edi)
 
547
        movl 8(%ebp),%edi
 
548
        movl 4(%edi),%eax
 
549
        movl -16(%ebp),%ecx
 
550
        movl %eax,8(%ecx)
 
551
        addl $4,%ecx
 
552
        movl %ecx,-16(%ebp)
 
553
        addl $4,avma
 
554
        jmp .L95
 
555
        .align 16
 
556
.L73:
 
557
        movl -12(%ebp),%edi
 
558
        cmpl %edi,-8(%ebp)
 
559
        jne .L96
 
560
        movl 8(%ebp),%ebx
 
561
        addl $8,%ebx
 
562
        movl 12(%ebp),%ecx
 
563
        addl $8,%ecx
 
564
        movl %ecx,-20(%ebp)
 
565
        movl -8(%ebp),%edx
 
566
        addl $-2,%edx
 
567
        je .L105
 
568
        .align 4
 
569
.L99:
 
570
        movl (%ebx),%edi
 
571
        movl %edi,-28(%ebp)
 
572
        addl $4,%ebx
 
573
        movl -20(%ebp),%ecx
 
574
        movl (%ecx),%eax
 
575
        addl $4,%ecx
 
576
        movl %ecx,-20(%ebp)
 
577
        cmpl %edi,%eax
 
578
        ja .L136
 
579
        cmpl %eax,%edi
 
580
        ja .L96
 
581
        decl %edx
 
582
        jne .L99
 
583
.L105:
 
584
        movl gzero,%eax
 
585
        jmp .L135
 
586
        .align 16
 
587
.L136:
 
588
        movl 8(%ebp),%edi
 
589
        movl %edi,-16(%ebp)
 
590
        movl 12(%ebp),%ecx
 
591
        movl %ecx,8(%ebp)
 
592
        movl %edi,12(%ebp)
 
593
        movl %esi,-4(%ebp)
 
594
.L96:
 
595
        movl -8(%ebp),%edi
 
596
        pushl %edi
 
597
        call cgeti
 
598
        movl %eax,-16(%ebp)
 
599
        movl $0,-24(%ebp)
 
600
        leal 0(,%edi,4),%eax
 
601
        movl 8(%ebp),%ebx
 
602
        addl %eax,%ebx
 
603
        movl -12(%ebp),%ecx
 
604
        movl 12(%ebp),%edi
 
605
        leal (%edi,%ecx,4),%ecx
 
606
        movl %ecx,-20(%ebp)
 
607
        movl -16(%ebp),%esi
 
608
        addl %eax,%esi
 
609
        movl -12(%ebp),%edi
 
610
        addl $-2,%edi
 
611
        movl %edi,-32(%ebp)
 
612
        je .L107
 
613
        .align 4
 
614
.L108:
 
615
        addl $-4,%esi
 
616
        addl $-4,%ebx
 
617
        movl (%ebx),%ecx
 
618
        movl %ecx,-28(%ebp)
 
619
        addl $-4,-20(%ebp)
 
620
        movl -20(%ebp),%edi
 
621
        movl (%edi),%eax
 
622
        movl %ecx,%edx
 
623
        subl %eax,%edx
 
624
        subl -24(%ebp),%edx
 
625
        cmpl %ecx,%eax
 
626
        jbe .L109
 
627
        movl $1,-24(%ebp)
 
628
        jmp .L110
 
629
        .align 16
 
630
.L109:
 
631
        cmpl %eax,-28(%ebp)
 
632
        jbe .L110
 
633
        movl $0,-24(%ebp)
 
634
.L110:
 
635
        movl %edx,(%esi)
 
636
        decl -32(%ebp)
 
637
        jne .L108
 
638
.L107:
 
639
        cmpl $0,-24(%ebp)
 
640
        je .L114
 
641
        jmp .L139
 
642
        .align 16
 
643
        .align 4
 
644
.L117:
 
645
        addl $-4,%esi
 
646
        movl $-1,(%esi)
 
647
.L139:
 
648
        addl $-4,%ebx
 
649
        movl (%ebx),%eax
 
650
        testl %eax,%eax
 
651
        je .L117
 
652
        movl 8(%ebp),%edx
 
653
        addl $8,%edx
 
654
        cmpl %edx,%ebx
 
655
        jb .L124
 
656
        addl $-4,%esi
 
657
        decl %eax
 
658
        movl %eax,(%esi)
 
659
        addl $-4,%ebx
 
660
        movl %ebx,%eax
 
661
        cmpl %edx,%ebx
 
662
        jb .L124
 
663
        .align 4
 
664
.L122:
 
665
        addl $-4,%esi
 
666
        movl (%eax),%eax
 
667
        movl %eax,(%esi)
 
668
        addl $-4,%ebx
 
669
        movl %ebx,%eax
 
670
        cmpl %edx,%ebx
 
671
        jae .L122
 
672
        jmp .L124
 
673
        .align 16
 
674
.L114:
 
675
        movl -8(%ebp),%ecx
 
676
        subl -12(%ebp),%ecx
 
677
        movl %ecx,-32(%ebp)
 
678
        je .L124
 
679
        .align 4
 
680
.L127:
 
681
        addl $-4,%esi
 
682
        addl $-4,%ebx
 
683
        movl (%ebx),%eax
 
684
        movl %eax,(%esi)
 
685
        decl -32(%ebp)
 
686
        jne .L127
 
687
.L124:
 
688
        movl -16(%ebp),%edi
 
689
        cmpl $0,8(%edi)
 
690
        je .L129
 
691
        movl 8(%ebp),%ecx
 
692
        movl 4(%ecx),%eax
 
693
        movl %eax,4(%edi)
 
694
        jmp .L95
 
695
        .align 16
 
696
.L129:
 
697
        movl -16(%ebp),%esi
 
698
        addl $12,%esi
 
699
        movl -16(%ebp),%edi
 
700
        cmpl $0,12(%edi)
 
701
        jne .L132
 
702
        .align 4
 
703
.L133:
 
704
        addl $4,%esi
 
705
        cmpl $0,(%esi)
 
706
        je .L133
 
707
.L132:
 
708
        addl $-8,%esi
 
709
        movl %esi,%ecx
 
710
        subl -16(%ebp),%ecx
 
711
        sarl $2,%ecx
 
712
        movl %ecx,-32(%ebp)
 
713
        movl -16(%ebp),%edi
 
714
        movl (%edi),%eax
 
715
        subl %ecx,%eax
 
716
        movl %eax,(%esi)
 
717
        movl %eax,4(%esi)
 
718
        movl %esi,-16(%ebp)
 
719
        movb -4(%ebp),%cl
 
720
        movb %cl,7(%esi)
 
721
        movl -32(%ebp),%edi
 
722
        leal 0(,%edi,4),%eax
 
723
        addl %eax,avma
 
724
.L95:
 
725
        movl -16(%ebp),%eax
 
726
.L135:
 
727
        leal -44(%ebp),%esp
 
728
        popl %ebx
 
729
        popl %esi
 
730
        popl %edi
 
731
        movl %ebp,%esp
 
732
        popl %ebp
 
733
        ret
 
734
.Lfe4:
 
735
        .size    addii,.Lfe4-addii
 
736
        .align 16
 
737
.globl mulss
 
738
        .type    mulss,@function
 
739
mulss:
 
740
        pushl %ebp
 
741
        movl %esp,%ebp
 
742
        subl $4,%esp
 
743
        pushl %esi
 
744
        pushl %ebx
 
745
        movl 8(%ebp),%edx
 
746
        movl 12(%ebp),%ebx
 
747
        testl %edx,%edx
 
748
        je .L142
 
749
        testl %ebx,%ebx
 
750
        jne .L141
 
751
.L142:
 
752
        movl gzero,%eax
 
753
        jmp .L150
 
754
        .align 16
 
755
.L141:
 
756
        movl $1,%esi
 
757
        testl %edx,%edx
 
758
        jge .L143
 
759
        movl $-1,%esi
 
760
        negl %edx
 
761
        jns .L143
 
762
        pushl %edx
 
763
        call stoi
 
764
        pushl %eax
 
765
        pushl %ebx
 
766
        call mulsi
 
767
        jmp .L150
 
768
        .align 16
 
769
.L143:
 
770
        testl %ebx,%ebx
 
771
        jge .L145
 
772
        negl %esi
 
773
        negl %ebx
 
774
        jns .L145
 
775
        pushl $ABS_MOST_NEGS
 
776
        movl %edx,%eax
 
777
        testl %esi,%esi
 
778
        jg .L147
 
779
        negl %eax
 
780
.L147:
 
781
        pushl %eax
 
782
        call mulsi
 
783
        jmp .L150
 
784
        .align 16
 
785
.L145:
 
786
        leal -4(%ebp),%eax
 
787
        pushl %eax
 
788
        pushl %ebx
 
789
        pushl %edx
 
790
        call mulul3
 
791
        movl %eax,%ebx
 
792
        addl $12,%esp
 
793
        cmpl $0,-4(%ebp)
 
794
        je .L148
 
795
        pushl $4
 
796
        call cgeti
 
797
        movl %eax,%edx
 
798
        movl -4(%ebp),%eax
 
799
        movl %eax,8(%edx)
 
800
        movl %ebx,12(%edx)
 
801
        jmp .L149
 
802
        .align 16
 
803
.L148:
 
804
        pushl $3
 
805
        call cgeti
 
806
        movl %eax,%edx
 
807
        movl %ebx,8(%edx)
 
808
.L149:
 
809
        movl (%edx),%eax
 
810
        movl %eax,4(%edx)
 
811
        movl %esi,%ecx
 
812
        movb %cl,7(%edx)
 
813
        movl %edx,%eax
 
814
.L150:
 
815
        leal -12(%ebp),%esp
 
816
        popl %ebx
 
817
        popl %esi
 
818
        movl %ebp,%esp
 
819
        popl %ebp
 
820
        ret
 
821
.Lfe5:
 
822
        .size    mulss,.Lfe5-mulss
 
823
        .align 16
 
824
.globl mulii
 
825
        .type    mulii,@function
 
826
mulii:
 
827
        pushl %ebp
 
828
        movl %esp,%ebp
 
829
        subl $48,%esp
 
830
        pushl %edi
 
831
        pushl %esi
 
832
        pushl %ebx
 
833
        movl 8(%ebp),%esi
 
834
        movzwl 4(%esi),%ecx
 
835
        movl %ecx,-8(%ebp)
 
836
        movl 12(%ebp),%edi
 
837
        movzwl 4(%edi),%edi
 
838
        movl %edi,-12(%ebp)
 
839
        movl 4(%esi),%ebx
 
840
        sarl $24,%ebx
 
841
        je .L177
 
842
        movl 12(%ebp),%ecx
 
843
        movl 4(%ecx),%eax
 
844
        sarl $24,%eax
 
845
        jne .L153
 
846
.L177:
 
847
        movl gzero,%eax
 
848
        jmp .L176
 
849
        .align 16
 
850
.L153:
 
851
        testl %eax,%eax
 
852
        jge .L154
 
853
        negl %ebx
 
854
.L154:
 
855
        movl -12(%ebp),%edi
 
856
        cmpl %edi,-8(%ebp)
 
857
        jle .L155
 
858
        movl %esi,-24(%ebp)
 
859
        movl 12(%ebp),%esi
 
860
        movl -24(%ebp),%ecx
 
861
        movl %ecx,12(%ebp)
 
862
        movl -8(%ebp),%edi
 
863
        movl %edi,-16(%ebp)
 
864
        movl -12(%ebp),%ecx
 
865
        movl %ecx,-8(%ebp)
 
866
        movl %edi,-12(%ebp)
 
867
.L155:
 
868
        movl -8(%ebp),%edi
 
869
        movl -12(%ebp),%ecx
 
870
        leal -2(%ecx,%edi),%edi
 
871
        movl %edi,-16(%ebp)
 
872
        cmpl $65535,%edi
 
873
        jle .L156
 
874
        pushl $17
 
875
        call err
 
876
        addl $4,%esp
 
877
.L156:
 
878
        movl -16(%ebp),%edi
 
879
        pushl %edi
 
880
        call cgeti
 
881
        movl %eax,-24(%ebp)
 
882
        movl (%eax),%eax
 
883
        movl -24(%ebp),%ecx
 
884
        movl %eax,4(%ecx)
 
885
        movb %bl,7(%ecx)
 
886
        movl -8(%ebp),%edi
 
887
        leal -4(%esi,%edi,4),%esi
 
888
        movl %esi,-32(%ebp)
 
889
        movl (%esi),%ecx
 
890
        movl %ecx,-20(%ebp)
 
891
        movl $0,-4(%ebp)
 
892
        movl -12(%ebp),%edi
 
893
        movl 12(%ebp),%ecx
 
894
        leal (%ecx,%edi,4),%edi
 
895
        movl %edi,-48(%ebp)
 
896
        movl -16(%ebp),%ecx
 
897
        movl -24(%ebp),%edi
 
898
        leal (%edi,%ecx,4),%ecx
 
899
        movl %ecx,-28(%ebp)
 
900
        addl $4,%esp
 
901
        movl -12(%ebp),%esi
 
902
        addl $-2,%esi
 
903
        je .L158
 
904
        .align 4
 
905
.L159:
 
906
        addl $-4,-28(%ebp)
 
907
        movl -4(%ebp),%ebx
 
908
        leal -4(%ebp),%eax
 
909
        pushl %eax
 
910
        addl $-4,-48(%ebp)
 
911
        movl -48(%ebp),%edi
 
912
        movl (%edi),%eax
 
913
        pushl %eax
 
914
        movl -20(%ebp),%ecx
 
915
        pushl %ecx
 
916
        call mulul3
 
917
        addl %ebx,%eax
 
918
        addl $12,%esp
 
919
        cmpl %ebx,%eax
 
920
        jae .L161
 
921
        incl -4(%ebp)
 
922
.L161:
 
923
        movl -28(%ebp),%edi
 
924
        movl %eax,(%edi)
 
925
        decl %esi
 
926
        jne .L159
 
927
.L158:
 
928
        movl -4(%ebp),%eax
 
929
        movl -28(%ebp),%ecx
 
930
        movl %eax,-4(%ecx)
 
931
        movl -16(%ebp),%edi
 
932
        movl -24(%ebp),%ecx
 
933
        leal (%ecx,%edi,4),%edi
 
934
        movl %edi,-28(%ebp)
 
935
        movl -12(%ebp),%ecx
 
936
        movl 12(%ebp),%edi
 
937
        leal (%edi,%ecx,4),%ecx
 
938
        movl %ecx,-36(%ebp)
 
939
        decl -12(%ebp)
 
940
        addl $-3,-8(%ebp)
 
941
        cmpl $0,-8(%ebp)
 
942
        jle .L164
 
943
        .align 4
 
944
.L165:
 
945
        addl $-4,-32(%ebp)
 
946
        movl -32(%ebp),%edi
 
947
        movl (%edi),%edi
 
948
        movl %edi,-44(%ebp)
 
949
        movl -36(%ebp),%ecx
 
950
        movl %ecx,-48(%ebp)
 
951
        movl -28(%ebp),%ebx
 
952
        addl $-4,%ebx
 
953
        movl %ebx,-28(%ebp)
 
954
        movl $0,-40(%ebp)
 
955
        movl -12(%ebp),%esi
 
956
        jmp .L178
 
957
        .align 16
 
958
        .align 4
 
959
.L168:
 
960
        addl $-4,-48(%ebp)
 
961
        movl -48(%ebp),%edi
 
962
        movl (%edi),%edx
 
963
        leal -4(%ebp),%eax
 
964
        pushl %eax
 
965
        movl -44(%ebp),%ecx
 
966
        pushl %ecx
 
967
        pushl %edx
 
968
        call mulul3
 
969
        movl %eax,%edx
 
970
        addl $-4,%ebx
 
971
        addl (%ebx),%eax
 
972
        addl $12,%esp
 
973
        cmpl %edx,%eax
 
974
        jae .L170
 
975
        incl -4(%ebp)
 
976
.L170:
 
977
        movl %eax,%edx
 
978
        movl -40(%ebp),%eax
 
979
        addl %edx,%eax
 
980
        cmpl %edx,%eax
 
981
        jae .L172
 
982
        incl -4(%ebp)
 
983
.L172:
 
984
        movl %eax,(%ebx)
 
985
        movl -4(%ebp),%edi
 
986
        movl %edi,-40(%ebp)
 
987
.L178:
 
988
        decl %esi
 
989
        jne .L168
 
990
        movl -4(%ebp),%eax
 
991
        movl %eax,-4(%ebx)
 
992
        decl -8(%ebp)
 
993
        cmpl $0,-8(%ebp)
 
994
        jg .L165
 
995
.L164:
 
996
        movl -24(%ebp),%ecx
 
997
        cmpl $0,8(%ecx)
 
998
        jne .L175
 
999
        movl -24(%ebp),%ecx
 
1000
        movl 4(%ecx),%edi
 
1001
        decl %edi
 
1002
        movl %edi,8(%ecx)
 
1003
        movl -24(%ebp),%ecx
 
1004
        movl (%ecx),%edi
 
1005
        decl %edi
 
1006
        movl %edi,4(%ecx)
 
1007
        addl $4,%ecx
 
1008
        movl %ecx,-24(%ebp)
 
1009
        addl $4,avma
 
1010
.L175:
 
1011
        movl -24(%ebp),%eax
 
1012
.L176:
 
1013
        leal -60(%ebp),%esp
 
1014
        popl %ebx
 
1015
        popl %esi
 
1016
        popl %edi
 
1017
        movl %ebp,%esp
 
1018
        popl %ebp
 
1019
        ret
 
1020
.Lfe6:
 
1021
        .size    mulii,.Lfe6-mulii
 
1022
.section        .rodata
 
1023
        .align 4
 
1024
.LC0:
 
1025
        .long 0x55475a32,0x3fd34413
 
1026
.text
 
1027
        .align 16
 
1028
.globl confrac
 
1029
        .type    confrac,@function
 
1030
confrac:
 
1031
        pushl %ebp
 
1032
        movl %esp,%ebp
 
1033
        subl $76,%esp
 
1034
        pushl %edi
 
1035
        pushl %esi
 
1036
        pushl %ebx
 
1037
        movl 8(%ebp),%eax
 
1038
        movzwl (%eax),%eax
 
1039
        movl %eax,-16(%ebp)
 
1040
        movl 8(%ebp),%edx
 
1041
        movl 4(%edx),%edx
 
1042
        andl $16777215,%edx
 
1043
        movl $8388607,%ecx
 
1044
        subl %edx,%ecx
 
1045
        movl %ecx,-20(%ebp)
 
1046
        movl avma,%eax
 
1047
        movl %eax,-24(%ebp)
 
1048
        movl -16(%ebp),%edx
 
1049
        sall $5,%edx
 
1050
        leal -64(%ecx,%edx),%edx
 
1051
        movl %edx,-32(%ebp)
 
1052
        addl $63,%edx
 
1053
        sarl $5,%edx
 
1054
        movl %edx,-28(%ebp)
 
1055
        pushl %edx
 
1056
        call cgeti
 
1057
        movl %eax,-44(%ebp)
 
1058
        movl -20(%ebp),%esi
 
1059
        sarl $5,%esi
 
1060
        xorl %ebx,%ebx
 
1061
        addl $4,%esp
 
1062
        cmpl %esi,%ebx
 
1063
        jge .L181
 
1064
        .align 4
 
1065
.L183:
 
1066
        movl -44(%ebp),%ecx
 
1067
        movl $0,(%ecx,%ebx,4)
 
1068
        incl %ebx
 
1069
        cmpl %esi,%ebx
 
1070
        jl .L183
 
1071
.L181:
 
1072
        andl $31,-20(%ebp)
 
1073
        jne .L185
 
1074
        movl $2,%edi
 
1075
        cmpl %edi,-16(%ebp)
 
1076
        jle .L191
 
1077
        .align 4
 
1078
.L189:
 
1079
        movl 8(%ebp),%eax
 
1080
        movl (%eax,%edi,4),%eax
 
1081
        movl -44(%ebp),%edx
 
1082
        movl %eax,(%edx,%ebx,4)
 
1083
        incl %ebx
 
1084
        incl %edi
 
1085
        cmpl %edi,-16(%ebp)
 
1086
        jg .L189
 
1087
        jmp .L191
 
1088
        .align 16
 
1089
.L185:
 
1090
        movl $0,-40(%ebp)
 
1091
        movl $2,%edi
 
1092
        cmpl %edi,-16(%ebp)
 
1093
        jle .L193
 
1094
        movl $32,%ecx
 
1095
        subl -20(%ebp),%ecx
 
1096
        movl %ecx,-52(%ebp)
 
1097
        .align 4
 
1098
.L195:
 
1099
        movl %ebx,-60(%ebp)
 
1100
        movl 8(%ebp),%eax
 
1101
        movl (%eax,%edi,4),%esi
 
1102
        incl %ebx
 
1103
        movl %esi,%eax
 
1104
        movl -52(%ebp),%ecx
 
1105
        sall %cl,%eax
 
1106
        movl %eax,-64(%ebp)
 
1107
        movl %eax,-12(%ebp)
 
1108
        movl -20(%ebp),%ecx
 
1109
        shrl %cl,%esi
 
1110
        movl %esi,%ecx
 
1111
        addl -40(%ebp),%ecx
 
1112
        movl -60(%ebp),%eax
 
1113
        movl -44(%ebp),%edx
 
1114
        movl %ecx,(%edx,%eax,4)
 
1115
        movl -64(%ebp),%eax
 
1116
        movl %eax,-40(%ebp)
 
1117
        incl %edi
 
1118
        cmpl %edi,-16(%ebp)
 
1119
        jg .L195
 
1120
.L193:
 
1121
        movl -40(%ebp),%eax
 
1122
        movl -28(%ebp),%edx
 
1123
        movl -44(%ebp),%ecx
 
1124
        movl %eax,-8(%ecx,%edx,4)
 
1125
.L191:
 
1126
        movl -28(%ebp),%edx
 
1127
        movl -44(%ebp),%ecx
 
1128
        movl $0,-4(%ecx,%edx,4)
 
1129
        fldl .LC0
 
1130
        fimull -32(%ebp)
 
1131
        fld1
 
1132
        faddp %st,%st(1)
 
1133
        fnstcw -4(%ebp)
 
1134
        movl -4(%ebp),%eax
 
1135
        movb $12,%ah
 
1136
        movl %eax,-8(%ebp)
 
1137
        fldcw -8(%ebp)
 
1138
        subl $4,%esp
 
1139
        fistpl (%esp)
 
1140
        popl %ebx
 
1141
        fldcw -4(%ebp)
 
1142
        leal 17(%ebx),%edx
 
1143
        movl %edx,-36(%ebp)
 
1144
        movl -36(%ebp),%eax
 
1145
        movl $9,%ecx
 
1146
        cltd
 
1147
        idivl %ecx
 
1148
        movl %eax,-36(%ebp)
 
1149
        pushl %eax
 
1150
        call cgeti
 
1151
        movl %eax,-48(%ebp)
 
1152
        movl %ebx,(%eax)
 
1153
        movl $1,%edi
 
1154
        addl $4,%esp
 
1155
        cmpl %edi,-36(%ebp)
 
1156
        jle .L198
 
1157
        .align 4
 
1158
.L200:
 
1159
        movl $0,-12(%ebp)
 
1160
        movl -28(%ebp),%ebx
 
1161
        decl %ebx
 
1162
        js .L202
 
1163
        .align 4
 
1164
.L204:
 
1165
        movl -12(%ebp),%esi
 
1166
        leal -12(%ebp),%eax
 
1167
        pushl %eax
 
1168
        pushl $1000000000
 
1169
        movl -44(%ebp),%edx
 
1170
        movl (%edx,%ebx,4),%edx
 
1171
        pushl %edx
 
1172
        call mulul3
 
1173
        movl %eax,-64(%ebp)
 
1174
        addl %esi,-64(%ebp)
 
1175
        addl $12,%esp
 
1176
        cmpl %esi,-64(%ebp)
 
1177
        jae .L206
 
1178
        incl -12(%ebp)
 
1179
.L206:
 
1180
        movl -64(%ebp),%eax
 
1181
        movl -44(%ebp),%ecx
 
1182
        movl %eax,(%ecx,%ebx,4)
 
1183
        decl %ebx
 
1184
        jns .L204
 
1185
.L202:
 
1186
        movl -12(%ebp),%edx
 
1187
        movl -48(%ebp),%ecx
 
1188
        movl %edx,(%ecx,%edi,4)
 
1189
        incl %edi
 
1190
        cmpl %edi,-36(%ebp)
 
1191
        jg .L200
 
1192
.L198:
 
1193
        movl -24(%ebp),%eax
 
1194
        movl %eax,avma
 
1195
        movl -48(%ebp),%eax
 
1196
        leal -88(%ebp),%esp
 
1197
        popl %ebx
 
1198
        popl %esi
 
1199
        popl %edi
 
1200
        movl %ebp,%esp
 
1201
        popl %ebp
 
1202
        ret
 
1203
.Lfe7:
 
1204
        .size    confrac,.Lfe7-confrac
 
1205
        .align 16
 
1206
.globl divss
 
1207
        .type    divss,@function
 
1208
divss:
 
1209
        pushl %ebp
 
1210
        movl %esp,%ebp
 
1211
        pushl %esi
 
1212
        pushl %ebx
 
1213
        movl 8(%ebp),%esi
 
1214
        movl 12(%ebp),%ebx
 
1215
        testl %ebx,%ebx
 
1216
        jne .L210
 
1217
        pushl $23
 
1218
        call err
 
1219
        addl $4,%esp
 
1220
.L210:
 
1221
        cmpl $-2147483648,%esi
 
1222
        jne .L211
 
1223
        pushl %ebx
 
1224
        pushl $-2147483648
 
1225
        call stoi
 
1226
        addl $4,%esp
 
1227
        pushl %eax
 
1228
        call divis
 
1229
        jmp .L216
 
1230
        .align 16
 
1231
.L211:
 
1232
        movl $0,hiremainder
 
1233
        pushl $hiremainder
 
1234
        movl %ebx,%eax
 
1235
        testl %ebx,%ebx
 
1236
        jge .L212
 
1237
        negl %eax
 
1238
.L212:
 
1239
        pushl %eax
 
1240
        movl %esi,%eax
 
1241
        testl %esi,%esi
 
1242
        jge .L213
 
1243
        negl %eax
 
1244
.L213:
 
1245
        pushl %eax
 
1246
        call divul3
 
1247
        addl $12,%esp
 
1248
        testl %ebx,%ebx
 
1249
        jge .L214
 
1250
        negl hiremainder
 
1251
        negl %eax
 
1252
.L214:
 
1253
        testl %esi,%esi
 
1254
        jge .L215
 
1255
        negl %eax
 
1256
.L215:
 
1257
        pushl %eax
 
1258
        call stoi
 
1259
.L216:
 
1260
        leal -8(%ebp),%esp
 
1261
        popl %ebx
 
1262
        popl %esi
 
1263
        movl %ebp,%esp
 
1264
        popl %ebp
 
1265
        ret
 
1266
.Lfe8:
 
1267
        .size    divss,.Lfe8-divss
 
1268
        .align 16
 
1269
.globl modss
 
1270
        .type    modss,@function
 
1271
modss:
 
1272
        pushl %ebp
 
1273
        movl %esp,%ebp
 
1274
        subl $4,%esp
 
1275
        pushl %esi
 
1276
        pushl %ebx
 
1277
        movl 8(%ebp),%esi
 
1278
        movl 12(%ebp),%ebx
 
1279
        testl %ebx,%ebx
 
1280
        jne .L218
 
1281
        pushl $38
 
1282
        call err
 
1283
        addl $4,%esp
 
1284
.L218:
 
1285
        cmpl $-2147483648,%esi
 
1286
        jne .L219
 
1287
        pushl %ebx
 
1288
        pushl $-2147483648
 
1289
        call stoi
 
1290
        addl $4,%esp
 
1291
        pushl %eax
 
1292
        call modis
 
1293
        jmp .L225
 
1294
        .align 16
 
1295
.L219:
 
1296
        movl $0,-4(%ebp)
 
1297
        leal -4(%ebp),%eax
 
1298
        pushl %eax
 
1299
        testl %ebx,%ebx
 
1300
        jge .L220
 
1301
        negl %ebx
 
1302
.L220:
 
1303
        pushl %ebx
 
1304
        movl %esi,%eax
 
1305
        testl %eax,%eax
 
1306
        jge .L221
 
1307
        negl %eax
 
1308
.L221:
 
1309
        pushl %eax
 
1310
        call divul3
 
1311
        addl $12,%esp
 
1312
        cmpl $0,-4(%ebp)
 
1313
        jne .L222
 
1314
        movl gzero,%eax
 
1315
        jmp .L225
 
1316
        .align 16
 
1317
.L222:
 
1318
        cmpl $0,-4(%ebp)
 
1319
        jge .L223
 
1320
        movl %ebx,%eax
 
1321
        subl -4(%ebp),%eax
 
1322
        jmp .L226
 
1323
        .align 16
 
1324
.L223:
 
1325
        movl -4(%ebp),%eax
 
1326
.L226:
 
1327
        pushl %eax
 
1328
        call stoi
 
1329
.L225:
 
1330
        leal -12(%ebp),%esp
 
1331
        popl %ebx
 
1332
        popl %esi
 
1333
        movl %ebp,%esp
 
1334
        popl %ebp
 
1335
        ret
 
1336
.Lfe9:
 
1337
        .size    modss,.Lfe9-modss
 
1338
        .align 16
 
1339
.globl resss
 
1340
        .type    resss,@function
 
1341
resss:
 
1342
        pushl %ebp
 
1343
        movl %esp,%ebp
 
1344
        subl $4,%esp
 
1345
        pushl %ebx
 
1346
        movl 12(%ebp),%ebx
 
1347
        testl %ebx,%ebx
 
1348
        jne .L228
 
1349
        pushl $40
 
1350
        call err
 
1351
        addl $4,%esp
 
1352
.L228:
 
1353
        movl $0,-4(%ebp)
 
1354
        leal -4(%ebp),%eax
 
1355
        pushl %eax
 
1356
        movl %ebx,%eax
 
1357
        testl %ebx,%ebx
 
1358
        jge .L229
 
1359
        negl %eax
 
1360
.L229:
 
1361
        pushl %eax
 
1362
        movl 8(%ebp),%eax
 
1363
        testl %eax,%eax
 
1364
        jge .L230
 
1365
        negl %eax
 
1366
.L230:
 
1367
        pushl %eax
 
1368
        call divul3
 
1369
        addl $12,%esp
 
1370
        testl %ebx,%ebx
 
1371
        jge .L231
 
1372
        movl -4(%ebp),%eax
 
1373
        negl %eax
 
1374
        jmp .L233
 
1375
        .align 16
 
1376
.L231:
 
1377
        movl -4(%ebp),%eax
 
1378
.L233:
 
1379
        pushl %eax
 
1380
        call stoi
 
1381
        movl -8(%ebp),%ebx
 
1382
        movl %ebp,%esp
 
1383
        popl %ebp
 
1384
        ret
 
1385
.Lfe10:
 
1386
        .size    resss,.Lfe10-resss
 
1387
        .align 16
 
1388
.globl divsi
 
1389
        .type    divsi,@function
 
1390
divsi:
 
1391
        pushl %ebp
 
1392
        movl %esp,%ebp
 
1393
        pushl %edi
 
1394
        pushl %esi
 
1395
        pushl %ebx
 
1396
        movl 8(%ebp),%ebx
 
1397
        movl 12(%ebp),%esi
 
1398
        movzwl 4(%esi),%edi
 
1399
        cmpb $0,7(%esi)
 
1400
        jne .L235
 
1401
        pushl $24
 
1402
        call err
 
1403
        addl $4,%esp
 
1404
.L235:
 
1405
        testl %ebx,%ebx
 
1406
        je .L237
 
1407
        cmpl $3,%edi
 
1408
        jg .L237
 
1409
        cmpl $0,8(%esi)
 
1410
        jge .L236
 
1411
.L237:
 
1412
        movl %ebx,hiremainder
 
1413
        movl gzero,%eax
 
1414
        jmp .L242
 
1415
        .align 16
 
1416
.L236:
 
1417
        cmpl $-2147483648,%ebx
 
1418
        jne .L238
 
1419
        pushl $0
 
1420
        pushl %esi
 
1421
        pushl $-2147483648
 
1422
        call stoi
 
1423
        addl $4,%esp
 
1424
        pushl %eax
 
1425
        call dvmdii
 
1426
        jmp .L242
 
1427
        .align 16
 
1428
.L238:
 
1429
        movl $0,hiremainder
 
1430
        pushl $hiremainder
 
1431
        movl 8(%esi),%eax
 
1432
        pushl %eax
 
1433
        movl %ebx,%eax
 
1434
        testl %ebx,%ebx
 
1435
        jge .L239
 
1436
        negl %eax
 
1437
.L239:
 
1438
        pushl %eax
 
1439
        call divul3
 
1440
        addl $12,%esp
 
1441
        cmpl $0,4(%esi)
 
1442
        jge .L240
 
1443
        negl hiremainder
 
1444
        negl %eax
 
1445
.L240:
 
1446
        testl %ebx,%ebx
 
1447
        jge .L241
 
1448
        negl %eax
 
1449
.L241:
 
1450
        pushl %eax
 
1451
        call stoi
 
1452
.L242:
 
1453
        leal -12(%ebp),%esp
 
1454
        popl %ebx
 
1455
        popl %esi
 
1456
        popl %edi
 
1457
        movl %ebp,%esp
 
1458
        popl %ebp
 
1459
        ret
 
1460
.Lfe11:
 
1461
        .size    divsi,.Lfe11-divsi
 
1462
        .align 16
 
1463
.globl divis
 
1464
        .type    divis,@function
 
1465
divis:
 
1466
        pushl %ebp
 
1467
        movl %esp,%ebp
 
1468
        subl $24,%esp
 
1469
        pushl %edi
 
1470
        pushl %esi
 
1471
        pushl %ebx
 
1472
        movl 12(%ebp),%edi
 
1473
        movl 8(%ebp),%edx
 
1474
        movl 4(%edx),%edx
 
1475
        sarl $24,%edx
 
1476
        movl %edx,-8(%ebp)
 
1477
        movl 8(%ebp),%ecx
 
1478
        movzwl 4(%ecx),%ecx
 
1479
        movl %ecx,-12(%ebp)
 
1480
        testl %edi,%edi
 
1481
        jne .L244
 
1482
        pushl $26
 
1483
        call err
 
1484
        addl $4,%esp
 
1485
.L244:
 
1486
        cmpl $0,-8(%ebp)
 
1487
        jne .L245
 
1488
        movl $0,hiremainder
 
1489
        movl gzero,%eax
 
1490
        jmp .L259
 
1491
        .align 16
 
1492
.L245:
 
1493
        testl %edi,%edi
 
1494
        jge .L246
 
1495
        negl -8(%ebp)
 
1496
        negl %edi
 
1497
        jns .L246
 
1498
        pushl $0
 
1499
        pushl %edi
 
1500
        call stoi
 
1501
        addl $4,%esp
 
1502
        pushl %eax
 
1503
        movl 8(%ebp),%edx
 
1504
        pushl %edx
 
1505
        call dvmdii
 
1506
        jmp .L259
 
1507
        .align 16
 
1508
.L246:
 
1509
        movl 8(%ebp),%ecx
 
1510
        cmpl %edi,8(%ecx)
 
1511
        jae .L248
 
1512
        cmpl $3,-12(%ebp)
 
1513
        jne .L249
 
1514
        pushl %ecx
 
1515
        call itos
 
1516
        movl %eax,hiremainder
 
1517
        movl gzero,%eax
 
1518
        jmp .L259
 
1519
        .align 16
 
1520
.L249:
 
1521
        movl -12(%ebp),%eax
 
1522
        decl %eax
 
1523
        pushl %eax
 
1524
        call cgeti
 
1525
        movl %eax,%esi
 
1526
        movl $1,-16(%ebp)
 
1527
        movl 8(%ebp),%edx
 
1528
        movl 8(%edx),%eax
 
1529
        movl %eax,-4(%ebp)
 
1530
        jmp .L260
 
1531
        .align 16
 
1532
.L248:
 
1533
        movl -12(%ebp),%ecx
 
1534
        pushl %ecx
 
1535
        call cgeti
 
1536
        movl %eax,%esi
 
1537
        movl $0,-16(%ebp)
 
1538
        movl $0,-4(%ebp)
 
1539
.L260:
 
1540
        addl $4,%esp
 
1541
        movl -16(%ebp),%ebx
 
1542
        addl $2,%ebx
 
1543
        cmpl %ebx,-12(%ebp)
 
1544
        jle .L253
 
1545
        leal -4(%ebp),%edx
 
1546
        movl %edx,-20(%ebp)
 
1547
        .align 4
 
1548
.L255:
 
1549
        movl -20(%ebp),%ecx
 
1550
        pushl %ecx
 
1551
        pushl %edi
 
1552
        movl 8(%ebp),%edx
 
1553
        movl (%edx,%ebx,4),%eax
 
1554
        pushl %eax
 
1555
        call divul3
 
1556
        movl %eax,-24(%ebp)
 
1557
        movl %ebx,%eax
 
1558
        subl -16(%ebp),%eax
 
1559
        movl -24(%ebp),%ecx
 
1560
        movl %ecx,(%esi,%eax,4)
 
1561
        addl $12,%esp
 
1562
        incl %ebx
 
1563
        cmpl %ebx,-12(%ebp)
 
1564
        jg .L255
 
1565
.L253:
 
1566
        movl (%esi),%eax
 
1567
        movl %eax,4(%esi)
 
1568
        movb -8(%ebp),%dl
 
1569
        movb %dl,7(%esi)
 
1570
        cmpl $0,-8(%ebp)
 
1571
        jge .L257
 
1572
        movl -4(%ebp),%ecx
 
1573
        negl %ecx
 
1574
        movl %ecx,hiremainder
 
1575
        jmp .L258
 
1576
        .align 16
 
1577
.L257:
 
1578
        movl -4(%ebp),%eax
 
1579
        movl %eax,hiremainder
 
1580
.L258:
 
1581
        movl %esi,%eax
 
1582
.L259:
 
1583
        leal -36(%ebp),%esp
 
1584
        popl %ebx
 
1585
        popl %esi
 
1586
        popl %edi
 
1587
        movl %ebp,%esp
 
1588
        popl %ebp
 
1589
        ret
 
1590
.Lfe12:
 
1591
        .size    divis,.Lfe12-divis
 
1592
        .align 16
 
1593
.globl dvmdii
 
1594
        .type    dvmdii,@function
 
1595
dvmdii:
 
1596
        pushl %ebp
 
1597
        movl %esp,%ebp
 
1598
        subl $88,%esp
 
1599
        pushl %edi
 
1600
        pushl %esi
 
1601
        pushl %ebx
 
1602
        movl 8(%ebp),%esi
 
1603
        movl 4(%esi),%ecx
 
1604
        sarl $24,%ecx
 
1605
        movl %ecx,-36(%ebp)
 
1606
        movl 12(%ebp),%edi
 
1607
        movl 4(%edi),%edi
 
1608
        sarl $24,%edi
 
1609
        movl %edi,-40(%ebp)
 
1610
        jne .L262
 
1611
        pushl $36
 
1612
        call err
 
1613
        addl $4,%esp
 
1614
.L262:
 
1615
        cmpl $0,-36(%ebp)
 
1616
        jne .L263
 
1617
        cmpl $-1,16(%ebp)
 
1618
        je .L372
 
1619
        cmpl $0,16(%ebp)
 
1620
        je .L372
 
1621
        movl gzero,%eax
 
1622
        movl 16(%ebp),%ecx
 
1623
        movl %eax,(%ecx)
 
1624
.L372:
 
1625
        movl gzero,%eax
 
1626
        jmp .L367
 
1627
        .align 16
 
1628
.L263:
 
1629
        movzwl 4(%esi),%edi
 
1630
        movl %edi,-12(%ebp)
 
1631
        movl 12(%ebp),%ecx
 
1632
        movzwl 4(%ecx),%ecx
 
1633
        movl %ecx,-16(%ebp)
 
1634
        subl %ecx,%edi
 
1635
        movl %edi,-20(%ebp)
 
1636
        jns .L266
 
1637
        cmpl $-1,16(%ebp)
 
1638
        jne .L267
 
1639
        pushl %esi
 
1640
        call icopy
 
1641
        jmp .L367
 
1642
        .align 16
 
1643
.L267:
 
1644
        cmpl $0,16(%ebp)
 
1645
        je .L372
 
1646
        pushl %esi
 
1647
        call icopy
 
1648
        movl 16(%ebp),%edi
 
1649
        movl %eax,(%edi)
 
1650
        jmp .L372
 
1651
        .align 16
 
1652
.L266:
 
1653
        movl avma,%ecx
 
1654
        movl %ecx,-8(%ebp)
 
1655
        cmpl $0,-36(%ebp)
 
1656
        jge .L269
 
1657
        negl -40(%ebp)
 
1658
.L269:
 
1659
        cmpl $3,-16(%ebp)
 
1660
        jne .L270
 
1661
        movl 12(%ebp),%edi
 
1662
        movl 8(%edi),%edi
 
1663
        movl %edi,-48(%ebp)
 
1664
        leal 8(%esi),%ecx
 
1665
        movl %ecx,-88(%ebp)
 
1666
        cmpl %edi,8(%esi)
 
1667
        jae .L271
 
1668
        movl -12(%ebp),%ebx
 
1669
        decl %ebx
 
1670
        movl 8(%esi),%eax
 
1671
        movl %eax,-4(%ebp)
 
1672
        addl $12,%esi
 
1673
        movl %esi,-88(%ebp)
 
1674
        jmp .L272
 
1675
        .align 16
 
1676
.L271:
 
1677
        movl -12(%ebp),%ebx
 
1678
        movl $0,-4(%ebp)
 
1679
.L272:
 
1680
        pushl %ebx
 
1681
        call cgeti
 
1682
        movl %eax,-56(%ebp)
 
1683
        movl %eax,%edi
 
1684
        addl $8,%edi
 
1685
        movl %edi,-72(%ebp)
 
1686
        addl $4,%esp
 
1687
        leal -2(%ebx),%ecx
 
1688
        movl %ecx,-24(%ebp)
 
1689
        testl %ecx,%ecx
 
1690
        je .L274
 
1691
        leal -4(%ebp),%esi
 
1692
        .align 4
 
1693
.L275:
 
1694
        pushl %esi
 
1695
        movl -48(%ebp),%edi
 
1696
        pushl %edi
 
1697
        movl -88(%ebp),%ecx
 
1698
        movl (%ecx),%eax
 
1699
        pushl %eax
 
1700
        addl $4,%ecx
 
1701
        movl %ecx,-88(%ebp)
 
1702
        call divul3
 
1703
        movl -72(%ebp),%edi
 
1704
        movl %eax,(%edi)
 
1705
        addl $4,%edi
 
1706
        movl %edi,-72(%ebp)
 
1707
        addl $12,%esp
 
1708
        decl -24(%ebp)
 
1709
        jne .L275
 
1710
.L274:
 
1711
        cmpl $-1,16(%ebp)
 
1712
        jne .L277
 
1713
        movl -8(%ebp),%ecx
 
1714
        movl %ecx,avma
 
1715
        cmpl $0,-4(%ebp)
 
1716
        je .L372
 
1717
        pushl $3
 
1718
        call cgeti
 
1719
        movl %eax,-60(%ebp)
 
1720
        movl -36(%ebp),%eax
 
1721
        sall $24,%eax
 
1722
        addl $3,%eax
 
1723
        movl -60(%ebp),%edi
 
1724
        movl %eax,4(%edi)
 
1725
        movl -4(%ebp),%eax
 
1726
        movl %eax,8(%edi)
 
1727
        movl -60(%ebp),%eax
 
1728
        jmp .L367
 
1729
        .align 16
 
1730
.L277:
 
1731
        cmpl $2,%ebx
 
1732
        je .L279
 
1733
        movl -56(%ebp),%ecx
 
1734
        movl (%ecx),%eax
 
1735
        movl %eax,4(%ecx)
 
1736
        movb -40(%ebp),%cl
 
1737
        movl -56(%ebp),%edi
 
1738
        movb %cl,7(%edi)
 
1739
        jmp .L280
 
1740
        .align 16
 
1741
.L279:
 
1742
        movl -8(%ebp),%ecx
 
1743
        movl %ecx,avma
 
1744
        movl gzero,%edi
 
1745
        movl %edi,-56(%ebp)
 
1746
.L280:
 
1747
        cmpl $0,16(%ebp)
 
1748
        jne .L281
 
1749
.L370:
 
1750
        movl -56(%ebp),%eax
 
1751
        jmp .L367
 
1752
        .align 16
 
1753
.L281:
 
1754
        cmpl $0,-4(%ebp)
 
1755
        jne .L282
 
1756
        movl gzero,%eax
 
1757
        movl 16(%ebp),%ecx
 
1758
        movl %eax,(%ecx)
 
1759
        jmp .L370
 
1760
        .align 16
 
1761
.L282:
 
1762
        pushl $3
 
1763
        call cgeti
 
1764
        movl %eax,-60(%ebp)
 
1765
        movl -36(%ebp),%eax
 
1766
        sall $24,%eax
 
1767
        addl $3,%eax
 
1768
        movl -60(%ebp),%edi
 
1769
        movl %eax,4(%edi)
 
1770
        movl -4(%ebp),%eax
 
1771
        movl %eax,8(%edi)
 
1772
        movl 16(%ebp),%ecx
 
1773
        movl %edi,(%ecx)
 
1774
        jmp .L370
 
1775
        .align 16
 
1776
.L270:
 
1777
        movl -12(%ebp),%edi
 
1778
        pushl %edi
 
1779
        call cgeti
 
1780
        movl %eax,-56(%ebp)
 
1781
        movl 12(%ebp),%ecx
 
1782
        movl 8(%ecx),%eax
 
1783
        pushl %eax
 
1784
        call bfffo
 
1785
        movl %eax,-28(%ebp)
 
1786
        addl $8,%esp
 
1787
        testl %eax,%eax
 
1788
        je .L285
 
1789
        movl -16(%ebp),%edi
 
1790
        pushl %edi
 
1791
        call cgeti
 
1792
        movl %eax,-60(%ebp)
 
1793
        movl 12(%ebp),%ecx
 
1794
        movl 8(%ecx),%ebx
 
1795
        movl %ecx,%edx
 
1796
        addl $12,%edx
 
1797
        movl $32,%eax
 
1798
        subl -28(%ebp),%eax
 
1799
        movl %ebx,%edi
 
1800
        movl %eax,%ecx
 
1801
        shrl %cl,%edi
 
1802
        movl %edi,-4(%ebp)
 
1803
        movl -28(%ebp),%ecx
 
1804
        sall %cl,%ebx
 
1805
        movl %ebx,-32(%ebp)
 
1806
        movl -60(%ebp),%eax
 
1807
        addl $8,%eax
 
1808
        addl $4,%esp
 
1809
        movl -16(%ebp),%edi
 
1810
        addl $-3,%edi
 
1811
        movl %edi,-24(%ebp)
 
1812
        je .L287
 
1813
        movl $32,%edi
 
1814
        subl %ecx,%edi
 
1815
        movl %edi,-88(%ebp)
 
1816
        .align 4
 
1817
.L288:
 
1818
        movl (%edx),%ebx
 
1819
        addl $4,%edx
 
1820
        movl %ebx,%edi
 
1821
        movl -88(%ebp),%ecx
 
1822
        shrl %cl,%edi
 
1823
        movl %edi,-4(%ebp)
 
1824
        movl -32(%ebp),%ecx
 
1825
        addl %edi,%ecx
 
1826
        movl %ecx,(%eax)
 
1827
        addl $4,%eax
 
1828
        movl -28(%ebp),%ecx
 
1829
        sall %cl,%ebx
 
1830
        movl %ebx,-32(%ebp)
 
1831
        decl -24(%ebp)
 
1832
        jne .L288
 
1833
.L287:
 
1834
        movl -32(%ebp),%edi
 
1835
        movl %edi,(%eax)
 
1836
        movl $0,-32(%ebp)
 
1837
        addl $8,%esi
 
1838
        movl %esi,-88(%ebp)
 
1839
        movl -56(%ebp),%ecx
 
1840
        addl $4,%ecx
 
1841
        movl %ecx,-72(%ebp)
 
1842
        movl -12(%ebp),%edi
 
1843
        addl $-2,%edi
 
1844
        movl %edi,-24(%ebp)
 
1845
        je .L291
 
1846
        movl $32,%eax
 
1847
        subl -28(%ebp),%eax
 
1848
        .align 4
 
1849
.L292:
 
1850
        movl -88(%ebp),%ecx
 
1851
        movl (%ecx),%ebx
 
1852
        addl $4,%ecx
 
1853
        movl %ecx,-88(%ebp)
 
1854
        movl %ebx,%edi
 
1855
        movl %eax,%ecx
 
1856
        shrl %cl,%edi
 
1857
        movl %edi,-4(%ebp)
 
1858
        movl -32(%ebp),%ecx
 
1859
        addl -4(%ebp),%ecx
 
1860
        movl -72(%ebp),%edi
 
1861
        movl %ecx,(%edi)
 
1862
        addl $4,%edi
 
1863
        movl %edi,-72(%ebp)
 
1864
        movl -28(%ebp),%ecx
 
1865
        sall %cl,%ebx
 
1866
        movl %ebx,-32(%ebp)
 
1867
        decl -24(%ebp)
 
1868
        jne .L292
 
1869
.L291:
 
1870
        movl -32(%ebp),%ecx
 
1871
        movl -72(%ebp),%edi
 
1872
        movl %ecx,(%edi)
 
1873
        jmp .L294
 
1874
        .align 16
 
1875
.L285:
 
1876
        addl $8,%esi
 
1877
        movl %esi,-88(%ebp)
 
1878
        movl -56(%ebp),%edi
 
1879
        movl $0,4(%edi)
 
1880
        addl $8,%edi
 
1881
        movl %edi,-72(%ebp)
 
1882
        movl -12(%ebp),%esi
 
1883
        addl $-2,%esi
 
1884
        je .L296
 
1885
        .align 4
 
1886
.L297:
 
1887
        movl -88(%ebp),%ecx
 
1888
        movl (%ecx),%eax
 
1889
        movl -72(%ebp),%edi
 
1890
        movl %eax,(%edi)
 
1891
        addl $4,%ecx
 
1892
        movl %ecx,-88(%ebp)
 
1893
        addl $4,%edi
 
1894
        movl %edi,-72(%ebp)
 
1895
        decl %esi
 
1896
        jne .L297
 
1897
.L296:
 
1898
        movl 12(%ebp),%ecx
 
1899
        movl %ecx,-60(%ebp)
 
1900
.L294:
 
1901
        movl -60(%ebp),%edi
 
1902
        movl 8(%edi),%edi
 
1903
        movl %edi,-48(%ebp)
 
1904
        movl -60(%ebp),%ecx
 
1905
        movl 12(%ecx),%ecx
 
1906
        movl %ecx,-44(%ebp)
 
1907
        movl -56(%ebp),%edi
 
1908
        addl $4,%edi
 
1909
        movl %edi,-72(%ebp)
 
1910
        movl -20(%ebp),%ecx
 
1911
        incl %ecx
 
1912
        movl %ecx,-24(%ebp)
 
1913
        je .L300
 
1914
        movl -16(%ebp),%edi
 
1915
        sall $2,%edi
 
1916
        movl %edi,-80(%ebp)
 
1917
        .align 4
 
1918
.L301:
 
1919
        movl -72(%ebp),%ecx
 
1920
        movl (%ecx),%eax
 
1921
        addl $4,%ecx
 
1922
        movl %ecx,-72(%ebp)
 
1923
        cmpl %eax,-48(%ebp)
 
1924
        jne .L302
 
1925
        movl $-1,-52(%ebp)
 
1926
        movl -48(%ebp),%ebx
 
1927
        movl %ebx,%edi
 
1928
        addl (%ecx),%edi
 
1929
        movl %edi,-84(%ebp)
 
1930
        cmpl %ebx,%edi
 
1931
        setb %al
 
1932
        andl $255,%eax
 
1933
        movl %edi,-32(%ebp)
 
1934
        jmp .L303
 
1935
        .align 16
 
1936
.L302:
 
1937
        movl -72(%ebp),%ecx
 
1938
        movl -4(%ecx),%eax
 
1939
        movl %eax,-4(%ebp)
 
1940
        leal -4(%ebp),%eax
 
1941
        pushl %eax
 
1942
        movl -48(%ebp),%edi
 
1943
        pushl %edi
 
1944
        movl (%ecx),%eax
 
1945
        pushl %eax
 
1946
        call divul3
 
1947
        movl %eax,-52(%ebp)
 
1948
        xorl %eax,%eax
 
1949
        movl -4(%ebp),%ecx
 
1950
        movl %ecx,-32(%ebp)
 
1951
        addl $12,%esp
 
1952
.L303:
 
1953
        testl %eax,%eax
 
1954
        jne .L304
 
1955
        leal -4(%ebp),%eax
 
1956
        pushl %eax
 
1957
        movl -44(%ebp),%edi
 
1958
        pushl %edi
 
1959
        movl -52(%ebp),%ecx
 
1960
        pushl %ecx
 
1961
        call mulul3
 
1962
        movl %eax,%ebx
 
1963
        movl -72(%ebp),%edi
 
1964
        movl 4(%edi),%edx
 
1965
        addl $12,%esp
 
1966
        cmpl %edx,%ebx
 
1967
        setb %al
 
1968
        andl $255,%eax
 
1969
        movl %ebx,%esi
 
1970
        subl %edx,%esi
 
1971
        movl -4(%ebp),%ebx
 
1972
        movl -32(%ebp),%edx
 
1973
        movl %ebx,%ecx
 
1974
        subl %edx,%ecx
 
1975
        subl %eax,%ecx
 
1976
        movl %ecx,-84(%ebp)
 
1977
        cmpl %ebx,%edx
 
1978
        ja .L373
 
1979
        jmp .L313
 
1980
        .align 16
 
1981
        .align 4
 
1982
.L317:
 
1983
        cmpl $0,-88(%ebp)
 
1984
        je .L304
 
1985
        decl -52(%ebp)
 
1986
        movl %esi,%ebx
 
1987
        movl -44(%ebp),%edx
 
1988
        cmpl %edx,%ebx
 
1989
        setb %al
 
1990
        andl $255,%eax
 
1991
        subl %edx,%esi
 
1992
        movl -88(%ebp),%ebx
 
1993
        movl -48(%ebp),%edx
 
1994
        movl %ebx,%ecx
 
1995
        subl %edx,%ecx
 
1996
        subl %eax,%ecx
 
1997
        movl %ecx,-84(%ebp)
 
1998
        cmpl %ebx,%edx
 
1999
        jbe .L313
 
2000
.L373:
 
2001
        movl $1,%eax
 
2002
        jmp .L314
 
2003
        .align 16
 
2004
.L313:
 
2005
        cmpl %ebx,%edx
 
2006
        jae .L314
 
2007
        xorl %eax,%eax
 
2008
.L314:
 
2009
        movl -84(%ebp),%edi
 
2010
        movl %edi,-88(%ebp)
 
2011
        testl %eax,%eax
 
2012
        je .L317
 
2013
.L304:
 
2014
        movl $0,-4(%ebp)
 
2015
        movl -72(%ebp),%ecx
 
2016
        movl -80(%ebp),%edi
 
2017
        leal -8(%edi,%ecx),%ecx
 
2018
        movl %ecx,-88(%ebp)
 
2019
        movl -60(%ebp),%ecx
 
2020
        addl %edi,%ecx
 
2021
        movl %ecx,-76(%ebp)
 
2022
        movl -16(%ebp),%esi
 
2023
        addl $-2,%esi
 
2024
        je .L319
 
2025
        .align 4
 
2026
.L320:
 
2027
        movl -4(%ebp),%ebx
 
2028
        leal -4(%ebp),%eax
 
2029
        pushl %eax
 
2030
        addl $-4,-76(%ebp)
 
2031
        movl -76(%ebp),%edi
 
2032
        movl (%edi),%eax
 
2033
        pushl %eax
 
2034
        movl -52(%ebp),%ecx
 
2035
        pushl %ecx
 
2036
        call mulul3
 
2037
        movl %eax,-84(%ebp)
 
2038
        addl %ebx,-84(%ebp)
 
2039
        addl $12,%esp
 
2040
        cmpl %ebx,-84(%ebp)
 
2041
        jae .L322
 
2042
        incl -4(%ebp)
 
2043
.L322:
 
2044
        movl -84(%ebp),%edx
 
2045
        addl $-4,-88(%ebp)
 
2046
        movl -88(%ebp),%edi
 
2047
        movl (%edi),%ebx
 
2048
        cmpl %edx,%ebx
 
2049
        setb %al
 
2050
        andl $255,%eax
 
2051
        subl %edx,%ebx
 
2052
        movl %ebx,(%edi)
 
2053
        addl %eax,-4(%ebp)
 
2054
        decl %esi
 
2055
        jne .L320
 
2056
.L319:
 
2057
        movl -72(%ebp),%ecx
 
2058
        movl -4(%ecx),%eax
 
2059
        cmpl %eax,-4(%ebp)
 
2060
        jbe .L324
 
2061
        xorl %eax,%eax
 
2062
        decl -52(%ebp)
 
2063
        movl -80(%ebp),%edi
 
2064
        leal -8(%edi,%ecx),%edi
 
2065
        movl %edi,-88(%ebp)
 
2066
        movl -60(%ebp),%ecx
 
2067
        addl -80(%ebp),%ecx
 
2068
        movl %ecx,-76(%ebp)
 
2069
        movl -16(%ebp),%esi
 
2070
        addl $-2,%esi
 
2071
        je .L324
 
2072
        .align 4
 
2073
.L327:
 
2074
        movl -88(%ebp),%edx
 
2075
        addl $-4,%edx
 
2076
        movl %edx,-88(%ebp)
 
2077
        movl (%edx),%ebx
 
2078
        addl $-4,-76(%ebp)
 
2079
        movl %ebx,%ecx
 
2080
        movl -76(%ebp),%edi
 
2081
        addl (%edi),%ecx
 
2082
        movl %ecx,-84(%ebp)
 
2083
        cmpl %ebx,%ecx
 
2084
        jae .L328
 
2085
        addl %eax,%ecx
 
2086
        movl %ecx,-84(%ebp)
 
2087
        movl $1,%eax
 
2088
        movl %ecx,(%edx)
 
2089
        jmp .L325
 
2090
        .align 16
 
2091
.L328:
 
2092
        addl %eax,-84(%ebp)
 
2093
        cmpl %eax,-84(%ebp)
 
2094
        setb %al
 
2095
        andl $255,%eax
 
2096
        movl -84(%ebp),%edi
 
2097
        movl %edi,(%edx)
 
2098
.L325:
 
2099
        decl %esi
 
2100
        jne .L327
 
2101
.L324:
 
2102
        movl -52(%ebp),%edi
 
2103
        movl -72(%ebp),%ecx
 
2104
        movl %edi,-4(%ecx)
 
2105
        decl -24(%ebp)
 
2106
        jne .L301
 
2107
.L300:
 
2108
        movl avma,%ecx
 
2109
        movl %ecx,-88(%ebp)
 
2110
        cmpl $-1,16(%ebp)
 
2111
        je .L332
 
2112
        movl -20(%ebp),%ebx
 
2113
        addl $2,%ebx
 
2114
        movl -56(%ebp),%edi
 
2115
        leal (%edi,%ebx,4),%edi
 
2116
        movl %edi,-72(%ebp)
 
2117
        movl -56(%ebp),%ecx
 
2118
        cmpl $0,4(%ecx)
 
2119
        je .L333
 
2120
        movl -20(%ebp),%ebx
 
2121
        addl $3,%ebx
 
2122
        jmp .L334
 
2123
        .align 16
 
2124
.L333:
 
2125
        cmpl $0,-20(%ebp)
 
2126
        jne .L334
 
2127
        movl $0,-40(%ebp)
 
2128
.L334:
 
2129
        pushl %ebx
 
2130
        call cgeti
 
2131
        movl %eax,-64(%ebp)
 
2132
        leal (%eax,%ebx,4),%edx
 
2133
        addl $4,%esp
 
2134
        leal -2(%ebx),%esi
 
2135
        testl %esi,%esi
 
2136
        je .L337
 
2137
        .align 4
 
2138
.L338:
 
2139
        addl $-4,%edx
 
2140
        addl $-4,-72(%ebp)
 
2141
        movl -72(%ebp),%edi
 
2142
        movl (%edi),%eax
 
2143
        movl %eax,(%edx)
 
2144
        decl %esi
 
2145
        jne .L338
 
2146
.L337:
 
2147
        cmpl $2,%ebx
 
2148
        ja .L340
 
2149
        movl -64(%ebp),%ecx
 
2150
        movl $2,4(%ecx)
 
2151
        jmp .L332
 
2152
        .align 16
 
2153
.L340:
 
2154
        movl -64(%ebp),%edi
 
2155
        movl (%edi),%eax
 
2156
        movl %eax,4(%edi)
 
2157
        movb -40(%ebp),%cl
 
2158
        movb %cl,7(%edi)
 
2159
.L332:
 
2160
        cmpl $0,16(%ebp)
 
2161
        je .L342
 
2162
        movl -20(%ebp),%esi
 
2163
        addl $2,%esi
 
2164
        cmpl %esi,-12(%ebp)
 
2165
        jle .L344
 
2166
        movl -56(%ebp),%edi
 
2167
        cmpl $0,(%edi,%esi,4)
 
2168
        jne .L344
 
2169
        movl -20(%ebp),%esi
 
2170
        addl $3,%esi
 
2171
        cmpl %esi,-12(%ebp)
 
2172
        jle .L344
 
2173
        cmpl $0,(%edi,%esi,4)
 
2174
        jne .L344
 
2175
        .align 4
 
2176
.L345:
 
2177
        incl %esi
 
2178
        cmpl %esi,-12(%ebp)
 
2179
        jle .L344
 
2180
        movl -56(%ebp),%ecx
 
2181
        cmpl $0,(%ecx,%esi,4)
 
2182
        je .L345
 
2183
.L344:
 
2184
        cmpl %esi,-12(%ebp)
 
2185
        jne .L349
 
2186
        movl gzero,%eax
 
2187
        pushl %eax
 
2188
        call icopy
 
2189
        movl %eax,-68(%ebp)
 
2190
        addl $4,%esp
 
2191
        jmp .L342
 
2192
        .align 16
 
2193
.L349:
 
2194
        movl -12(%ebp),%eax
 
2195
        subl %esi,%eax
 
2196
        addl $2,%eax
 
2197
        pushl %eax
 
2198
        call cgeti
 
2199
        movl %eax,-68(%ebp)
 
2200
        movl (%eax),%eax
 
2201
        movl -68(%ebp),%edi
 
2202
        movl %eax,4(%edi)
 
2203
        addl $4,%esp
 
2204
        cmpl $0,-28(%ebp)
 
2205
        jne .L351
 
2206
        movl $2,-24(%ebp)
 
2207
        cmpl %esi,-12(%ebp)
 
2208
        jle .L357
 
2209
        .align 4
 
2210
.L355:
 
2211
        movl -56(%ebp),%ecx
 
2212
        movl (%ecx,%esi,4),%eax
 
2213
        movl -24(%ebp),%edi
 
2214
        movl -68(%ebp),%ecx
 
2215
        movl %eax,(%ecx,%edi,4)
 
2216
        incl %esi
 
2217
        incl %edi
 
2218
        movl %edi,-24(%ebp)
 
2219
        cmpl %esi,-12(%ebp)
 
2220
        jg .L355
 
2221
        jmp .L357
 
2222
        .align 16
 
2223
.L351:
 
2224
        movl $0,-4(%ebp)
 
2225
        movl -56(%ebp),%edi
 
2226
        movl (%edi,%esi,4),%ebx
 
2227
        incl %esi
 
2228
        movl $32,%eax
 
2229
        subl -28(%ebp),%eax
 
2230
        movl %ebx,%edi
 
2231
        movl %eax,%ecx
 
2232
        sall %cl,%edi
 
2233
        movl %edi,%eax
 
2234
        movl %eax,-4(%ebp)
 
2235
        movl %ebx,%edx
 
2236
        movl -28(%ebp),%ecx
 
2237
        shrl %cl,%edx
 
2238
        movl %eax,-32(%ebp)
 
2239
        testl %edx,%edx
 
2240
        je .L358
 
2241
        movl -68(%ebp),%edi
 
2242
        movl %edx,8(%edi)
 
2243
        movl $1,%eax
 
2244
        jmp .L359
 
2245
        .align 16
 
2246
.L358:
 
2247
        movl -68(%ebp),%ecx
 
2248
        movl (%ecx),%edi
 
2249
        decl %edi
 
2250
        movl %edi,4(%ecx)
 
2251
        addl $4,%ecx
 
2252
        movl %ecx,-68(%ebp)
 
2253
        addl $4,avma
 
2254
        movl (%ecx),%eax
 
2255
        movl %eax,4(%ecx)
 
2256
        xorl %eax,%eax
 
2257
.L359:
 
2258
        addl $2,%eax
 
2259
        movl %eax,-24(%ebp)
 
2260
        cmpl %esi,-12(%ebp)
 
2261
        jle .L357
 
2262
        movl $32,%ecx
 
2263
        subl -28(%ebp),%ecx
 
2264
        movl %ecx,-84(%ebp)
 
2265
        .align 4
 
2266
.L363:
 
2267
        movl -56(%ebp),%edi
 
2268
        movl (%edi,%esi,4),%ebx
 
2269
        movl %ebx,%edx
 
2270
        movl -84(%ebp),%ecx
 
2271
        sall %cl,%edx
 
2272
        movl %edx,-4(%ebp)
 
2273
        movl %ebx,%eax
 
2274
        movl -28(%ebp),%ecx
 
2275
        shrl %cl,%eax
 
2276
        addl -32(%ebp),%eax
 
2277
        movl -24(%ebp),%edi
 
2278
        movl -68(%ebp),%ecx
 
2279
        movl %eax,(%ecx,%edi,4)
 
2280
        movl %edx,-32(%ebp)
 
2281
        incl %esi
 
2282
        incl %edi
 
2283
        movl %edi,-24(%ebp)
 
2284
        cmpl %esi,-12(%ebp)
 
2285
        jg .L363
 
2286
.L357:
 
2287
        movb -36(%ebp),%cl
 
2288
        movl -68(%ebp),%edi
 
2289
        movb %cl,7(%edi)
 
2290
.L342:
 
2291
        cmpl $-1,16(%ebp)
 
2292
        jne .L365
 
2293
        movl -68(%ebp),%ecx
 
2294
        pushl %ecx
 
2295
        movl -88(%ebp),%edi
 
2296
        pushl %edi
 
2297
        movl -8(%ebp),%ecx
 
2298
        pushl %ecx
 
2299
        jmp .L371
 
2300
        .align 16
 
2301
.L365:
 
2302
        cmpl $0,16(%ebp)
 
2303
        je .L366
 
2304
        pushl $0
 
2305
        movl -88(%ebp),%edi
 
2306
        pushl %edi
 
2307
        movl -8(%ebp),%ecx
 
2308
        pushl %ecx
 
2309
        call gerepile
 
2310
        andb $252,%al
 
2311
        movl -68(%ebp),%ecx
 
2312
        addl %eax,%ecx
 
2313
        movl 16(%ebp),%edi
 
2314
        movl %ecx,(%edi)
 
2315
        addl -64(%ebp),%eax
 
2316
        jmp .L367
 
2317
        .align 16
 
2318
.L366:
 
2319
        movl -64(%ebp),%edi
 
2320
        pushl %edi
 
2321
        movl -88(%ebp),%ecx
 
2322
        pushl %ecx
 
2323
        movl -8(%ebp),%edi
 
2324
        pushl %edi
 
2325
.L371:
 
2326
        call gerepile
 
2327
.L367:
 
2328
        leal -100(%ebp),%esp
 
2329
        popl %ebx
 
2330
        popl %esi
 
2331
        popl %edi
 
2332
        movl %ebp,%esp
 
2333
        popl %ebp
 
2334
        ret
 
2335
.Lfe13:
 
2336
        .size    dvmdii,.Lfe13-dvmdii
 
2337
        .ident  "GCC: (GNU) 2.7.2.1"