Initial revision
[fw/sdcc] / device / lib / _fs2uchar.lst
1                               1 ;--------------------------------------------------------
2                               2 ; File Created by SDCC : FreeWare ANSI-C Compiler
3                               3 ; Version 2.1.9Ga Sun Jan 16 17:31:24 2000
4                               4 
5                               5 ;--------------------------------------------------------
6                               6         .module _fs2uchar
7                               7 ;--------------------------------------------------------
8                               8 ; publics variables in this module
9                               9 ;--------------------------------------------------------
10                              10         .globl ___fs2uchar
11                              11 ;--------------------------------------------------------
12                              12 ; special function registers
13                              13 ;--------------------------------------------------------
14                              14 ;--------------------------------------------------------
15                              15 ; special function bits 
16                              16 ;--------------------------------------------------------
17                              17 ;--------------------------------------------------------
18                              18 ; internal ram data
19                              19 ;--------------------------------------------------------
20                              20         .area   DSEG    (DATA)
21    0000                      21 ___fs2uchar_sloc0_1_0:
22    0000                      22         .ds     0x0004
23    0004                      23 ___fs2uchar_sloc1_1_0:
24    0004                      24         .ds     0x0004
25                              25 ;--------------------------------------------------------
26                              26 ; overlayable items in internal ram 
27                              27 ;--------------------------------------------------------
28                              28         .area   OSEG    (OVR,DATA)
29                              29 ;--------------------------------------------------------
30                              30 ; indirectly addressable internal ram data
31                              31 ;--------------------------------------------------------
32                              32         .area   ISEG    (DATA)
33                              33 ;--------------------------------------------------------
34                              34 ; bit data
35                              35 ;--------------------------------------------------------
36                              36         .area   BSEG    (BIT)
37                              37 ;--------------------------------------------------------
38                              38 ; external ram data
39                              39 ;--------------------------------------------------------
40                              40         .area   XSEG    (XDATA)
41    0000                      41 ___fs2uchar_a1_1_1:
42    0000                      42         .ds     0x0004
43    0004                      43 ___fs2uchar_fl1_1_1:
44    0004                      44         .ds     0x0004
45    0008                      45 ___fs2uchar_exp_1_1:
46    0008                      46         .ds     0x0002
47    000A                      47 ___fs2uchar_l_1_1:
48    000A                      48         .ds     0x0004
49                              49 ;--------------------------------------------------------
50                              50 ; global & static initialisations
51                              51 ;--------------------------------------------------------
52                              52         .area GSINIT (CODE)
53                              53 ;--------------------------------------------------------
54                              54 ; code
55                              55 ;--------------------------------------------------------
56                              56         .area CSEG (CODE)
57                     0000     57         G$__fs2uchar$0$0 ==.
58                              58 ;       _fs2uchar.c 73
59                              59 ;       -----------------------------------------
60                              60 ;        function __fs2uchar
61                              61 ;       -----------------------------------------
62    0000                      62 ___fs2uchar:
63                     0002     63         ar2 = 0x02
64                     0003     64         ar3 = 0x03
65                     0004     65         ar4 = 0x04
66                     0005     66         ar5 = 0x05
67                     0006     67         ar6 = 0x06
68                     0007     68         ar7 = 0x07
69                     0000     69         ar0 = 0x00
70                     0001     70         ar1 = 0x01
71                              71 ;       _fs2uchar.c 0
72    0000 C0 E0                72         push    acc
73    0002 C0 F0                73         push    b
74    0004 C0 83                74         push    dph
75    0006 C0 82                75         push    dpl
76    0008 90s00r00             76         mov     dptr,#___fs2uchar_a1_1_1
77    000B D0 E0                77         pop     acc
78    000D F0                   78         movx    @dptr,a
79    000E D0 E0                79         pop     acc
80    0010 A3                   80         inc     dptr
81    0011 F0                   81         movx    @dptr,a
82    0012 D0 E0                82         pop     acc
83    0014 A3                   83         inc     dptr
84    0015 F0                   84         movx    @dptr,a
85    0016 D0 E0                85         pop     acc
86    0018 A3                   86         inc     dptr
87    0019 F0                   87         movx    @dptr,a
88                              88 ;       _fs2uchar.c 79
89    001A 90s00r00             89         mov     dptr,#___fs2uchar_a1_1_1
90    001D E0                   90         movx    a,@dptr
91    001E FA                   91         mov     r2,a
92    001F A3                   92         inc     dptr
93    0020 E0                   93         movx    a,@dptr
94    0021 FB                   94         mov     r3,a
95    0022 A3                   95         inc     dptr
96    0023 E0                   96         movx    a,@dptr
97    0024 FC                   97         mov     r4,a
98    0025 A3                   98         inc     dptr
99    0026 E0                   99         movx    a,@dptr
100    0027 FD                  100         mov     r5,a
101    0028 90s00r04            101         mov     dptr,#(___fs2uchar_fl1_1_1)
102    002B EA                  102         mov     a,r2
103    002C F0                  103         movx    @dptr,a
104    002D A3                  104         inc     dptr
105    002E EB                  105         mov     a,r3
106    002F F0                  106         movx    @dptr,a
107    0030 A3                  107         inc     dptr
108    0031 EC                  108         mov     a,r4
109    0032 F0                  109         movx    @dptr,a
110    0033 A3                  110         inc     dptr
111    0034 ED                  111         mov     a,r5
112    0035 F0                  112         movx    @dptr,a
113                             113 ;       _fs2uchar.c 81
114    0036 90s00r04            114         mov     dptr,#(___fs2uchar_fl1_1_1)
115    0039 E0                  115         movx    a,@dptr
116    003A FA                  116         mov     r2,a
117    003B A3                  117         inc     dptr
118    003C E0                  118         movx    a,@dptr
119    003D FB                  119         mov     r3,a
120    003E A3                  120         inc     dptr
121    003F E0                  121         movx    a,@dptr
122    0040 FC                  122         mov     r4,a
123    0041 A3                  123         inc     dptr
124    0042 E0                  124         movx    a,@dptr
125    0043 FD                  125         mov     r5,a
126    0044 EA                  126         mov     a,r2
127    0045 4B                  127         orl     a,r3
128    0046 4C                  128         orl     a,r4
129    0047 4D                  129         orl     a,r5
130                             130 ; Peephole 109   removed ljmp by inverse jump logic
131    0048 70 06               131         jnz  00102$
132    004A                     132 00120$:
133                             133 ;       _fs2uchar.c 82
134    004A 75 82 00            134         mov     dpl,#0x00
135    004D 02s01rD0            135         ljmp    00110$
136    0050                     136 00102$:
137                             137 ;       _fs2uchar.c 84
138    0050 90s00r04            138         mov     dptr,#(___fs2uchar_fl1_1_1)
139    0053 E0                  139         movx    a,@dptr
140    0054 FA                  140         mov     r2,a
141    0055 A3                  141         inc     dptr
142    0056 E0                  142         movx    a,@dptr
143    0057 FB                  143         mov     r3,a
144    0058 A3                  144         inc     dptr
145    0059 E0                  145         movx    a,@dptr
146    005A FC                  146         mov     r4,a
147    005B A3                  147         inc     dptr
148    005C E0                  148         movx    a,@dptr
149    005D FD                  149         mov     r5,a
150    005E 8C 02               150         mov     ar2,r4
151    0060 ED                  151         mov     a,r5
152    0061 A2 E7               152         mov     c,acc.7
153    0063 CA                  153         xch     a,r2
154    0064 33                  154         rlc     a
155    0065 CA                  155         xch     a,r2
156    0066 33                  156         rlc     a
157    0067 CA                  157         xch     a,r2
158    0068 54 01               158         anl     a,#0x01
159    006A 30 E0 02            159         jnb     acc.0,00121$
160    006D 44 FE               160         orl     a,#0xfe
161    006F                     161 00121$:
162    006F FB                  162         mov     r3,a
163    0070 33                  163         rlc     a
164    0071 95 E0               164         subb    a,acc
165    0073 FC                  165         mov     r4,a
166    0074 FD                  166         mov     r5,a
167    0075 EA                  167         mov     a,r2
168    0076 75 F0 00            168         mov     b,#0x00
169    0079 24 6A               169         add     a,#0x6a
170    007B FA                  170         mov     r2,a
171    007C E5 F0               171         mov     a,b
172    007E 34 FF               172         addc    a,#0xff
173    0080 FB                  173         mov     r3,a
174    0081 90s00r08            174         mov     dptr,#___fs2uchar_exp_1_1
175    0084 EA                  175         mov     a,r2
176    0085 F0                  176         movx    @dptr,a
177    0086 A3                  177         inc     dptr
178    0087 EB                  178         mov     a,r3
179    0088 F0                  179         movx    @dptr,a
180                             180 ;       _fs2uchar.c 85
181    0089 90s00r04            181         mov     dptr,#(___fs2uchar_fl1_1_1)
182    008C E0                  182         movx    a,@dptr
183    008D FA                  183         mov     r2,a
184    008E A3                  184         inc     dptr
185    008F E0                  185         movx    a,@dptr
186    0090 FB                  186         mov     r3,a
187    0091 A3                  187         inc     dptr
188    0092 E0                  188         movx    a,@dptr
189    0093 FE                  189         mov     r6,a
190    0094 A3                  190         inc     dptr
191    0095 E0                  191         movx    a,@dptr
192    0096 FF                  192         mov     r7,a
193    0097 53 06 7F            193         anl     ar6,#0x7f
194    009A 7F 00               194         mov     r7,#0x00
195    009C 90s00r0A            195         mov     dptr,#___fs2uchar_l_1_1
196    009F EA                  196         mov     a,r2
197    00A0 F0                  197         movx    @dptr,a
198    00A1 A3                  198         inc     dptr
199    00A2 EB                  199         mov     a,r3
200    00A3 F0                  200         movx    @dptr,a
201    00A4 74 80               201         mov     a,#0x80
202    00A6 4E                  202         orl     a,r6
203    00A7 A3                  203         inc     dptr
204    00A8 F0                  204         movx    @dptr,a
205    00A9 A3                  205         inc     dptr
206    00AA EF                  206         mov     a,r7
207    00AB F0                  207         movx    @dptr,a
208                             208 ;       _fs2uchar.c 87
209    00AC 90s00r08            209         mov     dptr,#___fs2uchar_exp_1_1
210    00AF E0                  210         movx    a,@dptr
211    00B0 FA                  211         mov     r2,a
212    00B1 A3                  212         inc     dptr
213    00B2 E0                  213         movx    a,@dptr
214    00B3 FB                  214         mov     r3,a
215    00B4 C3                  215         clr     c
216                             216 ; Peephole 180   changed mov to clr
217    00B5 E4                  217         clr  a
218    00B6 9A                  218         subb    a,r2
219                             219 ; Peephole 159   avoided xrl during execution
220    00B7 74 80               220         mov  a,#(0x00 ^ 0x80)
221    00B9 8B F0               221         mov     b,r3
222    00BB 63 F0 80            222         xrl     b,#0x80
223    00BE 95 F0               223         subb    a,b
224                             224 ; Peephole 108   removed ljmp by inverse jump logic
225    00C0 50 1A               225         jnc  00104$
226    00C2                     226 00122$:
227                             227 ;       _fs2uchar.c 88
228    00C2 90s00r04            228         mov     dptr,#(___fs2uchar_fl1_1_1)
229    00C5 E0                  229         movx    a,@dptr
230    00C6 FA                  230         mov     r2,a
231    00C7 A3                  231         inc     dptr
232    00C8 E0                  232         movx    a,@dptr
233    00C9 FB                  233         mov     r3,a
234    00CA A3                  234         inc     dptr
235    00CB E0                  235         movx    a,@dptr
236    00CC FE                  236         mov     r6,a
237    00CD A3                  237         inc     dptr
238    00CE E0                  238         movx    a,@dptr
239                             239 ; Peephole 105   removed redundant mov
240    00CF FF                  240         mov  r7,a
241    00D0 23                  241         rl      a
242    00D1 54 01               242         anl     a,#0x01
243    00D3 FA                  243         mov     r2,a
244    00D4 43 02 7F            244         orl     ar2,#0x7f
245    00D7 8A 82               245         mov     dpl,r2
246    00D9 02s01rD0            246         ljmp    00110$
247    00DC                     247 00104$:
248                             248 ;       _fs2uchar.c 91
249    00DC 90s00r08            249         mov     dptr,#___fs2uchar_exp_1_1
250    00DF E0                  250         movx    a,@dptr
251    00E0 FA                  251         mov     r2,a
252    00E1 A3                  252         inc     dptr
253    00E2 E0                  253         movx    a,@dptr
254                             254 ; Peephole 105   removed redundant mov
255    00E3 F8                  255         mov  r0,a
256    00E4 20 E7 03            256         jb      acc.7,00123$
257    00E7 02s01r7F            257         ljmp    00106$
258    00EA                     258 00123$:
259    00EA 90s00r08            259         mov     dptr,#___fs2uchar_exp_1_1
260    00ED E0                  260         movx    a,@dptr
261    00EE FA                  261         mov     r2,a
262    00EF A3                  262         inc     dptr
263    00F0 E0                  263         movx    a,@dptr
264    00F1 F8                  264         mov     r0,a
265    00F2 C3                  265         clr     c
266    00F3 74 E7               266         mov     a,#0xe7
267    00F5 9A                  267         subb    a,r2
268                             268 ; Peephole 159   avoided xrl during execution
269    00F6 74 7F               269         mov  a,#(0xff ^ 0x80)
270    00F8 88 F0               270         mov     b,r0
271    00FA 63 F0 80            271         xrl     b,#0x80
272    00FD 95 F0               272         subb    a,b
273    00FF 40 03               273         jc      00124$
274    0101 02s01r7F            274         ljmp    00106$
275    0104                     275 00124$:
276    0104 90s00r0A            276         mov     dptr,#___fs2uchar_l_1_1
277    0107 E0                  277         movx    a,@dptr
278    0108 F5*00               278         mov     ___fs2uchar_sloc0_1_0,a
279    010A A3                  279         inc     dptr
280    010B E0                  280         movx    a,@dptr
281    010C F5*01               281         mov     (___fs2uchar_sloc0_1_0 + 1),a
282    010E A3                  282         inc     dptr
283    010F E0                  283         movx    a,@dptr
284    0110 F5*02               284         mov     (___fs2uchar_sloc0_1_0 + 2),a
285    0112 A3                  285         inc     dptr
286    0113 E0                  286         movx    a,@dptr
287    0114 F5*03               287         mov     (___fs2uchar_sloc0_1_0 + 3),a
288    0116 E5*00               288         mov     a,___fs2uchar_sloc0_1_0
289    0118 45*01               289         orl     a,(___fs2uchar_sloc0_1_0 + 1)
290    011A 45*02               290         orl     a,(___fs2uchar_sloc0_1_0 + 2)
291    011C 45*03               291         orl     a,(___fs2uchar_sloc0_1_0 + 3)
292    011E 70 03               292         jnz     00125$
293    0120 02s01r7F            293         ljmp    00106$
294    0123                     294 00125$:
295                             295 ;       _fs2uchar.c 92
296    0123 90s00r08            296         mov     dptr,#___fs2uchar_exp_1_1
297    0126 E0                  297         movx    a,@dptr
298    0127 FA                  298         mov     r2,a
299    0128 A3                  299         inc     dptr
300    0129 E0                  300         movx    a,@dptr
301    012A F8                  301         mov     r0,a
302    012B C3                  302         clr     c
303    012C E4                  303         clr     a
304    012D 9A                  304         subb    a,r2
305    012E F5*00               305         mov     ___fs2uchar_sloc0_1_0,a
306    0130 E4                  306         clr     a
307    0131 98                  307         subb    a,r0
308    0132 F5*01               308         mov     (___fs2uchar_sloc0_1_0 + 1),a
309    0134 90s00r0A            309         mov     dptr,#___fs2uchar_l_1_1
310    0137 E0                  310         movx    a,@dptr
311    0138 F5*04               311         mov     ___fs2uchar_sloc1_1_0,a
312    013A A3                  312         inc     dptr
313    013B E0                  313         movx    a,@dptr
314    013C F5*05               314         mov     (___fs2uchar_sloc1_1_0 + 1),a
315    013E A3                  315         inc     dptr
316    013F E0                  316         movx    a,@dptr
317    0140 F5*06               317         mov     (___fs2uchar_sloc1_1_0 + 2),a
318    0142 A3                  318         inc     dptr
319    0143 E0                  319         movx    a,@dptr
320    0144 F5*07               320         mov     (___fs2uchar_sloc1_1_0 + 3),a
321    0146 85*00 F0            321         mov     b,___fs2uchar_sloc0_1_0
322    0149 05 F0               322         inc     b
323    014B E5*07               323         mov     a,(___fs2uchar_sloc1_1_0 + 3)
324    014D 33                  324         rlc     a
325    014E 92 D2               325         mov     ov,c
326    0150 80 16               326         sjmp    00127$
327    0152                     327 00126$:
328    0152 A2 D2               328         mov     c,ov
329    0154 E5*07               329         mov     a,(___fs2uchar_sloc1_1_0 + 3)
330    0156 13                  330         rrc     a
331    0157 F5*07               331         mov     (___fs2uchar_sloc1_1_0 + 3),a
332    0159 E5*06               332         mov     a,(___fs2uchar_sloc1_1_0 + 2)
333    015B 13                  333         rrc     a
334    015C F5*06               334         mov     (___fs2uchar_sloc1_1_0 + 2),a
335    015E E5*05               335         mov     a,(___fs2uchar_sloc1_1_0 + 1)
336    0160 13                  336         rrc     a
337    0161 F5*05               337         mov     (___fs2uchar_sloc1_1_0 + 1),a
338    0163 E5*04               338         mov     a,___fs2uchar_sloc1_1_0
339    0165 13                  339         rrc     a
340    0166 F5*04               340         mov     ___fs2uchar_sloc1_1_0,a
341    0168                     341 00127$:
342    0168 D5 F0 E7            342         djnz    b,00126$
343    016B 90s00r0A            343         mov     dptr,#___fs2uchar_l_1_1
344    016E E5*04               344         mov     a,___fs2uchar_sloc1_1_0
345    0170 F0                  345         movx    @dptr,a
346    0171 A3                  346         inc     dptr
347    0172 E5*05               347         mov     a,(___fs2uchar_sloc1_1_0 + 1)
348    0174 F0                  348         movx    @dptr,a
349    0175 A3                  349         inc     dptr
350    0176 E5*06               350         mov     a,(___fs2uchar_sloc1_1_0 + 2)
351    0178 F0                  351         movx    @dptr,a
352    0179 A3                  352         inc     dptr
353    017A E5*07               353         mov     a,(___fs2uchar_sloc1_1_0 + 3)
354    017C F0                  354         movx    @dptr,a
355                             355 ; Peephole 132   changed ljmp to sjmp
356    017D 80 06               356         sjmp 00107$
357    017F                     357 00106$:
358                             358 ;       _fs2uchar.c 94
359    017F 75 82 00            359         mov     dpl,#0x00
360    0182 02s01rD0            360         ljmp    00110$
361    0185                     361 00107$:
362                             362 ;       _fs2uchar.c 96
363    0185 90s00r04            363         mov     dptr,#(___fs2uchar_fl1_1_1)
364    0188 E0                  364         movx    a,@dptr
365    0189 F5*04               365         mov     ___fs2uchar_sloc1_1_0,a
366    018B A3                  366         inc     dptr
367    018C E0                  367         movx    a,@dptr
368    018D F5*05               368         mov     (___fs2uchar_sloc1_1_0 + 1),a
369    018F A3                  369         inc     dptr
370    0190 E0                  370         movx    a,@dptr
371    0191 F5*06               371         mov     (___fs2uchar_sloc1_1_0 + 2),a
372    0193 A3                  372         inc     dptr
373    0194 E0                  373         movx    a,@dptr
374                             374 ; Peephole 105   removed redundant mov
375    0195 F5*07               375         mov  (___fs2uchar_sloc1_1_0 + 3),a
376    0197 23                  376         rl      a
377    0198 54 01               377         anl     a,#0x01
378                             378 ; Peephole 105   removed redundant mov
379    019A FA                  379         mov  r2,a
380                             380 ; Peephole 110   removed ljmp by inverse jump logic
381    019B 60 1B               381         jz  00112$
382    019D                     382 00128$:
383    019D 90s00r0A            383         mov     dptr,#___fs2uchar_l_1_1
384    01A0 E0                  384         movx    a,@dptr
385    01A1 F5*04               385         mov     ___fs2uchar_sloc1_1_0,a
386    01A3 A3                  386         inc     dptr
387    01A4 E0                  387         movx    a,@dptr
388    01A5 F5*05               388         mov     (___fs2uchar_sloc1_1_0 + 1),a
389    01A7 A3                  389         inc     dptr
390    01A8 E0                  390         movx    a,@dptr
391    01A9 F5*06               391         mov     (___fs2uchar_sloc1_1_0 + 2),a
392    01AB A3                  392         inc     dptr
393    01AC E0                  393         movx    a,@dptr
394    01AD F5*07               394         mov     (___fs2uchar_sloc1_1_0 + 3),a
395    01AF AA*04               395         mov     r2,___fs2uchar_sloc1_1_0
396    01B1 C3                  396         clr     c
397    01B2 E4                  397         clr     a
398    01B3 9A                  398         subb    a,r2
399    01B4 F5*04               399         mov     ___fs2uchar_sloc1_1_0,a
400                             400 ; Peephole 132   changed ljmp to sjmp
401    01B6 80 15               401         sjmp 00113$
402    01B8                     402 00112$:
403    01B8 90s00r0A            403         mov     dptr,#___fs2uchar_l_1_1
404    01BB E0                  404         movx    a,@dptr
405    01BC F5*00               405         mov     ___fs2uchar_sloc0_1_0,a
406    01BE A3                  406         inc     dptr
407    01BF E0                  407         movx    a,@dptr
408    01C0 F5*01               408         mov     (___fs2uchar_sloc0_1_0 + 1),a
409    01C2 A3                  409         inc     dptr
410    01C3 E0                  410         movx    a,@dptr
411    01C4 F5*02               411         mov     (___fs2uchar_sloc0_1_0 + 2),a
412    01C6 A3                  412         inc     dptr
413    01C7 E0                  413         movx    a,@dptr
414    01C8 F5*03               414         mov     (___fs2uchar_sloc0_1_0 + 3),a
415    01CA 85*00*04            415         mov     ___fs2uchar_sloc1_1_0,___fs2uchar_sloc0_1_0
416    01CD                     416 00113$:
417    01CD 85*04 82            417         mov     dpl,___fs2uchar_sloc1_1_0
418    01D0                     418 00110$:
419                     01D0    419         C$_fs2uchar.c$97$1$1 ==.
420                     01D0    420         XG$__fs2uchar$0$0 ==.
421    01D0 22                  421         ret
422                             422         .area   CSEG    (CODE)