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
5 5 ;--------------------------------------------------------
7 7 ;--------------------------------------------------------
8 8 ; publics variables in this module
9 9 ;--------------------------------------------------------
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 ;--------------------------------------------------------
21 0000 21 ___fs2uchar_sloc0_1_0:
23 0004 23 ___fs2uchar_sloc1_1_0:
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 ;--------------------------------------------------------
33 33 ;--------------------------------------------------------
35 35 ;--------------------------------------------------------
37 37 ;--------------------------------------------------------
38 38 ; external ram data
39 39 ;--------------------------------------------------------
41 0000 41 ___fs2uchar_a1_1_1:
43 0004 43 ___fs2uchar_fl1_1_1:
45 0008 45 ___fs2uchar_exp_1_1:
47 000A 47 ___fs2uchar_l_1_1:
49 49 ;--------------------------------------------------------
50 50 ; global & static initialisations
51 51 ;--------------------------------------------------------
52 52 .area GSINIT (CODE)
53 53 ;--------------------------------------------------------
55 55 ;--------------------------------------------------------
57 0000 57 G$__fs2uchar$0$0 ==.
59 59 ; -----------------------------------------
60 60 ; function __fs2uchar
61 61 ; -----------------------------------------
72 0000 C0 E0 72 push acc
74 0004 C0 83 74 push dph
75 0006 C0 82 75 push dpl
76 0008 90s00r00 76 mov dptr,#___fs2uchar_a1_1_1
78 000D F0 78 movx @dptr,a
81 0011 F0 81 movx @dptr,a
84 0015 F0 84 movx @dptr,a
87 0019 F0 87 movx @dptr,a
89 001A 90s00r00 89 mov dptr,#___fs2uchar_a1_1_1
90 001D E0 90 movx a,@dptr
93 0020 E0 93 movx a,@dptr
96 0023 E0 96 movx a,@dptr
99 0026 E0 99 movx a,@dptr
101 0028 90s00r04 101 mov dptr,#(___fs2uchar_fl1_1_1)
103 002C F0 103 movx @dptr,a
106 002F F0 106 movx @dptr,a
109 0032 F0 109 movx @dptr,a
112 0035 F0 112 movx @dptr,a
114 0036 90s00r04 114 mov dptr,#(___fs2uchar_fl1_1_1)
115 0039 E0 115 movx a,@dptr
118 003C E0 118 movx a,@dptr
121 003F E0 121 movx a,@dptr
124 0042 E0 124 movx a,@dptr
130 130 ; Peephole 109 removed ljmp by inverse jump logic
131 0048 70 06 131 jnz 00102$
134 004A 75 82 00 134 mov dpl,#0x00
135 004D 02s01rD0 135 ljmp 00110$
138 0050 90s00r04 138 mov dptr,#(___fs2uchar_fl1_1_1)
139 0053 E0 139 movx a,@dptr
142 0056 E0 142 movx a,@dptr
145 0059 E0 145 movx a,@dptr
148 005C E0 148 movx a,@dptr
150 005E 8C 02 150 mov ar2,r4
152 0061 A2 E7 152 mov c,acc.7
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
164 0071 95 E0 164 subb a,acc
168 0076 75 F0 00 168 mov b,#0x00
169 0079 24 6A 169 add a,#0x6a
171 007C E5 F0 171 mov a,b
172 007E 34 FF 172 addc a,#0xff
174 0081 90s00r08 174 mov dptr,#___fs2uchar_exp_1_1
176 0085 F0 176 movx @dptr,a
179 0088 F0 179 movx @dptr,a
181 0089 90s00r04 181 mov dptr,#(___fs2uchar_fl1_1_1)
182 008C E0 182 movx a,@dptr
185 008F E0 185 movx a,@dptr
188 0092 E0 188 movx a,@dptr
191 0095 E0 191 movx a,@dptr
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
197 00A0 F0 197 movx @dptr,a
200 00A3 F0 200 movx @dptr,a
201 00A4 74 80 201 mov a,#0x80
204 00A8 F0 204 movx @dptr,a
207 00AB F0 207 movx @dptr,a
209 00AC 90s00r08 209 mov dptr,#___fs2uchar_exp_1_1
210 00AF E0 210 movx a,@dptr
213 00B2 E0 213 movx a,@dptr
216 216 ; Peephole 180 changed mov to clr
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$
228 00C2 90s00r04 228 mov dptr,#(___fs2uchar_fl1_1_1)
229 00C5 E0 229 movx a,@dptr
232 00C8 E0 232 movx a,@dptr
235 00CB E0 235 movx a,@dptr
238 00CE E0 238 movx a,@dptr
239 239 ; Peephole 105 removed redundant mov
242 00D1 54 01 242 anl a,#0x01
244 00D4 43 02 7F 244 orl ar2,#0x7f
245 00D7 8A 82 245 mov dpl,r2
246 00D9 02s01rD0 246 ljmp 00110$
249 00DC 90s00r08 249 mov dptr,#___fs2uchar_exp_1_1
250 00DF E0 250 movx a,@dptr
253 00E2 E0 253 movx a,@dptr
254 254 ; Peephole 105 removed redundant mov
256 00E4 20 E7 03 256 jb acc.7,00123$
257 00E7 02s01r7F 257 ljmp 00106$
259 00EA 90s00r08 259 mov dptr,#___fs2uchar_exp_1_1
260 00ED E0 260 movx a,@dptr
263 00F0 E0 263 movx a,@dptr
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$
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
280 010B E0 280 movx a,@dptr
281 010C F5*01 281 mov (___fs2uchar_sloc0_1_0 + 1),a
283 010F E0 283 movx a,@dptr
284 0110 F5*02 284 mov (___fs2uchar_sloc0_1_0 + 2),a
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$
296 0123 90s00r08 296 mov dptr,#___fs2uchar_exp_1_1
297 0126 E0 297 movx a,@dptr
300 0129 E0 300 movx a,@dptr
304 012D 9A 304 subb a,r2
305 012E F5*00 305 mov ___fs2uchar_sloc0_1_0,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
313 013B E0 313 movx a,@dptr
314 013C F5*05 314 mov (___fs2uchar_sloc1_1_0 + 1),a
316 013F E0 316 movx a,@dptr
317 0140 F5*06 317 mov (___fs2uchar_sloc1_1_0 + 2),a
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
323 014B E5*07 323 mov a,(___fs2uchar_sloc1_1_0 + 3)
325 014E 92 D2 325 mov ov,c
326 0150 80 16 326 sjmp 00127$
328 0152 A2 D2 328 mov c,ov
329 0154 E5*07 329 mov a,(___fs2uchar_sloc1_1_0 + 3)
331 0157 F5*07 331 mov (___fs2uchar_sloc1_1_0 + 3),a
332 0159 E5*06 332 mov a,(___fs2uchar_sloc1_1_0 + 2)
334 015C F5*06 334 mov (___fs2uchar_sloc1_1_0 + 2),a
335 015E E5*05 335 mov a,(___fs2uchar_sloc1_1_0 + 1)
337 0161 F5*05 337 mov (___fs2uchar_sloc1_1_0 + 1),a
338 0163 E5*04 338 mov a,___fs2uchar_sloc1_1_0
340 0166 F5*04 340 mov ___fs2uchar_sloc1_1_0,a
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
347 0172 E5*05 347 mov a,(___fs2uchar_sloc1_1_0 + 1)
348 0174 F0 348 movx @dptr,a
350 0176 E5*06 350 mov a,(___fs2uchar_sloc1_1_0 + 2)
351 0178 F0 351 movx @dptr,a
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$
359 017F 75 82 00 359 mov dpl,#0x00
360 0182 02s01rD0 360 ljmp 00110$
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
367 018C E0 367 movx a,@dptr
368 018D F5*05 368 mov (___fs2uchar_sloc1_1_0 + 1),a
370 0190 E0 370 movx a,@dptr
371 0191 F5*06 371 mov (___fs2uchar_sloc1_1_0 + 2),a
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
377 0198 54 01 377 anl a,#0x01
378 378 ; Peephole 105 removed redundant mov
380 380 ; Peephole 110 removed ljmp by inverse jump logic
381 019B 60 1B 381 jz 00112$
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
387 01A4 E0 387 movx a,@dptr
388 01A5 F5*05 388 mov (___fs2uchar_sloc1_1_0 + 1),a
390 01A8 E0 390 movx a,@dptr
391 01A9 F5*06 391 mov (___fs2uchar_sloc1_1_0 + 2),a
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
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$
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
407 01BF E0 407 movx a,@dptr
408 01C0 F5*01 408 mov (___fs2uchar_sloc0_1_0 + 1),a
410 01C3 E0 410 movx a,@dptr
411 01C4 F5*02 411 mov (___fs2uchar_sloc0_1_0 + 2),a
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
417 01CD 85*04 82 417 mov dpl,___fs2uchar_sloc1_1_0
419 01D0 419 C$_fs2uchar.c$97$1$1 ==.
420 01D0 420 XG$__fs2uchar$0$0 ==.
422 422 .area CSEG (CODE)