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 ___fs2long_sloc0_1_0:
23 0004 23 ___fs2long_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 ___fs2long_a1_1_1:
43 0004 43 ___fs2long_fl1_1_1:
45 0008 45 ___fs2long_exp_1_1:
47 000A 47 ___fs2long_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$__fs2long$0$0 ==.
59 59 ; -----------------------------------------
60 60 ; function __fs2long
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,#___fs2long_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,#___fs2long_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,#(___fs2long_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,#(___fs2long_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 0A 131 jnz 00102$
134 134 ; Peephole 3.a changed mov to clr
135 135 ; Peephole 3.b changed mov to clr
136 136 ; Peephole 3.b changed mov to clr
138 004B F5 82 138 mov dpl,a
139 004D F5 83 139 mov dph,a
140 004F F5 F0 140 mov b,a
141 0051 02s01rFE 141 ljmp 00110$
144 0054 90s00r04 144 mov dptr,#(___fs2long_fl1_1_1)
145 0057 E0 145 movx a,@dptr
148 005A E0 148 movx a,@dptr
151 005D E0 151 movx a,@dptr
154 0060 E0 154 movx a,@dptr
156 0062 8C 02 156 mov ar2,r4
158 0065 A2 E7 158 mov c,acc.7
164 006C 54 01 164 anl a,#0x01
165 006E 30 E0 02 165 jnb acc.0,00121$
166 0071 44 FE 166 orl a,#0xfe
170 0075 95 E0 170 subb a,acc
174 007A 75 F0 00 174 mov b,#0x00
175 007D 24 6A 175 add a,#0x6a
177 0080 E5 F0 177 mov a,b
178 0082 34 FF 178 addc a,#0xff
180 0085 90s00r08 180 mov dptr,#___fs2long_exp_1_1
182 0089 F0 182 movx @dptr,a
185 008C F0 185 movx @dptr,a
187 008D 90s00r04 187 mov dptr,#(___fs2long_fl1_1_1)
188 0090 E0 188 movx a,@dptr
191 0093 E0 191 movx a,@dptr
194 0096 E0 194 movx a,@dptr
197 0099 E0 197 movx a,@dptr
199 009B 53 06 7F 199 anl ar6,#0x7f
200 009E 7F 00 200 mov r7,#0x00
201 00A0 90s00r0A 201 mov dptr,#___fs2long_l_1_1
203 00A4 F0 203 movx @dptr,a
206 00A7 F0 206 movx @dptr,a
207 00A8 74 80 207 mov a,#0x80
210 00AC F0 210 movx @dptr,a
213 00AF F0 213 movx @dptr,a
215 00B0 90s00r08 215 mov dptr,#___fs2long_exp_1_1
216 00B3 E0 216 movx a,@dptr
219 00B6 E0 219 movx a,@dptr
222 222 ; Peephole 180 changed mov to clr
224 00BA 9A 224 subb a,r2
225 225 ; Peephole 159 avoided xrl during execution
226 00BB 74 80 226 mov a,#(0x00 ^ 0x80)
227 00BD 8B F0 227 mov b,r3
228 00BF 63 F0 80 228 xrl b,#0x80
229 00C2 95 F0 229 subb a,b
230 230 ; Peephole 108 removed ljmp by inverse jump logic
231 00C4 50 2D 231 jnc 00104$
234 00C6 90s00r04 234 mov dptr,#(___fs2long_fl1_1_1)
235 00C9 E0 235 movx a,@dptr
238 00CC E0 238 movx a,@dptr
241 00CF E0 241 movx a,@dptr
244 00D2 E0 244 movx a,@dptr
245 245 ; Peephole 105 removed redundant mov
248 00D5 54 01 248 anl a,#0x01
250 00D8 43 02 7F 250 orl ar2,#0x7f
251 00DB 8A*00 251 mov ___fs2long_sloc0_1_0,r2
254 00DF 95 E0 254 subb a,acc
255 00E1 F5*01 255 mov (___fs2long_sloc0_1_0 + 1),a
256 00E3 F5*02 256 mov (___fs2long_sloc0_1_0 + 2),a
257 257 ; Peephole 191 removed redundant mov
258 00E5 F5*03 258 mov (___fs2long_sloc0_1_0 + 3),a
259 00E7 85*00 82 259 mov dpl,___fs2long_sloc0_1_0
260 00EA 85*01 83 260 mov dph,(___fs2long_sloc0_1_0 + 1)
261 00ED 85*02 F0 261 mov b,(___fs2long_sloc0_1_0 + 2)
262 00F0 02s01rFE 262 ljmp 00110$
265 00F3 90s00r08 265 mov dptr,#___fs2long_exp_1_1
266 00F6 E0 266 movx a,@dptr
269 00F9 E0 269 movx a,@dptr
270 270 ; Peephole 105 removed redundant mov
272 00FB 20 E7 03 272 jb acc.7,00123$
273 00FE 02s01r96 273 ljmp 00106$
275 0101 90s00r08 275 mov dptr,#___fs2long_exp_1_1
276 0104 E0 276 movx a,@dptr
279 0107 E0 279 movx a,@dptr
282 010A 74 E7 282 mov a,#0xe7
283 010C 9A 283 subb a,r2
284 284 ; Peephole 159 avoided xrl during execution
285 010D 74 7F 285 mov a,#(0xff ^ 0x80)
286 010F 88 F0 286 mov b,r0
287 0111 63 F0 80 287 xrl b,#0x80
288 0114 95 F0 288 subb a,b
289 0116 40 03 289 jc 00124$
290 0118 02s01r96 290 ljmp 00106$
292 011B 90s00r0A 292 mov dptr,#___fs2long_l_1_1
293 011E E0 293 movx a,@dptr
294 011F F5*00 294 mov ___fs2long_sloc0_1_0,a
296 0122 E0 296 movx a,@dptr
297 0123 F5*01 297 mov (___fs2long_sloc0_1_0 + 1),a
299 0126 E0 299 movx a,@dptr
300 0127 F5*02 300 mov (___fs2long_sloc0_1_0 + 2),a
302 012A E0 302 movx a,@dptr
303 012B F5*03 303 mov (___fs2long_sloc0_1_0 + 3),a
304 012D E5*00 304 mov a,___fs2long_sloc0_1_0
305 012F 45*01 305 orl a,(___fs2long_sloc0_1_0 + 1)
306 0131 45*02 306 orl a,(___fs2long_sloc0_1_0 + 2)
307 0133 45*03 307 orl a,(___fs2long_sloc0_1_0 + 3)
308 0135 70 03 308 jnz 00125$
309 0137 02s01r96 309 ljmp 00106$
312 013A 90s00r08 312 mov dptr,#___fs2long_exp_1_1
313 013D E0 313 movx a,@dptr
316 0140 E0 316 movx a,@dptr
320 0144 9A 320 subb a,r2
321 0145 F5*00 321 mov ___fs2long_sloc0_1_0,a
323 0148 98 323 subb a,r0
324 0149 F5*01 324 mov (___fs2long_sloc0_1_0 + 1),a
325 014B 90s00r0A 325 mov dptr,#___fs2long_l_1_1
326 014E E0 326 movx a,@dptr
327 014F F5*04 327 mov ___fs2long_sloc1_1_0,a
329 0152 E0 329 movx a,@dptr
330 0153 F5*05 330 mov (___fs2long_sloc1_1_0 + 1),a
332 0156 E0 332 movx a,@dptr
333 0157 F5*06 333 mov (___fs2long_sloc1_1_0 + 2),a
335 015A E0 335 movx a,@dptr
336 015B F5*07 336 mov (___fs2long_sloc1_1_0 + 3),a
337 015D 85*00 F0 337 mov b,___fs2long_sloc0_1_0
339 0162 E5*07 339 mov a,(___fs2long_sloc1_1_0 + 3)
341 0165 92 D2 341 mov ov,c
342 0167 80 16 342 sjmp 00127$
344 0169 A2 D2 344 mov c,ov
345 016B E5*07 345 mov a,(___fs2long_sloc1_1_0 + 3)
347 016E F5*07 347 mov (___fs2long_sloc1_1_0 + 3),a
348 0170 E5*06 348 mov a,(___fs2long_sloc1_1_0 + 2)
350 0173 F5*06 350 mov (___fs2long_sloc1_1_0 + 2),a
351 0175 E5*05 351 mov a,(___fs2long_sloc1_1_0 + 1)
353 0178 F5*05 353 mov (___fs2long_sloc1_1_0 + 1),a
354 017A E5*04 354 mov a,___fs2long_sloc1_1_0
356 017D F5*04 356 mov ___fs2long_sloc1_1_0,a
358 017F D5 F0 E7 358 djnz b,00126$
359 0182 90s00r0A 359 mov dptr,#___fs2long_l_1_1
360 0185 E5*04 360 mov a,___fs2long_sloc1_1_0
361 0187 F0 361 movx @dptr,a
363 0189 E5*05 363 mov a,(___fs2long_sloc1_1_0 + 1)
364 018B F0 364 movx @dptr,a
366 018D E5*06 366 mov a,(___fs2long_sloc1_1_0 + 2)
367 018F F0 367 movx @dptr,a
369 0191 E5*07 369 mov a,(___fs2long_sloc1_1_0 + 3)
370 0193 F0 370 movx @dptr,a
371 371 ; Peephole 132 changed ljmp to sjmp
372 0194 80 0A 372 sjmp 00107$
375 375 ; Peephole 3.a changed mov to clr
376 376 ; Peephole 3.b changed mov to clr
377 377 ; Peephole 3.b changed mov to clr
379 0197 F5 82 379 mov dpl,a
380 0199 F5 83 380 mov dph,a
381 019B F5 F0 381 mov b,a
382 019D 02s01rFE 382 ljmp 00110$
385 01A0 90s00r04 385 mov dptr,#(___fs2long_fl1_1_1)
386 01A3 E0 386 movx a,@dptr
387 01A4 F5*04 387 mov ___fs2long_sloc1_1_0,a
389 01A7 E0 389 movx a,@dptr
390 01A8 F5*05 390 mov (___fs2long_sloc1_1_0 + 1),a
392 01AB E0 392 movx a,@dptr
393 01AC F5*06 393 mov (___fs2long_sloc1_1_0 + 2),a
395 01AF E0 395 movx a,@dptr
396 396 ; Peephole 105 removed redundant mov
397 01B0 F5*07 397 mov (___fs2long_sloc1_1_0 + 3),a
399 01B3 54 01 399 anl a,#0x01
400 400 ; Peephole 105 removed redundant mov
402 402 ; Peephole 110 removed ljmp by inverse jump logic
403 01B6 60 29 403 jz 00112$
405 01B8 90s00r0A 405 mov dptr,#___fs2long_l_1_1
406 01BB E0 406 movx a,@dptr
407 01BC F5*04 407 mov ___fs2long_sloc1_1_0,a
409 01BF E0 409 movx a,@dptr
410 01C0 F5*05 410 mov (___fs2long_sloc1_1_0 + 1),a
412 01C3 E0 412 movx a,@dptr
413 01C4 F5*06 413 mov (___fs2long_sloc1_1_0 + 2),a
415 01C7 E0 415 movx a,@dptr
416 01C8 F5*07 416 mov (___fs2long_sloc1_1_0 + 3),a
419 01CC 95*04 419 subb a,___fs2long_sloc1_1_0
420 01CE F5*04 420 mov ___fs2long_sloc1_1_0,a
422 01D1 95*05 422 subb a,(___fs2long_sloc1_1_0 + 1)
423 01D3 F5*05 423 mov (___fs2long_sloc1_1_0 + 1),a
425 01D6 95*06 425 subb a,(___fs2long_sloc1_1_0 + 2)
426 01D8 F5*06 426 mov (___fs2long_sloc1_1_0 + 2),a
428 01DB 95*07 428 subb a,(___fs2long_sloc1_1_0 + 3)
429 01DD F5*07 429 mov (___fs2long_sloc1_1_0 + 3),a
430 430 ; Peephole 132 changed ljmp to sjmp
431 01DF 80 12 431 sjmp 00113$
433 01E1 90s00r0A 433 mov dptr,#___fs2long_l_1_1
434 01E4 E0 434 movx a,@dptr
435 01E5 F5*04 435 mov ___fs2long_sloc1_1_0,a
437 01E8 E0 437 movx a,@dptr
438 01E9 F5*05 438 mov (___fs2long_sloc1_1_0 + 1),a
440 01EC E0 440 movx a,@dptr
441 01ED F5*06 441 mov (___fs2long_sloc1_1_0 + 2),a
443 01F0 E0 443 movx a,@dptr
444 01F1 F5*07 444 mov (___fs2long_sloc1_1_0 + 3),a
446 01F3 85*04 82 446 mov dpl,___fs2long_sloc1_1_0
447 01F6 85*05 83 447 mov dph,(___fs2long_sloc1_1_0 + 1)
448 01F9 85*06 F0 448 mov b,(___fs2long_sloc1_1_0 + 2)
449 01FC E5*07 449 mov a,(___fs2long_sloc1_1_0 + 3)
451 01FE 451 C$_fs2long.c$97$1$1 ==.
452 01FE 452 XG$__fs2long$0$0 ==.
454 454 .area CSEG (CODE)