1 1 ;--------------------------------------------------------
2 2 ; File Created by SDCC : FreeWare ANSI-C Compiler
3 3 ; Version 2.1.9Ga Sun Jan 16 17:31:23 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 ___fs2int_sloc0_1_0:
23 0004 23 ___fs2int_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 ___fs2int_a1_1_1:
43 0004 43 ___fs2int_fl1_1_1:
45 0008 45 ___fs2int_exp_1_1:
47 000A 47 ___fs2int_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$__fs2int$0$0 ==.
59 59 ; -----------------------------------------
60 60 ; function __fs2int
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,#___fs2int_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,#___fs2int_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,#(___fs2int_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,#(___fs2int_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 134 ; Peephole 181 used 16 bit load of dptr
135 004A 90 00 00 135 mov dptr,#0x0000
136 004D 02s01rE5 136 ljmp 00110$
139 0050 90s00r04 139 mov dptr,#(___fs2int_fl1_1_1)
140 0053 E0 140 movx a,@dptr
143 0056 E0 143 movx a,@dptr
146 0059 E0 146 movx a,@dptr
149 005C E0 149 movx a,@dptr
151 005E 8C 02 151 mov ar2,r4
153 0061 A2 E7 153 mov c,acc.7
159 0068 54 01 159 anl a,#0x01
160 006A 30 E0 02 160 jnb acc.0,00121$
161 006D 44 FE 161 orl a,#0xfe
165 0071 95 E0 165 subb a,acc
169 0076 75 F0 00 169 mov b,#0x00
170 0079 24 6A 170 add a,#0x6a
172 007C E5 F0 172 mov a,b
173 007E 34 FF 173 addc a,#0xff
175 0081 90s00r08 175 mov dptr,#___fs2int_exp_1_1
177 0085 F0 177 movx @dptr,a
180 0088 F0 180 movx @dptr,a
182 0089 90s00r04 182 mov dptr,#(___fs2int_fl1_1_1)
183 008C E0 183 movx a,@dptr
186 008F E0 186 movx a,@dptr
189 0092 E0 189 movx a,@dptr
192 0095 E0 192 movx a,@dptr
194 0097 53 06 7F 194 anl ar6,#0x7f
195 009A 7F 00 195 mov r7,#0x00
196 009C 90s00r0A 196 mov dptr,#___fs2int_l_1_1
198 00A0 F0 198 movx @dptr,a
201 00A3 F0 201 movx @dptr,a
202 00A4 74 80 202 mov a,#0x80
205 00A8 F0 205 movx @dptr,a
208 00AB F0 208 movx @dptr,a
210 00AC 90s00r08 210 mov dptr,#___fs2int_exp_1_1
211 00AF E0 211 movx a,@dptr
214 00B2 E0 214 movx a,@dptr
217 217 ; Peephole 180 changed mov to clr
219 00B6 9A 219 subb a,r2
220 220 ; Peephole 159 avoided xrl during execution
221 00B7 74 80 221 mov a,#(0x00 ^ 0x80)
222 00B9 8B F0 222 mov b,r3
223 00BB 63 F0 80 223 xrl b,#0x80
224 00BE 95 F0 224 subb a,b
225 225 ; Peephole 108 removed ljmp by inverse jump logic
226 00C0 50 1F 226 jnc 00104$
229 00C2 90s00r04 229 mov dptr,#(___fs2int_fl1_1_1)
230 00C5 E0 230 movx a,@dptr
233 00C8 E0 233 movx a,@dptr
236 00CB E0 236 movx a,@dptr
239 00CE E0 239 movx a,@dptr
240 240 ; Peephole 105 removed redundant mov
243 00D1 54 01 243 anl a,#0x01
244 244 ; Peephole 140 removed redundant mov
245 00D3 44 7F 245 orl a,#0x7f
248 00D7 95 E0 248 subb a,acc
250 00DA 8A 82 250 mov dpl,r2
251 00DC 88 83 251 mov dph,r0
252 00DE 02s01rE5 252 ljmp 00110$
255 00E1 90s00r08 255 mov dptr,#___fs2int_exp_1_1
256 00E4 E0 256 movx a,@dptr
259 00E7 E0 259 movx a,@dptr
260 260 ; Peephole 105 removed redundant mov
262 00E9 20 E7 03 262 jb acc.7,00123$
263 00EC 02s01r84 263 ljmp 00106$
265 00EF 90s00r08 265 mov dptr,#___fs2int_exp_1_1
266 00F2 E0 266 movx a,@dptr
269 00F5 E0 269 movx a,@dptr
272 00F8 74 E7 272 mov a,#0xe7
273 00FA 9A 273 subb a,r2
274 274 ; Peephole 159 avoided xrl during execution
275 00FB 74 7F 275 mov a,#(0xff ^ 0x80)
276 00FD 88 F0 276 mov b,r0
277 00FF 63 F0 80 277 xrl b,#0x80
278 0102 95 F0 278 subb a,b
279 0104 40 03 279 jc 00124$
280 0106 02s01r84 280 ljmp 00106$
282 0109 90s00r0A 282 mov dptr,#___fs2int_l_1_1
283 010C E0 283 movx a,@dptr
284 010D F5*00 284 mov ___fs2int_sloc0_1_0,a
286 0110 E0 286 movx a,@dptr
287 0111 F5*01 287 mov (___fs2int_sloc0_1_0 + 1),a
289 0114 E0 289 movx a,@dptr
290 0115 F5*02 290 mov (___fs2int_sloc0_1_0 + 2),a
292 0118 E0 292 movx a,@dptr
293 0119 F5*03 293 mov (___fs2int_sloc0_1_0 + 3),a
294 011B E5*00 294 mov a,___fs2int_sloc0_1_0
295 011D 45*01 295 orl a,(___fs2int_sloc0_1_0 + 1)
296 011F 45*02 296 orl a,(___fs2int_sloc0_1_0 + 2)
297 0121 45*03 297 orl a,(___fs2int_sloc0_1_0 + 3)
298 0123 70 03 298 jnz 00125$
299 0125 02s01r84 299 ljmp 00106$
302 0128 90s00r08 302 mov dptr,#___fs2int_exp_1_1
303 012B E0 303 movx a,@dptr
306 012E E0 306 movx a,@dptr
310 0132 9A 310 subb a,r2
311 0133 F5*00 311 mov ___fs2int_sloc0_1_0,a
313 0136 98 313 subb a,r0
314 0137 F5*01 314 mov (___fs2int_sloc0_1_0 + 1),a
315 0139 90s00r0A 315 mov dptr,#___fs2int_l_1_1
316 013C E0 316 movx a,@dptr
317 013D F5*04 317 mov ___fs2int_sloc1_1_0,a
319 0140 E0 319 movx a,@dptr
320 0141 F5*05 320 mov (___fs2int_sloc1_1_0 + 1),a
322 0144 E0 322 movx a,@dptr
323 0145 F5*06 323 mov (___fs2int_sloc1_1_0 + 2),a
325 0148 E0 325 movx a,@dptr
326 0149 F5*07 326 mov (___fs2int_sloc1_1_0 + 3),a
327 014B 85*00 F0 327 mov b,___fs2int_sloc0_1_0
329 0150 E5*07 329 mov a,(___fs2int_sloc1_1_0 + 3)
331 0153 92 D2 331 mov ov,c
332 0155 80 16 332 sjmp 00127$
334 0157 A2 D2 334 mov c,ov
335 0159 E5*07 335 mov a,(___fs2int_sloc1_1_0 + 3)
337 015C F5*07 337 mov (___fs2int_sloc1_1_0 + 3),a
338 015E E5*06 338 mov a,(___fs2int_sloc1_1_0 + 2)
340 0161 F5*06 340 mov (___fs2int_sloc1_1_0 + 2),a
341 0163 E5*05 341 mov a,(___fs2int_sloc1_1_0 + 1)
343 0166 F5*05 343 mov (___fs2int_sloc1_1_0 + 1),a
344 0168 E5*04 344 mov a,___fs2int_sloc1_1_0
346 016B F5*04 346 mov ___fs2int_sloc1_1_0,a
348 016D D5 F0 E7 348 djnz b,00126$
349 0170 90s00r0A 349 mov dptr,#___fs2int_l_1_1
350 0173 E5*04 350 mov a,___fs2int_sloc1_1_0
351 0175 F0 351 movx @dptr,a
353 0177 E5*05 353 mov a,(___fs2int_sloc1_1_0 + 1)
354 0179 F0 354 movx @dptr,a
356 017B E5*06 356 mov a,(___fs2int_sloc1_1_0 + 2)
357 017D F0 357 movx @dptr,a
359 017F E5*07 359 mov a,(___fs2int_sloc1_1_0 + 3)
360 0181 F0 360 movx @dptr,a
361 361 ; Peephole 132 changed ljmp to sjmp
362 0182 80 06 362 sjmp 00107$
365 365 ; Peephole 181 used 16 bit load of dptr
366 0184 90 00 00 366 mov dptr,#0x0000
367 0187 02s01rE5 367 ljmp 00110$
370 018A 90s00r04 370 mov dptr,#(___fs2int_fl1_1_1)
371 018D E0 371 movx a,@dptr
372 018E F5*04 372 mov ___fs2int_sloc1_1_0,a
374 0191 E0 374 movx a,@dptr
375 0192 F5*05 375 mov (___fs2int_sloc1_1_0 + 1),a
377 0195 E0 377 movx a,@dptr
378 0196 F5*06 378 mov (___fs2int_sloc1_1_0 + 2),a
380 0199 E0 380 movx a,@dptr
381 381 ; Peephole 105 removed redundant mov
382 019A F5*07 382 mov (___fs2int_sloc1_1_0 + 3),a
384 019D 54 01 384 anl a,#0x01
385 385 ; Peephole 105 removed redundant mov
387 387 ; Peephole 110 removed ljmp by inverse jump logic
388 01A0 60 29 388 jz 00112$
390 01A2 90s00r0A 390 mov dptr,#___fs2int_l_1_1
391 01A5 E0 391 movx a,@dptr
392 01A6 F5*04 392 mov ___fs2int_sloc1_1_0,a
394 01A9 E0 394 movx a,@dptr
395 01AA F5*05 395 mov (___fs2int_sloc1_1_0 + 1),a
397 01AD E0 397 movx a,@dptr
398 01AE F5*06 398 mov (___fs2int_sloc1_1_0 + 2),a
400 01B1 E0 400 movx a,@dptr
401 01B2 F5*07 401 mov (___fs2int_sloc1_1_0 + 3),a
404 01B6 95*04 404 subb a,___fs2int_sloc1_1_0
405 01B8 F5*04 405 mov ___fs2int_sloc1_1_0,a
407 01BB 95*05 407 subb a,(___fs2int_sloc1_1_0 + 1)
408 01BD F5*05 408 mov (___fs2int_sloc1_1_0 + 1),a
410 01C0 95*06 410 subb a,(___fs2int_sloc1_1_0 + 2)
411 01C2 F5*06 411 mov (___fs2int_sloc1_1_0 + 2),a
413 01C5 95*07 413 subb a,(___fs2int_sloc1_1_0 + 3)
414 01C7 F5*07 414 mov (___fs2int_sloc1_1_0 + 3),a
415 415 ; Peephole 132 changed ljmp to sjmp
416 01C9 80 12 416 sjmp 00113$
418 01CB 90s00r0A 418 mov dptr,#___fs2int_l_1_1
419 01CE E0 419 movx a,@dptr
420 01CF F5*04 420 mov ___fs2int_sloc1_1_0,a
422 01D2 E0 422 movx a,@dptr
423 01D3 F5*05 423 mov (___fs2int_sloc1_1_0 + 1),a
425 01D6 E0 425 movx a,@dptr
426 01D7 F5*06 426 mov (___fs2int_sloc1_1_0 + 2),a
428 01DA E0 428 movx a,@dptr
429 01DB F5*07 429 mov (___fs2int_sloc1_1_0 + 3),a
431 01DD AA*04 431 mov r2,___fs2int_sloc1_1_0
432 01DF A8*05 432 mov r0,(___fs2int_sloc1_1_0 + 1)
433 01E1 8A 82 433 mov dpl,r2
434 01E3 88 83 434 mov dph,r0
436 01E5 436 C$_fs2int.c$97$1$1 ==.
437 01E5 437 XG$__fs2int$0$0 ==.
439 439 .area CSEG (CODE)