Initial revision
[fw/sdcc] / device / lib / large / _fsdiv.asm
1 ;--------------------------------------------------------
2 ; File Created by SDCC : FreeWare ANSI-C Compiler
3 ; Version 2.1.9Ga Sun Jan 16 17:31:26 2000
4
5 ;--------------------------------------------------------
6         .module _fsdiv
7 ;--------------------------------------------------------
8 ; publics variables in this module
9 ;--------------------------------------------------------
10         .globl ___fsdiv_PARM_2
11         .globl ___fsdiv
12 ;--------------------------------------------------------
13 ; special function registers
14 ;--------------------------------------------------------
15 ;--------------------------------------------------------
16 ; special function bits 
17 ;--------------------------------------------------------
18 ;--------------------------------------------------------
19 ; internal ram data
20 ;--------------------------------------------------------
21         .area   DSEG    (DATA)
22 ___fsdiv_sloc0_1_0:
23         .ds     0x0001
24 ___fsdiv_sloc1_1_0:
25         .ds     0x0004
26 ___fsdiv_sloc2_1_0:
27         .ds     0x0004
28 ___fsdiv_sloc3_1_0:
29         .ds     0x0004
30 ;--------------------------------------------------------
31 ; overlayable items in internal ram 
32 ;--------------------------------------------------------
33         .area   OSEG    (OVR,DATA)
34 ;--------------------------------------------------------
35 ; indirectly addressable internal ram data
36 ;--------------------------------------------------------
37         .area   ISEG    (DATA)
38 ;--------------------------------------------------------
39 ; bit data
40 ;--------------------------------------------------------
41         .area   BSEG    (BIT)
42 ;--------------------------------------------------------
43 ; external ram data
44 ;--------------------------------------------------------
45         .area   XSEG    (XDATA)
46 ___fsdiv_PARM_2:
47         .ds     0x0004
48 ___fsdiv_a1_1_1:
49         .ds     0x0004
50 ___fsdiv_fl1_1_1:
51         .ds     0x0004
52 ___fsdiv_fl2_1_1:
53         .ds     0x0004
54 ___fsdiv_result_1_1:
55         .ds     0x0004
56 ___fsdiv_mask_1_1:
57         .ds     0x0004
58 ___fsdiv_mant1_1_1:
59         .ds     0x0004
60 ___fsdiv_mant2_1_1:
61         .ds     0x0004
62 ___fsdiv_exp_1_1:
63         .ds     0x0002
64 ;--------------------------------------------------------
65 ; global & static initialisations
66 ;--------------------------------------------------------
67         .area GSINIT (CODE)
68 ;--------------------------------------------------------
69 ; code
70 ;--------------------------------------------------------
71         .area CSEG (CODE)
72         G$__fsdiv$0$0 ==.
73 ;       _fsdiv.c 73
74 ;       -----------------------------------------
75 ;        function __fsdiv
76 ;       -----------------------------------------
77 ___fsdiv:
78         ar2 = 0x02
79         ar3 = 0x03
80         ar4 = 0x04
81         ar5 = 0x05
82         ar6 = 0x06
83         ar7 = 0x07
84         ar0 = 0x00
85         ar1 = 0x01
86 ;       _fsdiv.c 138
87         push    acc
88         push    b
89         push    dph
90         push    dpl
91         mov     dptr,#___fsdiv_a1_1_1
92         pop     acc
93         movx    @dptr,a
94         pop     acc
95         inc     dptr
96         movx    @dptr,a
97         pop     acc
98         inc     dptr
99         movx    @dptr,a
100         pop     acc
101         inc     dptr
102         movx    @dptr,a
103 ;       _fsdiv.c 82
104         mov     dptr,#___fsdiv_a1_1_1
105         movx    a,@dptr
106         mov     r2,a
107         inc     dptr
108         movx    a,@dptr
109         mov     r3,a
110         inc     dptr
111         movx    a,@dptr
112         mov     r4,a
113         inc     dptr
114         movx    a,@dptr
115         mov     r5,a
116         mov     dptr,#(___fsdiv_fl1_1_1)
117         mov     a,r2
118         movx    @dptr,a
119         inc     dptr
120         mov     a,r3
121         movx    @dptr,a
122         inc     dptr
123         mov     a,r4
124         movx    @dptr,a
125         inc     dptr
126         mov     a,r5
127         movx    @dptr,a
128 ;       _fsdiv.c 83
129         mov     dptr,#___fsdiv_PARM_2
130         movx    a,@dptr
131         mov     r2,a
132         inc     dptr
133         movx    a,@dptr
134         mov     r3,a
135         inc     dptr
136         movx    a,@dptr
137         mov     r4,a
138         inc     dptr
139         movx    a,@dptr
140         mov     r5,a
141         mov     dptr,#(___fsdiv_fl2_1_1)
142         mov     a,r2
143         movx    @dptr,a
144         inc     dptr
145         mov     a,r3
146         movx    @dptr,a
147         inc     dptr
148         mov     a,r4
149         movx    @dptr,a
150         inc     dptr
151         mov     a,r5
152         movx    @dptr,a
153 ;       _fsdiv.c 86
154         mov     dptr,#(___fsdiv_fl1_1_1)
155         movx    a,@dptr
156         mov     r2,a
157         inc     dptr
158         movx    a,@dptr
159         mov     r3,a
160         inc     dptr
161         movx    a,@dptr
162         mov     r4,a
163         inc     dptr
164         movx    a,@dptr
165         mov     r5,a
166         mov     ar2,r4
167         mov     a,r5
168         mov     c,acc.7
169         xch     a,r2
170         rlc     a
171         xch     a,r2
172         rlc     a
173         xch     a,r2
174         anl     a,#0x01
175         jnb     acc.0,00120$
176         orl     a,#0xfe
177 00120$:
178         mov     r3,a
179         rlc     a
180         subb    a,acc
181         mov     r4,a
182         mov     r5,a
183         mov     dptr,#___fsdiv_exp_1_1
184         mov     a,r2
185         movx    @dptr,a
186         inc     dptr
187 ; Peephole 180   changed mov to clr
188         clr  a
189         movx    @dptr,a
190 ;       _fsdiv.c 87
191         mov     dptr,#(___fsdiv_fl2_1_1)
192         movx    a,@dptr
193         mov     r2,a
194         inc     dptr
195         movx    a,@dptr
196         mov     r3,a
197         inc     dptr
198         movx    a,@dptr
199         mov     r6,a
200         inc     dptr
201         movx    a,@dptr
202         mov     r7,a
203         mov     ar2,r6
204         mov     a,r7
205         mov     c,acc.7
206         xch     a,r2
207         rlc     a
208         xch     a,r2
209         rlc     a
210         xch     a,r2
211         anl     a,#0x01
212         jnb     acc.0,00121$
213         orl     a,#0xfe
214 00121$:
215         mov     r3,a
216         rlc     a
217         subb    a,acc
218         mov     r6,a
219         mov     r7,a
220         mov     r3,#0x00
221         mov     dptr,#___fsdiv_exp_1_1
222         movx    a,@dptr
223         mov     r0,a
224         inc     dptr
225         movx    a,@dptr
226         mov     r1,a
227         mov     dptr,#___fsdiv_exp_1_1
228         clr     c
229         mov     a,r0
230         subb    a,r2
231         movx    @dptr,a
232         mov     a,r1
233         subb    a,r3
234         inc     dptr
235         movx    @dptr,a
236 ;       _fsdiv.c 88
237         mov     dptr,#___fsdiv_exp_1_1
238         movx    a,@dptr
239         mov     r2,a
240         inc     dptr
241         movx    a,@dptr
242         mov     r3,a
243         mov     dptr,#___fsdiv_exp_1_1
244         mov     a,#0x7e
245         add     a,r2
246         movx    @dptr,a
247 ; Peephole 180   changed mov to clr
248         clr  a
249         addc    a,r3
250         inc     dptr
251         movx    @dptr,a
252 ;       _fsdiv.c 91
253         mov     dptr,#(___fsdiv_fl1_1_1)
254         movx    a,@dptr
255         mov     r2,a
256         inc     dptr
257         movx    a,@dptr
258         mov     r3,a
259         inc     dptr
260         movx    a,@dptr
261         mov     r0,a
262         inc     dptr
263         movx    a,@dptr
264 ; Peephole 105   removed redundant mov
265         mov  r1,a
266         rl      a
267         anl     a,#0x01
268         mov     ___fsdiv_sloc0_1_0,a
269         mov     dptr,#(___fsdiv_fl2_1_1)
270         movx    a,@dptr
271         mov     ___fsdiv_sloc1_1_0,a
272         inc     dptr
273         movx    a,@dptr
274         mov     (___fsdiv_sloc1_1_0 + 1),a
275         inc     dptr
276         movx    a,@dptr
277         mov     (___fsdiv_sloc1_1_0 + 2),a
278         inc     dptr
279         movx    a,@dptr
280 ; Peephole 105   removed redundant mov
281         mov  (___fsdiv_sloc1_1_0 + 3),a
282         rl      a
283         anl     a,#0x01
284 ; Peephole 105   removed redundant mov
285         mov  r2,a
286         xrl     a,___fsdiv_sloc0_1_0
287         mov     ___fsdiv_sloc1_1_0,a
288 ;       _fsdiv.c 94
289         mov     dptr,#(___fsdiv_fl2_1_1)
290         movx    a,@dptr
291         mov     ___fsdiv_sloc2_1_0,a
292         inc     dptr
293         movx    a,@dptr
294         mov     (___fsdiv_sloc2_1_0 + 1),a
295         inc     dptr
296         movx    a,@dptr
297         mov     (___fsdiv_sloc2_1_0 + 2),a
298         inc     dptr
299         movx    a,@dptr
300         mov     (___fsdiv_sloc2_1_0 + 3),a
301         mov     a,___fsdiv_sloc2_1_0
302         orl     a,(___fsdiv_sloc2_1_0 + 1)
303         orl     a,(___fsdiv_sloc2_1_0 + 2)
304         orl     a,(___fsdiv_sloc2_1_0 + 3)
305 ; Peephole 109   removed ljmp by inverse jump logic
306         jnz  00102$
307 00122$:
308 ;       _fsdiv.c 96
309 ; Peephole 181   used 16 bit load of dptr
310         mov  dptr,#0x0000
311         mov     b,#0x80
312         mov     a,#0xbf
313         ljmp    00112$
314 00102$:
315 ;       _fsdiv.c 99
316         mov     dptr,#(___fsdiv_fl1_1_1)
317         movx    a,@dptr
318         mov     ___fsdiv_sloc2_1_0,a
319         inc     dptr
320         movx    a,@dptr
321         mov     (___fsdiv_sloc2_1_0 + 1),a
322         inc     dptr
323         movx    a,@dptr
324         mov     (___fsdiv_sloc2_1_0 + 2),a
325         inc     dptr
326         movx    a,@dptr
327         mov     (___fsdiv_sloc2_1_0 + 3),a
328         mov     a,___fsdiv_sloc2_1_0
329         orl     a,(___fsdiv_sloc2_1_0 + 1)
330         orl     a,(___fsdiv_sloc2_1_0 + 2)
331         orl     a,(___fsdiv_sloc2_1_0 + 3)
332 ; Peephole 109   removed ljmp by inverse jump logic
333         jnz  00104$
334 00123$:
335 ;       _fsdiv.c 100
336 ; Peephole 3.a   changed mov to clr
337 ; Peephole 3.b   changed mov to clr
338 ; Peephole 3.b   changed mov to clr
339         clr  a
340         mov  dpl,a
341         mov  dph,a
342         mov  b,a
343         ljmp    00112$
344 00104$:
345 ;       _fsdiv.c 103
346         mov     dptr,#(___fsdiv_fl1_1_1)
347         movx    a,@dptr
348         mov     ___fsdiv_sloc2_1_0,a
349         inc     dptr
350         movx    a,@dptr
351         mov     (___fsdiv_sloc2_1_0 + 1),a
352         inc     dptr
353         movx    a,@dptr
354         mov     (___fsdiv_sloc2_1_0 + 2),a
355         inc     dptr
356         movx    a,@dptr
357         mov     (___fsdiv_sloc2_1_0 + 3),a
358         anl     (___fsdiv_sloc2_1_0 + 2),#0x7f
359         mov     (___fsdiv_sloc2_1_0 + 3),#0x00
360         mov     dptr,#___fsdiv_mant1_1_1
361         mov     a,___fsdiv_sloc2_1_0
362         movx    @dptr,a
363         inc     dptr
364         mov     a,(___fsdiv_sloc2_1_0 + 1)
365         movx    @dptr,a
366         mov     a,#0x80
367         orl     a,(___fsdiv_sloc2_1_0 + 2)
368         inc     dptr
369         movx    @dptr,a
370         inc     dptr
371         mov     a,(___fsdiv_sloc2_1_0 + 3)
372         movx    @dptr,a
373 ;       _fsdiv.c 104
374         mov     dptr,#(___fsdiv_fl2_1_1)
375         movx    a,@dptr
376         mov     ___fsdiv_sloc2_1_0,a
377         inc     dptr
378         movx    a,@dptr
379         mov     (___fsdiv_sloc2_1_0 + 1),a
380         inc     dptr
381         movx    a,@dptr
382         mov     (___fsdiv_sloc2_1_0 + 2),a
383         inc     dptr
384         movx    a,@dptr
385         mov     (___fsdiv_sloc2_1_0 + 3),a
386         anl     (___fsdiv_sloc2_1_0 + 2),#0x7f
387         mov     (___fsdiv_sloc2_1_0 + 3),#0x00
388         mov     dptr,#___fsdiv_mant2_1_1
389         mov     a,___fsdiv_sloc2_1_0
390         movx    @dptr,a
391         inc     dptr
392         mov     a,(___fsdiv_sloc2_1_0 + 1)
393         movx    @dptr,a
394         mov     a,#0x80
395         orl     a,(___fsdiv_sloc2_1_0 + 2)
396         inc     dptr
397         movx    @dptr,a
398         inc     dptr
399         mov     a,(___fsdiv_sloc2_1_0 + 3)
400         movx    @dptr,a
401 ;       _fsdiv.c 107
402         mov     dptr,#___fsdiv_mant2_1_1
403         movx    a,@dptr
404         mov     ___fsdiv_sloc2_1_0,a
405         inc     dptr
406         movx    a,@dptr
407         mov     (___fsdiv_sloc2_1_0 + 1),a
408         inc     dptr
409         movx    a,@dptr
410         mov     (___fsdiv_sloc2_1_0 + 2),a
411         inc     dptr
412         movx    a,@dptr
413         mov     (___fsdiv_sloc2_1_0 + 3),a
414         mov     dptr,#___fsdiv_mant1_1_1
415         movx    a,@dptr
416         mov     ___fsdiv_sloc3_1_0,a
417         inc     dptr
418         movx    a,@dptr
419         mov     (___fsdiv_sloc3_1_0 + 1),a
420         inc     dptr
421         movx    a,@dptr
422         mov     (___fsdiv_sloc3_1_0 + 2),a
423         inc     dptr
424         movx    a,@dptr
425         mov     (___fsdiv_sloc3_1_0 + 3),a
426         clr     c
427         mov     a,___fsdiv_sloc3_1_0
428         subb    a,___fsdiv_sloc2_1_0
429         mov     a,(___fsdiv_sloc3_1_0 + 1)
430         subb    a,(___fsdiv_sloc2_1_0 + 1)
431         mov     a,(___fsdiv_sloc3_1_0 + 2)
432         subb    a,(___fsdiv_sloc2_1_0 + 2)
433         mov     a,(___fsdiv_sloc3_1_0 + 3)
434         xrl     a,#0x80
435         mov     b,(___fsdiv_sloc2_1_0 + 3)
436         xrl     b,#0x80
437         subb    a,b
438         jc      00124$
439         ljmp    00106$
440 00124$:
441 ;       _fsdiv.c 109
442         mov     dptr,#___fsdiv_mant1_1_1
443         movx    a,@dptr
444         mov     ___fsdiv_sloc3_1_0,a
445         inc     dptr
446         movx    a,@dptr
447         mov     (___fsdiv_sloc3_1_0 + 1),a
448         inc     dptr
449         movx    a,@dptr
450         mov     (___fsdiv_sloc3_1_0 + 2),a
451         inc     dptr
452         movx    a,@dptr
453         mov     (___fsdiv_sloc3_1_0 + 3),a
454         mov     a,___fsdiv_sloc3_1_0
455         add     a,acc
456         mov     ___fsdiv_sloc3_1_0,a
457         mov     a,(___fsdiv_sloc3_1_0 + 1)
458         rlc     a
459         mov     (___fsdiv_sloc3_1_0 + 1),a
460         mov     a,(___fsdiv_sloc3_1_0 + 2)
461         rlc     a
462         mov     (___fsdiv_sloc3_1_0 + 2),a
463         mov     a,(___fsdiv_sloc3_1_0 + 3)
464         rlc     a
465         mov     (___fsdiv_sloc3_1_0 + 3),a
466         mov     dptr,#___fsdiv_mant1_1_1
467         mov     a,___fsdiv_sloc3_1_0
468         movx    @dptr,a
469         inc     dptr
470         mov     a,(___fsdiv_sloc3_1_0 + 1)
471         movx    @dptr,a
472         inc     dptr
473         mov     a,(___fsdiv_sloc3_1_0 + 2)
474         movx    @dptr,a
475         inc     dptr
476         mov     a,(___fsdiv_sloc3_1_0 + 3)
477         movx    @dptr,a
478 ;       _fsdiv.c 110
479         mov     dptr,#___fsdiv_exp_1_1
480         movx    a,@dptr
481         add     a,#0xff
482         mov     ___fsdiv_sloc3_1_0,a
483         inc     dptr
484         movx    a,@dptr
485         addc    a,#0xff
486         mov     (___fsdiv_sloc3_1_0 + 1),a
487         mov     dptr,#___fsdiv_exp_1_1
488         mov     a,___fsdiv_sloc3_1_0
489         movx    @dptr,a
490         inc     dptr
491         mov     a,(___fsdiv_sloc3_1_0 + 1)
492         movx    @dptr,a
493 00106$:
494 ;       _fsdiv.c 114
495         mov     dptr,#___fsdiv_mask_1_1
496 ; Peephole 101   removed redundant mov
497 ; Peephole 180   changed mov to clr
498         clr  a
499         movx @dptr,a
500         inc  dptr
501         movx @dptr,a
502         inc     dptr
503 ; Peephole 180   changed mov to clr
504         clr  a
505         movx    @dptr,a
506         inc     dptr
507         mov     a,#0x01
508         movx    @dptr,a
509 ;       _fsdiv.c 115
510         mov     dptr,#___fsdiv_result_1_1
511         clr     a
512         inc     dptr
513         inc     dptr
514         inc     dptr
515         movx    @dptr,a
516         lcall   __decdptr
517         movx    @dptr,a
518         lcall   __decdptr
519         movx    @dptr,a
520         lcall   __decdptr
521         movx    @dptr,a
522 ;       _fsdiv.c 116
523 00109$:
524         mov     dptr,#___fsdiv_mask_1_1
525         movx    a,@dptr
526         mov     ___fsdiv_sloc3_1_0,a
527         inc     dptr
528         movx    a,@dptr
529         mov     (___fsdiv_sloc3_1_0 + 1),a
530         inc     dptr
531         movx    a,@dptr
532         mov     (___fsdiv_sloc3_1_0 + 2),a
533         inc     dptr
534         movx    a,@dptr
535         mov     (___fsdiv_sloc3_1_0 + 3),a
536         mov     a,___fsdiv_sloc3_1_0
537         orl     a,(___fsdiv_sloc3_1_0 + 1)
538         orl     a,(___fsdiv_sloc3_1_0 + 2)
539         orl     a,(___fsdiv_sloc3_1_0 + 3)
540         jnz     00125$
541         ljmp    00111$
542 00125$:
543 ;       _fsdiv.c 118
544         mov     dptr,#___fsdiv_mant2_1_1
545         movx    a,@dptr
546         mov     ___fsdiv_sloc3_1_0,a
547         inc     dptr
548         movx    a,@dptr
549         mov     (___fsdiv_sloc3_1_0 + 1),a
550         inc     dptr
551         movx    a,@dptr
552         mov     (___fsdiv_sloc3_1_0 + 2),a
553         inc     dptr
554         movx    a,@dptr
555         mov     (___fsdiv_sloc3_1_0 + 3),a
556         mov     dptr,#___fsdiv_mant1_1_1
557         movx    a,@dptr
558         mov     ___fsdiv_sloc2_1_0,a
559         inc     dptr
560         movx    a,@dptr
561         mov     (___fsdiv_sloc2_1_0 + 1),a
562         inc     dptr
563         movx    a,@dptr
564         mov     (___fsdiv_sloc2_1_0 + 2),a
565         inc     dptr
566         movx    a,@dptr
567         mov     (___fsdiv_sloc2_1_0 + 3),a
568         clr     c
569         mov     a,___fsdiv_sloc2_1_0
570         subb    a,___fsdiv_sloc3_1_0
571         mov     a,(___fsdiv_sloc2_1_0 + 1)
572         subb    a,(___fsdiv_sloc3_1_0 + 1)
573         mov     a,(___fsdiv_sloc2_1_0 + 2)
574         subb    a,(___fsdiv_sloc3_1_0 + 2)
575         mov     a,(___fsdiv_sloc2_1_0 + 3)
576         xrl     a,#0x80
577         mov     b,(___fsdiv_sloc3_1_0 + 3)
578         xrl     b,#0x80
579         subb    a,b
580         jnc     00126$
581         ljmp    00108$
582 00126$:
583 ;       _fsdiv.c 120
584         mov     dptr,#___fsdiv_mask_1_1
585         movx    a,@dptr
586         mov     ___fsdiv_sloc3_1_0,a
587         inc     dptr
588         movx    a,@dptr
589         mov     (___fsdiv_sloc3_1_0 + 1),a
590         inc     dptr
591         movx    a,@dptr
592         mov     (___fsdiv_sloc3_1_0 + 2),a
593         inc     dptr
594         movx    a,@dptr
595         mov     (___fsdiv_sloc3_1_0 + 3),a
596         mov     dptr,#___fsdiv_result_1_1
597         movx    a,@dptr
598         mov     ___fsdiv_sloc2_1_0,a
599         inc     dptr
600         movx    a,@dptr
601         mov     (___fsdiv_sloc2_1_0 + 1),a
602         inc     dptr
603         movx    a,@dptr
604         mov     (___fsdiv_sloc2_1_0 + 2),a
605         inc     dptr
606         movx    a,@dptr
607         mov     (___fsdiv_sloc2_1_0 + 3),a
608         mov     dptr,#___fsdiv_result_1_1
609         mov     a,___fsdiv_sloc3_1_0
610         orl     a,___fsdiv_sloc2_1_0
611         movx    @dptr,a
612         mov     a,(___fsdiv_sloc3_1_0 + 1)
613         orl     a,(___fsdiv_sloc2_1_0 + 1)
614         inc     dptr
615         movx    @dptr,a
616         mov     a,(___fsdiv_sloc3_1_0 + 2)
617         orl     a,(___fsdiv_sloc2_1_0 + 2)
618         inc     dptr
619         movx    @dptr,a
620         mov     a,(___fsdiv_sloc3_1_0 + 3)
621         orl     a,(___fsdiv_sloc2_1_0 + 3)
622         inc     dptr
623         movx    @dptr,a
624 ;       _fsdiv.c 121
625         mov     dptr,#___fsdiv_mant2_1_1
626         movx    a,@dptr
627         mov     ___fsdiv_sloc3_1_0,a
628         inc     dptr
629         movx    a,@dptr
630         mov     (___fsdiv_sloc3_1_0 + 1),a
631         inc     dptr
632         movx    a,@dptr
633         mov     (___fsdiv_sloc3_1_0 + 2),a
634         inc     dptr
635         movx    a,@dptr
636         mov     (___fsdiv_sloc3_1_0 + 3),a
637         mov     dptr,#___fsdiv_mant1_1_1
638         movx    a,@dptr
639         mov     ___fsdiv_sloc2_1_0,a
640         inc     dptr
641         movx    a,@dptr
642         mov     (___fsdiv_sloc2_1_0 + 1),a
643         inc     dptr
644         movx    a,@dptr
645         mov     (___fsdiv_sloc2_1_0 + 2),a
646         inc     dptr
647         movx    a,@dptr
648         mov     (___fsdiv_sloc2_1_0 + 3),a
649         mov     dptr,#___fsdiv_mant1_1_1
650         clr     c
651         mov     a,___fsdiv_sloc2_1_0
652         subb    a,___fsdiv_sloc3_1_0
653         movx    @dptr,a
654         mov     a,(___fsdiv_sloc2_1_0 + 1)
655         subb    a,(___fsdiv_sloc3_1_0 + 1)
656         inc     dptr
657         movx    @dptr,a
658         mov     a,(___fsdiv_sloc2_1_0 + 2)
659         subb    a,(___fsdiv_sloc3_1_0 + 2)
660         inc     dptr
661         movx    @dptr,a
662         mov     a,(___fsdiv_sloc2_1_0 + 3)
663         subb    a,(___fsdiv_sloc3_1_0 + 3)
664         inc     dptr
665         movx    @dptr,a
666 00108$:
667 ;       _fsdiv.c 123
668         mov     dptr,#___fsdiv_mant1_1_1
669         movx    a,@dptr
670         mov     ___fsdiv_sloc3_1_0,a
671         inc     dptr
672         movx    a,@dptr
673         mov     (___fsdiv_sloc3_1_0 + 1),a
674         inc     dptr
675         movx    a,@dptr
676         mov     (___fsdiv_sloc3_1_0 + 2),a
677         inc     dptr
678         movx    a,@dptr
679         mov     (___fsdiv_sloc3_1_0 + 3),a
680         mov     a,___fsdiv_sloc3_1_0
681         add     a,acc
682         mov     ___fsdiv_sloc3_1_0,a
683         mov     a,(___fsdiv_sloc3_1_0 + 1)
684         rlc     a
685         mov     (___fsdiv_sloc3_1_0 + 1),a
686         mov     a,(___fsdiv_sloc3_1_0 + 2)
687         rlc     a
688         mov     (___fsdiv_sloc3_1_0 + 2),a
689         mov     a,(___fsdiv_sloc3_1_0 + 3)
690         rlc     a
691         mov     (___fsdiv_sloc3_1_0 + 3),a
692         mov     dptr,#___fsdiv_mant1_1_1
693         mov     a,___fsdiv_sloc3_1_0
694         movx    @dptr,a
695         inc     dptr
696         mov     a,(___fsdiv_sloc3_1_0 + 1)
697         movx    @dptr,a
698         inc     dptr
699         mov     a,(___fsdiv_sloc3_1_0 + 2)
700         movx    @dptr,a
701         inc     dptr
702         mov     a,(___fsdiv_sloc3_1_0 + 3)
703         movx    @dptr,a
704 ;       _fsdiv.c 124
705         mov     dptr,#___fsdiv_mask_1_1
706         movx    a,@dptr
707         mov     ___fsdiv_sloc3_1_0,a
708         inc     dptr
709         movx    a,@dptr
710         mov     (___fsdiv_sloc3_1_0 + 1),a
711         inc     dptr
712         movx    a,@dptr
713         mov     (___fsdiv_sloc3_1_0 + 2),a
714         inc     dptr
715         movx    a,@dptr
716 ; Peephole 106   removed redundant mov 
717         mov  (___fsdiv_sloc3_1_0 + 3),a
718         clr  c
719         rrc     a
720         mov     (___fsdiv_sloc3_1_0 + 3),a
721         mov     a,(___fsdiv_sloc3_1_0 + 2)
722         rrc     a
723         mov     (___fsdiv_sloc3_1_0 + 2),a
724         mov     a,(___fsdiv_sloc3_1_0 + 1)
725         rrc     a
726         mov     (___fsdiv_sloc3_1_0 + 1),a
727         mov     a,___fsdiv_sloc3_1_0
728         rrc     a
729 ; Peephole 100   removed redundant mov
730         mov  ___fsdiv_sloc3_1_0,a
731         mov  dptr,#___fsdiv_mask_1_1
732         movx @dptr,a
733         inc     dptr
734         mov     a,(___fsdiv_sloc3_1_0 + 1)
735         movx    @dptr,a
736         inc     dptr
737         mov     a,(___fsdiv_sloc3_1_0 + 2)
738         movx    @dptr,a
739         inc     dptr
740         mov     a,(___fsdiv_sloc3_1_0 + 3)
741         movx    @dptr,a
742         ljmp    00109$
743 00111$:
744 ;       _fsdiv.c 128
745         mov     dptr,#___fsdiv_result_1_1
746         movx    a,@dptr
747         mov     ___fsdiv_sloc3_1_0,a
748         inc     dptr
749         movx    a,@dptr
750         mov     (___fsdiv_sloc3_1_0 + 1),a
751         inc     dptr
752         movx    a,@dptr
753         mov     (___fsdiv_sloc3_1_0 + 2),a
754         inc     dptr
755         movx    a,@dptr
756         mov     (___fsdiv_sloc3_1_0 + 3),a
757         mov     dptr,#___fsdiv_result_1_1
758         mov     a,#0x01
759         add     a,___fsdiv_sloc3_1_0
760         movx    @dptr,a
761 ; Peephole 180   changed mov to clr
762         clr  a
763         addc    a,(___fsdiv_sloc3_1_0 + 1)
764         inc     dptr
765         movx    @dptr,a
766 ; Peephole 180   changed mov to clr
767         clr  a
768         addc    a,(___fsdiv_sloc3_1_0 + 2)
769         inc     dptr
770         movx    @dptr,a
771 ; Peephole 180   changed mov to clr
772         clr  a
773         addc    a,(___fsdiv_sloc3_1_0 + 3)
774         inc     dptr
775         movx    @dptr,a
776 ;       _fsdiv.c 131
777         mov     dptr,#___fsdiv_exp_1_1
778         movx    a,@dptr
779         add     a,#0x01
780         movx    @dptr,a
781         inc     dptr
782         movx    a,@dptr
783         addc    a,#0x00
784         movx    @dptr,a
785 ;       _fsdiv.c 132
786         mov     dptr,#___fsdiv_result_1_1
787         movx    a,@dptr
788         mov     ___fsdiv_sloc3_1_0,a
789         inc     dptr
790         movx    a,@dptr
791         mov     (___fsdiv_sloc3_1_0 + 1),a
792         inc     dptr
793         movx    a,@dptr
794         mov     (___fsdiv_sloc3_1_0 + 2),a
795         inc     dptr
796         movx    a,@dptr
797 ; Peephole 105   removed redundant mov
798         mov  (___fsdiv_sloc3_1_0 + 3),a
799         mov     c,acc.7
800         rrc     a
801         mov     (___fsdiv_sloc3_1_0 + 3),a
802         mov     a,(___fsdiv_sloc3_1_0 + 2)
803         rrc     a
804         mov     (___fsdiv_sloc3_1_0 + 2),a
805         mov     a,(___fsdiv_sloc3_1_0 + 1)
806         rrc     a
807         mov     (___fsdiv_sloc3_1_0 + 1),a
808         mov     a,___fsdiv_sloc3_1_0
809         rrc     a
810 ; Peephole 100   removed redundant mov
811         mov  ___fsdiv_sloc3_1_0,a
812         mov  dptr,#___fsdiv_result_1_1
813         movx @dptr,a
814         inc     dptr
815         mov     a,(___fsdiv_sloc3_1_0 + 1)
816         movx    @dptr,a
817         inc     dptr
818         mov     a,(___fsdiv_sloc3_1_0 + 2)
819         movx    @dptr,a
820         inc     dptr
821         mov     a,(___fsdiv_sloc3_1_0 + 3)
822         movx    @dptr,a
823 ;       _fsdiv.c 134
824         mov     dptr,#___fsdiv_result_1_1
825         movx    a,@dptr
826         mov     ___fsdiv_sloc3_1_0,a
827         inc     dptr
828         movx    a,@dptr
829         mov     (___fsdiv_sloc3_1_0 + 1),a
830         inc     dptr
831         movx    a,@dptr
832         mov     (___fsdiv_sloc3_1_0 + 2),a
833         inc     dptr
834         movx    a,@dptr
835         mov     (___fsdiv_sloc3_1_0 + 3),a
836         mov     dptr,#___fsdiv_result_1_1
837         mov     a,___fsdiv_sloc3_1_0
838         movx    @dptr,a
839         inc     dptr
840         mov     a,(___fsdiv_sloc3_1_0 + 1)
841         movx    @dptr,a
842         mov     a,#0x7f
843         anl     a,(___fsdiv_sloc3_1_0 + 2)
844         inc     dptr
845         movx    @dptr,a
846         inc     dptr
847         mov     a,(___fsdiv_sloc3_1_0 + 3)
848         movx    @dptr,a
849 ;       _fsdiv.c 137
850         mov     dptr,#___fsdiv_exp_1_1
851         movx    a,@dptr
852         mov     ___fsdiv_sloc3_1_0,a
853         inc     dptr
854         movx    a,@dptr
855         mov     (___fsdiv_sloc3_1_0 + 1),a
856         mov     (___fsdiv_sloc3_1_0 + 2),___fsdiv_sloc3_1_0
857         mov     a,(___fsdiv_sloc3_1_0 + 1)
858         anl     a,#0x01
859         mov     c,acc.0
860         xch     a,(___fsdiv_sloc3_1_0 + 2)
861         rrc     a
862         xch     a,(___fsdiv_sloc3_1_0 + 2)
863         rrc     a
864         xch     a,(___fsdiv_sloc3_1_0 + 2)
865         mov     (___fsdiv_sloc3_1_0 + 3),a
866         mov     (___fsdiv_sloc3_1_0 + 1),#0x00
867         mov     ___fsdiv_sloc3_1_0,#0x00
868         mov     ___fsdiv_sloc2_1_0,___fsdiv_sloc1_1_0
869 ; Peephole 3.c   changed mov to clr
870 ; Peephole 3.b   changed mov to clr
871         clr  a
872         mov  (___fsdiv_sloc2_1_0 + 1),a
873         mov  (___fsdiv_sloc2_1_0 + 2),a
874         mov  (___fsdiv_sloc2_1_0 + 3),a
875         mov  a,___fsdiv_sloc2_1_0
876         orl     ___fsdiv_sloc3_1_0,a
877         mov     a,(___fsdiv_sloc2_1_0 + 1)
878         orl     (___fsdiv_sloc3_1_0 + 1),a
879         mov     a,(___fsdiv_sloc2_1_0 + 2)
880         orl     (___fsdiv_sloc3_1_0 + 2),a
881         mov     a,(___fsdiv_sloc2_1_0 + 3)
882         orl     (___fsdiv_sloc3_1_0 + 3),a
883         mov     dptr,#___fsdiv_result_1_1
884         movx    a,@dptr
885         mov     ___fsdiv_sloc2_1_0,a
886         inc     dptr
887         movx    a,@dptr
888         mov     (___fsdiv_sloc2_1_0 + 1),a
889         inc     dptr
890         movx    a,@dptr
891         mov     (___fsdiv_sloc2_1_0 + 2),a
892         inc     dptr
893         movx    a,@dptr
894         mov     (___fsdiv_sloc2_1_0 + 3),a
895         mov     a,___fsdiv_sloc2_1_0
896         orl     ___fsdiv_sloc3_1_0,a
897         mov     a,(___fsdiv_sloc2_1_0 + 1)
898         orl     (___fsdiv_sloc3_1_0 + 1),a
899         mov     a,(___fsdiv_sloc2_1_0 + 2)
900         orl     (___fsdiv_sloc3_1_0 + 2),a
901         mov     a,(___fsdiv_sloc2_1_0 + 3)
902         orl     (___fsdiv_sloc3_1_0 + 3),a
903         mov     dptr,#(___fsdiv_fl1_1_1)
904         mov     a,___fsdiv_sloc3_1_0
905         movx    @dptr,a
906         inc     dptr
907         mov     a,(___fsdiv_sloc3_1_0 + 1)
908         movx    @dptr,a
909         inc     dptr
910         mov     a,(___fsdiv_sloc3_1_0 + 2)
911         movx    @dptr,a
912         inc     dptr
913         mov     a,(___fsdiv_sloc3_1_0 + 3)
914         movx    @dptr,a
915 ;       _fsdiv.c 138
916         mov     dptr,#(___fsdiv_fl1_1_1)
917         movx    a,@dptr
918         mov     ___fsdiv_sloc3_1_0,a
919         inc     dptr
920         movx    a,@dptr
921         mov     (___fsdiv_sloc3_1_0 + 1),a
922         inc     dptr
923         movx    a,@dptr
924         mov     (___fsdiv_sloc3_1_0 + 2),a
925         inc     dptr
926         movx    a,@dptr
927 ; Peephole 191   removed redundant mov
928         mov  (___fsdiv_sloc3_1_0 + 3),a
929         mov  dpl,___fsdiv_sloc3_1_0
930         mov  dph,(___fsdiv_sloc3_1_0 + 1)
931         mov  b,(___fsdiv_sloc3_1_0 + 2)
932 00112$:
933         C$_fsdiv.c$139$1$1 ==.
934         XG$__fsdiv$0$0 ==.
935         ret
936         .area   CSEG    (CODE)