HI-TECH Software PICC Macro Assembler V9.60PL3
Sat Sep 27 11:16:04 2008
1 processor 16F84
2 fnconf fnauto0,??,?,0
3 opt pw 79
4 psect maintext,global,class=CODE,delta=2
5 psect text54,local,class=CODE,delta=2
6 psect text55,local,class=CODE,delta=2
7 psect text56,local,class=CODE,delta=2
8 psect text57,local,class=CODE,delta=2
9 psect text58,local,class=CODE,delta=2
10 psect text59,local,class=CODE,delta=2
11 psect strings,global,reloc=256,class=CODE,delt
+ a=2
12 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
13 psect fnauto0,global,class=BANK0,space=1,delta
+ =1
14 dabs 1,0x34,2
15 0000
16 0000
17 0000
18 0000
19 0000
20 0000
21 0000
22 0000
23 0000
24 0000
25 0000
26 0000
27 0000
28 0000
29 0000
30 0000
31 0000
32 0000
33 0000 __tempreg set 54
34 0000 __Lrbss_0 set 52
35 0000 __Hrbss_0 set 54
36 0000
37 0000
38 0000 __Lramdata set 0
39 0000 __Hramdata set 1
40 0000
41 0000
42 0000
43 0000
44 0000
45 0000
46 0000
47 0000
48 0000
49 0000
50 0000
51 0000
52 0000
53 0000
54 0000
55 0000
56 0000
57 0000
58 0000
59 0000
60 0000
61
62 psect maintext
63 ;Data sizes: Strings 0, constant 0, data 0, bss
+ 0, persistent 0 stack 26
64 ; *************** function _main **************
+ ***
65 ; Defined at:
66 ; line 18 in file "..\main.c"
67 ; Parameters:
68 ; None
69 ; Auto variables:
70 ; None
71 ; Return value:
72 ; type: int
73 ; size: 2
74 ; Registers used:
75 ; wreg, fsr, status,2, status,0, pclath, cstac
+ k
76 ; Tracked objects:
77 ; On entry : BFF/0
78 ; On exit : BFF/0
79 ; Unchanged: FFFFF6FF/0
80 ; Data sizes:
81 ; Autos: 0
82 ; Params: 0
83 ; Temp: 0
84 ; Total: 0
85 ; This function calls:
86 ; _Wait_These_Seconds
87 ; This function is called by:
88 ; Startup code after reset
89 ; This function uses a non-reentrant model
90 ;
91 ;main.c: 17: main()
92 ;main.c: 18: {
93 0003 _main:
94 ; Regs used in _main: [wreg+fsr+status,2+status
+ ,0+pclath+cstack]
95 ;main.c: 19: TRISB=0xF0;
96 0003 30F0 movlw 240
97 0004 1683 bsf 3,5 ;RP0=1, select bank1
98 0005 0086 movwf 6 ;volatile
99 ;main.c: 20: for(;;)
100 0006 l17:
101 ;main.c: 21: {
102 ;main.c: 22: if(RB5==1)
103 0006 1283 bcf 3,5 ;RP0=0, select bank0
104 0007 1E86 btfss 6,5
105 0008 2818 goto l20
106 ;main.c: 23: {
107 ;main.c: 25: RB0=1;
108 0009 1406 bsf 6,0
109 ;main.c: 26: Wait_These_Seconds(1.8);
110 000A 3066 movlw 102
111 000B 00B6 movwf ?_Wait_These_Seconds
112 000C 30E6 movlw 230
113 000D 00B7 movwf ?_Wait_These_Seconds+1
114 000E 303F movlw 63
115 000F 00B8 movwf ?_Wait_These_Seconds+2
116 0010 223F fcall _Wait_These_Seconds
117 ;main.c: 27: RB0=0;
118 0011 1006 bcf 6,0
119 ;main.c: 28: Wait_These_Seconds(0.9);
120 0012 3066 movlw 102
121 0013 00B6 movwf ?_Wait_These_Seconds
122 0014 00B7 movwf ?_Wait_These_Seconds+1
123 0015 303F movlw 63
124 0016 00B8 movwf ?_Wait_These_Seconds+2
125 0017 223F fcall _Wait_These_Seconds
126 0018 l20:
127 ;main.c: 29: }
128 ;main.c: 30: if(RB5==0)
129 0018 1A86 btfsc 6,5
130 0019 2806 goto l17
131 ;main.c: 31: {
132 ;main.c: 33: RB0=1;
133 001A 1406 bsf 6,0
134 ;main.c: 34: Wait_These_Seconds(0.7);
135 001B 3033 movlw 51
136 001C 00B6 movwf ?_Wait_These_Seconds
137 001D 00B7 movwf ?_Wait_These_Seconds+1
138 001E 303F movlw 63
139 001F 00B8 movwf ?_Wait_These_Seconds+2
140 0020 223F fcall _Wait_These_Seconds
141 ;main.c: 35: RB0=0;
142 0021 1006 bcf 6,0
143 ;main.c: 36: Wait_These_Seconds(0.1);
144 0022 30CD movlw 205
145 0023 00B6 movwf ?_Wait_These_Seconds
146 0024 30CC movlw 204
147 0025 00B7 movwf ?_Wait_These_Seconds+1
148 0026 303D movlw 61
149 0027 00B8 movwf ?_Wait_These_Seconds+2
150 0028 223F fcall _Wait_These_Seconds
151 ;main.c: 37: }
152 ;main.c: 38: }
153 0029 2806 goto l17
154 002A __end_of_main:
155
156 psect text54
157 ; =============== function _main ends =========
+ ===
158 ; *************** function _Wait_These_Seconds
+ *****************
159 ; Defined at:
160 ; line 8 in file "..\main.c"
161 ; Parameters:
162 ; s offs: 0 type: float
163 ; Auto variables:
164 ; milli_Equiv type: int
165 ; Return value:
166 ; type: void
167 ; size: 0
168 ; Registers used:
169 ; wreg, fsr, status,2, status,0, pclath, cstac
+ k
170 ; Tracked objects:
171 ; On entry : 100/0
172 ; On exit : 100/0
173 ; Unchanged: FFFFF6FF/0
174 ; Data sizes:
175 ; Autos: 2
176 ; Params: 3
177 ; Temp: 1
178 ; Total: 6
179 ; This function calls:
180 ; ___ftmul
181 ; ___fttol
182 ; _DelayMs
183 ; This function is called by:
184 ; _main
185 ; This function uses a non-reentrant model
186 ;
187 ;main.c: 5: int j;
188 ;main.c: 7: void Wait_These_Seconds(float s)
189 ;main.c: 8: {
190 023F _Wait_These_Seconds:
191 ; Regs used in _Wait_These_Seconds: [wreg+fsr+s
+ tatus,2+status,0+pclath+cstack]
192 ;main.c: 9: int milli_Equiv;
193 ;main.c: 10: milli_Equiv=1000*s;
194 023F 01BF clrf (?___ftmul+3)& (0+127)
195 0240 307A movlw 122
196 0241 00C0 movwf (?___ftmul+4)& (0+127)
197 0242 3044 movlw 68
198 0243 00C1 movwf (?___ftmul+5)& (0+127)
199 0244 0836 movf ?_Wait_These_Seconds,w
200 0245 00BC movwf ?___ftmul
201 0246 0837 movf ?_Wait_These_Seconds+1,w
202 0247 00BD movwf ?___ftmul+1
203 0248 0838 movf ?_Wait_These_Seconds+2,w
204 0249 00BE movwf ?___ftmul+2
205 024A 22F7 fcall ___ftmul
206 024B 083C movf ?___ftmul,w
207 024C 00BC movwf ?___fttol
208 024D 083D movf ?___ftmul+1,w
209 024E 00BD movwf ?___fttol+1
210 024F 083E movf ?___ftmul+2,w
211 0250 00BE movwf ?___fttol+2
212 0251 22AC fcall ___fttol
213 0252 083C movf ?___fttol,w
214 0253 00B9 movwf ??_Wait_These_Seconds
215 0254 083D movf ?___fttol+1,w
216 0255 00BA movwf ??_Wait_These_Seconds+1
217 ;main.c: 11: for(j=1;j<=milli_Equiv;j++)
218 0256 01B4 clrf 52
219 0257 0AB4 incf 52,f
220 0258 01B5 clrf 53
221 0259 2A5F goto l15
222 025A l12:
223 ;main.c: 12: {
224 ;main.c: 13: DelayMs(1);
225 025A 3001 movlw 1
226 025B 2233 fcall _DelayMs
227 025C 0AB4 incf 52,f
228 025D 1903 btfsc 3,2
229 025E 0AB5 incf 53,f
230 025F l15:
231 025F 083A movf ??_Wait_These_Seconds+1,w
232 0260 3A80 xorlw 128
233 0261 00BB movwf ??_Wait_These_Seconds+2
234 0262 0835 movf 53,w
235 0263 3A80 xorlw 128
236 0264 023B subwf ??_Wait_These_Seconds+2,w
237 0265 1D03 btfss 3,2
238 0266 2A69 goto u5910
239 0267 0834 movf 52,w
240 0268 0239 subwf ??_Wait_These_Seconds,w
241 0269 u5910:
242 0269 1C03 btfss 3,0
243 026A 0008 return
244 026B 2A5A goto l12
245 ;main.c: 14: }
246 ;main.c: 15: }
247 026C __end_of_Wait_These_Seconds:
248
249 psect text55
250 ; =============== function _Wait_These_Seconds
+ ends ============
251 ; *************** function ___fttol ***********
+ ******
252 ; Defined at:
253 ; line 16 in file "C:\Program Files\HI-TECH So
+ ftware\PICC\PRO\9.60\sources\fttol.c"
254 ; Parameters:
255 ; f1 offs: 0 type: float
256 ; Auto variables:
257 ; sign1 type: unsigned char
258 ; exp1 type: unsigned char
259 ; lval type: unsigned long
260 ; Return value:
261 ; type: long
262 ; size: 4
263 ; Registers used:
264 ; wreg, fsr, status,2, status,0, pclath, cstac
+ k
265 ; Tracked objects:
266 ; On entry : 900/0
267 ; On exit : 100/0
268 ; Unchanged: FFFFF6FF/0
269 ; Data sizes:
270 ; Autos: 6
271 ; Params: 4
272 ; Temp: 0
273 ; Total: 10
274 ; This function calls:
275 ; ___ftunpack
276 ; This function is called by:
277 ; _Wait_These_Seconds
278 ; This function uses a non-reentrant model
279 ;
280 02AC ___fttol:
281 ; Regs used in ___fttol: [wreg+fsr+status,2+sta
+ tus,0+pclath+cstack]
282 02AC 3041 movlw (??___fttol+1)& (0+255)
283 02AD 00C8 movwf ?___ftunpack
284 02AE 303C movlw ?___fttol& (0+255)
285 02AF 226C fcall ___ftunpack
286 02B0 00C0 movwf ??___fttol
287 02B1 083C movf ?___fttol,w
288 02B2 00C2 movwf ??___fttol+2
289 02B3 083D movf ?___fttol+1,w
290 02B4 00C3 movwf ??___fttol+3
291 02B5 083E movf ?___fttol+2,w
292 02B6 00C4 movwf ??___fttol+4
293 02B7 01C5 clrf ??___fttol+5
294 02B8 308E movlw 142
295 02B9 02C1 subwf ??___fttol+1,f
296 02BA 1FC1 btfss ??___fttol+1,7
297 02BB 2ACE goto l164
298 02BC 0841 movf ??___fttol+1,w
299 02BD 3A80 xorlw 128
300 02BE 3E8F addlw 143
301 02BF 1803 btfsc 3,0
302 02C0 2AC6 goto l168
303 02C1 01BC clrf ?___fttol
304 02C2 01BD clrf ?___fttol+1
305 02C3 01BE clrf ?___fttol+2
306 02C4 01BF clrf ?___fttol+3
307 02C5 0008 return
308 02C6 l168:
309 02C6 1003 bcf 3,0
310 02C7 0CC5 rrf ??___fttol+5,f
311 02C8 0CC4 rrf ??___fttol+4,f
312 02C9 0CC3 rrf ??___fttol+3,f
313 02CA 0CC2 rrf ??___fttol+2,f
314 02CB 0FC1 incfsz ??___fttol+1,f
315 02CC 2AC6 goto l168
316 02CD 2AE0 goto l169
317 02CE l164:
318 02CE 3020 movlw 32
319 02CF 0241 subwf ??___fttol+1,w
320 02D0 1C03 btfss 3,0
321 02D1 2ADD goto l171
322 02D2 01BC clrf ?___fttol
323 02D3 01BD clrf ?___fttol+1
324 02D4 01BE clrf ?___fttol+2
325 02D5 01BF clrf ?___fttol+3
326 02D6 0008 return
327 02D7 l172:
328 02D7 1003 bcf 3,0
329 02D8 0DC2 rlf ??___fttol+2,f
330 02D9 0DC3 rlf ??___fttol+3,f
331 02DA 0DC4 rlf ??___fttol+4,f
332 02DB 0DC5 rlf ??___fttol+5,f
333 02DC 03C1 decf ??___fttol+1,f
334 02DD l171:
335 02DD 08C1 movf ??___fttol+1,f
336 02DE 1D03 btfss 3,2
337 02DF 2AD7 goto l172
338 02E0 l169:
339 02E0 08C0 movf ??___fttol,f
340 02E1 1903 btfsc 3,2
341 02E2 2AEE goto l174
342 02E3 09C2 comf ??___fttol+2,f
343 02E4 09C3 comf ??___fttol+3,f
344 02E5 09C4 comf ??___fttol+4,f
345 02E6 09C5 comf ??___fttol+5,f
346 02E7 0AC2 incf ??___fttol+2,f
347 02E8 1903 btfsc 3,2
348 02E9 0AC3 incf ??___fttol+3,f
349 02EA 1903 btfsc 3,2
350 02EB 0AC4 incf ??___fttol+4,f
351 02EC 1903 btfsc 3,2
352 02ED 0AC5 incf ??___fttol+5,f
353 02EE l174:
354 02EE 0842 movf ??___fttol+2,w
355 02EF 00BC movwf ?___fttol
356 02F0 0843 movf ??___fttol+3,w
357 02F1 00BD movwf ?___fttol+1
358 02F2 0844 movf ??___fttol+4,w
359 02F3 00BE movwf ?___fttol+2
360 02F4 0845 movf ??___fttol+5,w
361 02F5 00BF movwf ?___fttol+3
362 02F6 0008 return
363 02F7 __end_of___fttol:
364
365 psect text56
366 ; =============== function ___fttol ends ======
+ ======
367 ; *************** function _DelayMs ***********
+ ******
368 ; Defined at:
369 ; line 12 in file "C:\Program Files\HI-TECH So
+ ftware\PICC\PRO\9.60\include\delay.c"
370 ; Parameters:
371 ; cnt reg: wr type: unsigned char
372 ; Auto variables:
373 ; cnt type: unsigned char
374 ; i type: unsigned char
375 ; _dcnt type: unsigned char
376 ; Return value:
377 ; type: void
378 ; size: 0
379 ; Registers used:
380 ; wreg
381 ; Tracked objects:
382 ; On entry : 100/0
383 ; On exit : 100/0
384 ; Unchanged: FFFFFEFF/0
385 ; Data sizes:
386 ; Autos: 3
387 ; Params: 0
388 ; Temp: 0
389 ; Total: 3
390 ; This function calls:
391 ; Nothing
392 ; This function is called by:
393 ; _Wait_These_Seconds
394 ; This function uses a non-reentrant model
395 ;
396 ;delay.c: 10: void
397 ;delay.c: 11: DelayMs(unsigned char cnt)
398 ;delay.c: 12: {
399 0233 _DelayMs:
400 ; Regs used in _DelayMs: [wreg]
401 ;_DelayMs_cnt stored from wreg
402 0233 00BC movwf ??_DelayMs
403 ;delay.c: 20: unsigned char i;
404 ;delay.c: 21: do {
405 0234 l4:
406 ;delay.c: 22: i = 4;
407 0234 3004 movlw 4
408 0235 00BD movwf ??_DelayMs+1
409 ;delay.c: 23: do {
410 0236 l7:
411 ;delay.c: 24: { unsigned char _dcnt; _dcnt = (2
+ 50)/((12*1000L)/(4*1000L))|1; while(--_dcnt !=
+ 0) continue; };
412 0236 3053 movlw 83
413 0237 00BE movwf ??_DelayMs+2
414 0238 l9:
415 0238 0BBE decfsz ??_DelayMs+2,f
416 0239 2A38 goto l9
417 ;delay.c: 25: } while(--i);
418 023A 0BBD decfsz ??_DelayMs+1,f
419 023B 2A36 goto l7
420 ;delay.c: 26: } while(--cnt);
421 023C 0BBC decfsz ??_DelayMs,f
422 023D 2A34 goto l4
423 023E 0008 return
424 ;delay.c: 28: }
425 023F __end_of_DelayMs:
426
427 psect text57
428 ; =============== function _DelayMs ends ======
+ ======
429 ; *************** function ___ftmul ***********
+ ******
430 ; Defined at:
431 ; line 18 in file "C:\Program Files\HI-TECH So
+ ftware\PICC\PRO\9.60\sources\ftmul.c"
432 ; Parameters:
433 ; f1 offs: 0 type: float
434 ; f2 offs: 3 type: float
435 ; Auto variables:
436 ; sign1 type: unsigned char
437 ; exp1 type: unsigned char
438 ; cntr type: unsigned char
439 ; f3 type: float
440 ; Return value:
441 ; type: float
442 ; size: 3
443 ; Registers used:
444 ; wreg, fsr, status,2, status,0, pclath, cstac
+ k
445 ; Tracked objects:
446 ; On entry : 100/0
447 ; On exit : 900/0
448 ; Unchanged: FFFFF6FF/0
449 ; Data sizes:
450 ; Autos: 6
451 ; Params: 6
452 ; Temp: 0
453 ; Total: 12
454 ; This function calls:
455 ; ___ftunpack
456 ; ___ftpack
457 ; This function is called by:
458 ; _Wait_These_Seconds
459 ; This function uses a non-reentrant model
460 ;
461 02F7 ___ftmul:
462 ; Regs used in ___ftmul: [wreg+fsr+status,2+sta
+ tus,0+pclath+cstack]
463 02F7 01C5 clrf ??___ftmul+3
464 02F8 01C6 clrf ??___ftmul+4
465 02F9 01C7 clrf ??___ftmul+5
466 02FA 3043 movlw (??___ftmul+1)& (0+255)
467 02FB 00C8 movwf ?___ftunpack
468 02FC 303C movlw ?___ftmul& (0+255)
469 02FD 226C fcall ___ftunpack
470 02FE 00C2 movwf ??___ftmul
471 02FF 3044 movlw (??___ftmul+2)& (0+255)
472 0300 00C8 movwf ?___ftunpack
473 0301 303F movlw (?___ftmul+3)& (0+255)
474 0302 226C fcall ___ftunpack
475 0303 06C2 xorwf ??___ftmul,f
476 0304 08C4 movf ??___ftmul+2,f
477 0305 1D03 btfss 3,2
478 0306 08C3 movf ??___ftmul+1,f
479 0307 1D03 btfss 3,2
480 0308 2B10 goto l106
481 0309 0845 movf ??___ftmul+3,w
482 030A 00BC movwf ?___ftmul
483 030B 0846 movf ??___ftmul+4,w
484 030C 00BD movwf ?___ftmul+1
485 030D 0847 movf ??___ftmul+5,w
486 030E 00BE movwf ?___ftmul+2
487 030F 0008 return
488 0310 l106:
489 0310 0844 movf ??___ftmul+2,w
490 0311 3E7B addlw 123
491 0312 07C3 addwf ??___ftmul+1,f
492 0313 3007 movlw 7
493 0314 00C4 movwf ??___ftmul+2
494 0315 l109:
495 0315 1C3C btfss ?___ftmul,0
496 0316 2B25 goto l110
497 0317 083F movf ?___ftmul+3,w
498 0318 07C5 addwf ??___ftmul+3,f
499 0319 0840 movf ?___ftmul+4,w
500 031A 1103 bcf 3,2
501 031B 1803 btfsc 3,0
502 031C 0A40 incf ?___ftmul+4,w
503 031D 1D03 btfss 3,2
504 031E 07C6 addwf ??___ftmul+4,f
505 031F 0841 movf ?___ftmul+5,w
506 0320 1103 bcf 3,2
507 0321 1803 btfsc 3,0
508 0322 0A41 incf ?___ftmul+5,w
509 0323 1D03 btfss 3,2
510 0324 07C7 addwf ??___ftmul+5,f
511 0325 l110:
512 0325 1003 bcf 3,0
513 0326 0CBE rrf ?___ftmul+2,f
514 0327 0CBD rrf ?___ftmul+1,f
515 0328 0CBC rrf ?___ftmul,f
516 0329 1003 bcf 3,0
517 032A 0DBF rlf ?___ftmul+3,f
518 032B 0DC0 rlf ?___ftmul+4,f
519 032C 0DC1 rlf ?___ftmul+5,f
520 032D 0BC4 decfsz ??___ftmul+2,f
521 032E 2B15 goto l109
522 032F 3009 movlw 9
523 0330 00C4 movwf ??___ftmul+2
524 0331 l113:
525 0331 1C3C btfss ?___ftmul,0
526 0332 2B41 goto l114
527 0333 083F movf ?___ftmul+3,w
528 0334 07C5 addwf ??___ftmul+3,f
529 0335 0840 movf ?___ftmul+4,w
530 0336 1103 bcf 3,2
531 0337 1803 btfsc 3,0
532 0338 0A40 incf ?___ftmul+4,w
533 0339 1D03 btfss 3,2
534 033A 07C6 addwf ??___ftmul+4,f
535 033B 0841 movf ?___ftmul+5,w
536 033C 1103 bcf 3,2
537 033D 1803 btfsc 3,0
538 033E 0A41 incf ?___ftmul+5,w
539 033F 1D03 btfss 3,2
540 0340 07C7 addwf ??___ftmul+5,f
541 0341 l114:
542 0341 1003 bcf 3,0
543 0342 0CBE rrf ?___ftmul+2,f
544 0343 0CBD rrf ?___ftmul+1,f
545 0344 0CBC rrf ?___ftmul,f
546 0345 1003 bcf 3,0
547 0346 0CC7 rrf ??___ftmul+5,f
548 0347 0CC6 rrf ??___ftmul+4,f
549 0348 0CC5 rrf ??___ftmul+3,f
550 0349 0BC4 decfsz ??___ftmul+2,f
551 034A 2B31 goto l113
552 034B 0843 movf ??___ftmul+1,w
553 034C 1383 bcf 3,7 ;select IRP bank0
554 034D 00C8 movwf ?___ftpack
555 034E 3045 movlw (??___ftmul+3)& (0+255)
556 034F 235A fcall ___ftpack
557 0350 08C2 movf ??___ftmul,f
558 0351 1D03 btfss 3,2
559 0352 17C7 bsf ??___ftmul+5,7
560 0353 0845 movf ??___ftmul+3,w
561 0354 00BC movwf ?___ftmul
562 0355 0846 movf ??___ftmul+4,w
563 0356 00BD movwf ?___ftmul+1
564 0357 0847 movf ??___ftmul+5,w
565 0358 00BE movwf ?___ftmul+2
566 0359 0008 return
567 035A __end_of___ftmul:
568
569 psect text58
570 ; =============== function ___ftmul ends ======
+ ======
571 ; *************** function ___ftunpack ********
+ *********
572 ; Defined at:
573 ; line 13 in file "float.c"
574 ; Parameters:
575 ; arg reg: wr type: PTR unsigned um
+ ; Largest target is 3
576 ; -> __fttol_f1(3), __ftmul_f2(3), __ftmul_f1
+ (3), __ftdiv_f2(3),
577 ; -> __ftdiv_f1(3), __ftadd_f2(3), __ftadd_f1
+ (3),
578 ; exp offs: 0 type: PTR unsigned ch
+ ar ; Largest target is 1
579 ; -> __fttol_exp1(1), __ftmul_cntr(1), __ftmu
+ l_exp1(1), __ftdiv_exp2(1),
580 ; -> __ftdiv_exp1(1), __ftadd_exp2(1), __ftad
+ d_exp1(1),
581 ; Auto variables:
582 ; arg type: PTR unsigned um;
+ Largest target is 3
583 ; -> __fttol_f1(3), __ftmul_f2(3), __ftmul_f1
+ (3), __ftdiv_f2(3),
584 ; -> __ftdiv_f1(3), __ftadd_f2(3), __ftadd_f1
+ (3),
585 ; sign type: unsigned char
586 ; Return value:
587 ; type: unsigned char
588 ; size: 1
589 ; Registers used:
590 ; wreg, fsr, status,2, status,0
591 ; Tracked objects:
592 ; On entry : 100/0
593 ; On exit : 900/0
594 ; Unchanged: FFFFF6FF/0
595 ; Data sizes:
596 ; Autos: 2
597 ; Params: 1
598 ; Temp: 4
599 ; Total: 7
600 ; This function calls:
601 ; Nothing
602 ; This function is called by:
603 ; ___ftmul
604 ; ___fttol
605 ; This function uses a non-reentrant model
606 ;
607 026C ___ftunpack:
608 ; Regs used in ___ftunpack: [wreg+fsr+status,2+
+ status,0]
609 ;___ftunpack_arg stored from wreg
610 026C 00C9 movwf ??___ftunpack
611 026D 0084 movwf 4
612 026E 1383 bcf 3,7 ;select IRP bank0
613 026F 0800 movf 0,w
614 0270 00CB movwf ??___ftunpack+2
615 0271 0A84 incf 4,f
616 0272 0800 movf 0,w
617 0273 00CC movwf ??___ftunpack+3
618 0274 0A84 incf 4,f
619 0275 0800 movf 0,w
620 0276 00CD movwf ??___ftunpack+4
621 0277 300F movlw 15
622 0278 u765:
623 0278 1003 bcf 3,0
624 0279 0CCD rrf ??___ftunpack+4,f
625 027A 0CCC rrf ??___ftunpack+3,f
626 027B 0CCB rrf ??___ftunpack+2,f
627 027C 3EFF addlw -1
628 027D 1D03 btfss 3,2
629 027E 2A78 goto u765
630 027F 084B movf ??___ftunpack+2,w
631 0280 00CA movwf ??___ftunpack+1
632 0281 00CE movwf ??___ftunpack+5
633 0282 0848 movf ?___ftunpack,w
634 0283 0084 movwf 4
635 0284 084E movf ??___ftunpack+5,w
636 0285 0080 movwf 0
637 0286 08CA movf ??___ftunpack+1,f
638 0287 1D03 btfss 3,2
639 0288 2A92 goto l331
640 0289 0849 movf ??___ftunpack,w
641 028A 0084 movwf 4
642 028B 3000 movlw 0
643 028C 0180 clrf 0
644 028D 0A84 incf 4,f
645 028E 0180 clrf 0
646 028F 0A84 incf 4,f
647 0290 0180 clrf 0
648 0291 0008 return
649 0292 l331:
650 0292 01CA clrf ??___ftunpack+1
651 0293 0849 movf ??___ftunpack,w
652 0294 0084 movwf 4
653 0295 0A84 incf 4,f
654 0296 3080 movlw 128
655 0297 0480 iorwf 0,f
656 0298 0A84 incf 4,f
657 0299 0849 movf ??___ftunpack,w
658 029A 0084 movwf 4
659 029B 0800 movf 0,w
660 029C 00CB movwf ??___ftunpack+2
661 029D 0A84 incf 4,f
662 029E 0800 movf 0,w
663 029F 00CC movwf ??___ftunpack+3
664 02A0 0A84 incf 4,f
665 02A1 0800 movf 0,w
666 02A2 00CD movwf ??___ftunpack+4
667 02A3 1BCD btfsc ??___ftunpack+4,7
668 02A4 0ACA incf ??___ftunpack+1,f
669 02A5 0849 movf ??___ftunpack,w
670 02A6 0084 movwf 4
671 02A7 0A84 incf 4,f
672 02A8 0A84 incf 4,f
673 02A9 0180 clrf 0
674 02AA 084A movf ??___ftunpack+1,w
675 02AB 0008 return
676 02AC __end_of___ftunpack:
677
678 psect text59
679 ; =============== function ___ftunpack ends ===
+ =========
680 ; *************** function ___ftpack **********
+ *******
681 ; Defined at:
682 ; line 33 in file "float.c"
683 ; Parameters:
684 ; arg reg: wr type: PTR unsigned um
+ ; Largest target is 3
685 ; -> __lltoft_f1(3), __altoft_f1(3), __lwtoft
+ _f1(3), __awtoft_f1(3),
686 ; -> __abtoft_f1(3), __lbtoft_f1(3), __ftmul_
+ f3(3), __ftdiv_f3(3),
687 ; -> __ftadd_f1(3),
688 ; exp offs: 0 type: unsigned char
689 ; Auto variables:
690 ; arg type: PTR unsigned um;
+ Largest target is 3
691 ; -> __lltoft_f1(3), __altoft_f1(3), __lwtoft
+ _f1(3), __awtoft_f1(3),
692 ; -> __abtoft_f1(3), __lbtoft_f1(3), __ftmul_
+ f3(3), __ftdiv_f3(3),
693 ; -> __ftadd_f1(3),
694 ; Return value:
695 ; type: void
696 ; size: 0
697 ; Registers used:
698 ; wreg, fsr, status,2, status,0
699 ; Tracked objects:
700 ; On entry : 900/0
701 ; On exit : 900/0
702 ; Unchanged: FFFFF6FF/0
703 ; Data sizes:
704 ; Autos: 1
705 ; Params: 1
706 ; Temp: 6
707 ; Total: 8
708 ; This function calls:
709 ; Nothing
710 ; This function is called by:
711 ; ___ftmul
712 ; This function uses a non-reentrant model
713 ;
714 035A ___ftpack:
715 ; Regs used in ___ftpack: [wreg+fsr+status,2+st
+ atus,0]
716 ;___ftpack_arg stored from wreg
717 035A 00C9 movwf ??___ftpack
718 035B 08C8 movf ?___ftpack,f
719 035C 1903 btfsc 3,2
720 035D 2B6C goto l600000191
721 035E 0849 movf ??___ftpack,w
722 035F 0084 movwf 4
723 0360 0800 movf 0,w
724 0361 00CA movwf ??___ftpack+1
725 0362 0A84 incf 4,f
726 0363 0800 movf 0,w
727 0364 00CB movwf ??___ftpack+2
728 0365 0A84 incf 4,f
729 0366 0800 movf 0,w
730 0367 00CC movwf ??___ftpack+3
731 0368 044B iorwf ??___ftpack+2,w
732 0369 044A iorwf ??___ftpack+1,w
733 036A 1D03 btfss 3,2
734 036B 2B80 goto l335
735 036C l600000191:
736 036C 0849 movf ??___ftpack,w
737 036D 0084 movwf 4
738 036E 3000 movlw 0
739 036F 0180 clrf 0
740 0370 0A84 incf 4,f
741 0371 0180 clrf 0
742 0372 0A84 incf 4,f
743 0373 0180 clrf 0
744 0374 0008 return
745 0375 l336:
746 0375 0AC8 incf ?___ftpack,f
747 0376 0849 movf ??___ftpack,w
748 0377 0084 movwf 4
749 0378 0A84 incf 4,f
750 0379 0A84 incf 4,f
751 037A 1003 bcf 3,0
752 037B 0C80 rrf 0,f
753 037C 0384 decf 4,f
754 037D 0C80 rrf 0,f
755 037E 0384 decf 4,f
756 037F 0C80 rrf 0,f
757 0380 l335:
758 0380 01CA clrf ??___ftpack+1
759 0381 01CB clrf ??___ftpack+2
760 0382 30FE movlw 254
761 0383 00CC movwf ??___ftpack+3
762 0384 0849 movf ??___ftpack,w
763 0385 0084 movwf 4
764 0386 0800 movf 0,w
765 0387 00CD movwf ??___ftpack+4
766 0388 0A84 incf 4,f
767 0389 0800 movf 0,w
768 038A 00CE movwf ??___ftpack+5
769 038B 0A84 incf 4,f
770 038C 0800 movf 0,w
771 038D 00CF movwf ??___ftpack+6
772 038E 084D movf ??___ftpack+4,w
773 038F 05CA andwf ??___ftpack+1,f
774 0390 084E movf ??___ftpack+5,w
775 0391 05CB andwf ??___ftpack+2,f
776 0392 084F movf ??___ftpack+6,w
777 0393 05CC andwf ??___ftpack+3,f
778 0394 084C movf ??___ftpack+3,w
779 0395 044B iorwf ??___ftpack+2,w
780 0396 044A iorwf ??___ftpack+1,w
781 0397 1903 btfsc 3,2
782 0398 2BB4 goto l338
783 0399 2B75 goto l336
784 039A l339:
785 039A 0AC8 incf ?___ftpack,f
786 039B 0849 movf ??___ftpack,w
787 039C 0084 movwf 4
788 039D 3001 movlw 1
789 039E 0780 addwf 0,f
790 039F 0A84 incf 4,f
791 03A0 3000 movlw 0
792 03A1 1803 btfsc 3,0
793 03A2 3E01 addlw 1
794 03A3 1D03 btfss 3,2
795 03A4 0780 addwf 0,f
796 03A5 0A84 incf 4,f
797 03A6 3000 movlw 0
798 03A7 1803 btfsc 3,0
799 03A8 3E01 addlw 1
800 03A9 0780 addwf 0,f
801 03AA 0849 movf ??___ftpack,w
802 03AB 0084 movwf 4
803 03AC 0A84 incf 4,f
804 03AD 0A84 incf 4,f
805 03AE 1003 bcf 3,0
806 03AF 0C80 rrf 0,f
807 03B0 0384 decf 4,f
808 03B1 0C80 rrf 0,f
809 03B2 0384 decf 4,f
810 03B3 0C80 rrf 0,f
811 03B4 l338:
812 03B4 01CA clrf ??___ftpack+1
813 03B5 01CB clrf ??___ftpack+2
814 03B6 30FF movlw 255
815 03B7 00CC movwf ??___ftpack+3
816 03B8 0849 movf ??___ftpack,w
817 03B9 0084 movwf 4
818 03BA 0800 movf 0,w
819 03BB 00CD movwf ??___ftpack+4
820 03BC 0A84 incf 4,f
821 03BD 0800 movf 0,w
822 03BE 00CE movwf ??___ftpack+5
823 03BF 0A84 incf 4,f
824 03C0 0800 movf 0,w
825 03C1 00CF movwf ??___ftpack+6
826 03C2 084D movf ??___ftpack+4,w
827 03C3 05CA andwf ??___ftpack+1,f
828 03C4 084E movf ??___ftpack+5,w
829 03C5 05CB andwf ??___ftpack+2,f
830 03C6 084F movf ??___ftpack+6,w
831 03C7 05CC andwf ??___ftpack+3,f
832 03C8 084C movf ??___ftpack+3,w
833 03C9 044B iorwf ??___ftpack+2,w
834 03CA 044A iorwf ??___ftpack+1,w
835 03CB 1903 btfsc 3,2
836 03CC 2BD7 goto l341
837 03CD 2B9A goto l339
838 03CE l342:
839 03CE 03C8 decf ?___ftpack,f
840 03CF 0849 movf ??___ftpack,w
841 03D0 0084 movwf 4
842 03D1 1003 bcf 3,0
843 03D2 0D80 rlf 0,f
844 03D3 0A84 incf 4,f
845 03D4 0D80 rlf 0,f
846 03D5 0A84 incf 4,f
847 03D6 0D80 rlf 0,f
848 03D7 l341:
849 03D7 0849 movf ??___ftpack,w
850 03D8 0084 movwf 4
851 03D9 0800 movf 0,w
852 03DA 00CA movwf ??___ftpack+1
853 03DB 0A84 incf 4,f
854 03DC 0800 movf 0,w
855 03DD 00CB movwf ??___ftpack+2
856 03DE 0A84 incf 4,f
857 03DF 0800 movf 0,w
858 03E0 00CC movwf ??___ftpack+3
859 03E1 1FCB btfss ??___ftpack+2,7
860 03E2 2BCE goto l342
861 03E3 1848 btfsc ?___ftpack,0
862 03E4 2BEC goto l344
863 03E5 0849 movf ??___ftpack,w
864 03E6 0084 movwf 4
865 03E7 0A84 incf 4,f
866 03E8 307F movlw 127
867 03E9 0580 andwf 0,f
868 03EA 0A84 incf 4,f
869 03EB 30FF movlw 255
870 03EC l344:
871 03EC 1003 bcf 3,0
872 03ED 0CC8 rrf ?___ftpack,f
873 03EE 0848 movf ?___ftpack,w
874 03EF 00CA movwf ??___ftpack+1
875 03F0 01CB clrf ??___ftpack+2
876 03F1 01CC clrf ??___ftpack+3
877 03F2 00CC movwf ??___ftpack+3
878 03F3 01CB clrf ??___ftpack+2
879 03F4 01CA clrf ??___ftpack+1
880 03F5 0849 movf ??___ftpack,w
881 03F6 0084 movwf 4
882 03F7 084A movf ??___ftpack+1,w
883 03F8 0480 iorwf 0,f
884 03F9 0A84 incf 4,f
885 03FA 084B movf ??___ftpack+2,w
886 03FB 0480 iorwf 0,f
887 03FC 0A84 incf 4,f
888 03FD 084C movf ??___ftpack+3,w
889 03FE 0480 iorwf 0,f
890 03FF 0008 return
891 0400 __end_of___ftpack: ;_j
892
893 psect rbss_0
894 ; =============== function ___ftpack ends =====
+ =======
895 0000 _j set 52
896 0000 _EEADR set 9
897 0000 _EECON1 set 136
898 0000 _EECON2 set 137
899 0000 _EEDATA set 8
900 0000 _FSR set 4
901 0000 _INTCON set 11
902 0000 _OPTION set 129
903 0000 _PCL set 2
904 0000 _PCLATH set 10
905 0000 _PORTA set 5
906 0000 _PORTB set 6
907 0000 _RTCC set 1
908 0000 _STATUS set 3
909 0000 _TMR0 set 1
910 0000 _TRISA set 133
911 0000 _TRISB set 134
912 0000 _CARRY set 24 ;byte address: 0x3
913 0000 _DC set 25 ;byte address: 0x3
914 0000 _EEIE set 94 ;byte address: 0xB
915 0000 _EEIF set 1092 ;byte address: 0x88
916 0000 _GIE set 95 ;byte address: 0xB
917 0000 _INT set 48 ;byte address: 0x6
918 0000 _INTE set 92 ;byte address: 0xB
919 0000 _INTEDG set 1038 ;byte address: 0x81
920 0000 _INTF set 89 ;byte address: 0xB
921 0000 _PD set 27 ;byte address: 0x3
922 0000 _PS0 set 1032 ;byte address: 0x81
923 0000 _PS1 set 1033 ;byte address: 0x81
924 0000 _PS2 set 1034 ;byte address: 0x81
925 0000 _PSA set 1035 ;byte address: 0x81
926 0000 _RA0 set 40 ;byte address: 0x5
927 0000 _RA1 set 41 ;byte address: 0x5
928 0000 _RA2 set 42 ;byte address: 0x5
929 0000 _RA3 set 43 ;byte address: 0x5
930 0000 _RA4 set 44 ;byte address: 0x5
931 0000 _RB0 set 48 ;byte address: 0x6
932 0000 _RB1 set 49 ;byte address: 0x6
933 0000 _RB2 set 50 ;byte address: 0x6
934 0000 _RB3 set 51 ;byte address: 0x6
935 0000 _RB4 set 52 ;byte address: 0x6
936 0000 _RB5 set 53 ;byte address: 0x6
937 0000 _RB6 set 54 ;byte address: 0x6
938 0000 _RB7 set 55 ;byte address: 0x6
939 0000 _RBIE set 91 ;byte address: 0xB
940 0000 _RBIF set 88 ;byte address: 0xB
941 0000 _RBPU set 1039 ;byte address: 0x81
942 0000 _RD set 1088 ;byte address: 0x88
943 0000 _RP0 set 29 ;byte address: 0x3
944 0000 _T0CS set 1037 ;byte address: 0x81
945 0000 _T0IE set 93 ;byte address: 0xB
946 0000 _T0IF set 90 ;byte address: 0xB
947 0000 _T0SE set 1036 ;byte address: 0x81
948 0000 _TO set 28 ;byte address: 0x3
949 0000 _TRISA0 set 1064 ;byte address: 0x85
950 0000 _TRISA1 set 1065 ;byte address: 0x85
951 0000 _TRISA2 set 1066 ;byte address: 0x85
952 0000 _TRISA3 set 1067 ;byte address: 0x85
953 0000 _TRISA4 set 1068 ;byte address: 0x85
954 0000 _TRISB0 set 1072 ;byte address: 0x86
955 0000 _TRISB1 set 1073 ;byte address: 0x86
956 0000 _TRISB2 set 1074 ;byte address: 0x86
957 0000 _TRISB3 set 1075 ;byte address: 0x86
958 0000 _TRISB4 set 1076 ;byte address: 0x86
959 0000 _TRISB5 set 1077 ;byte address: 0x86
960 0000 _TRISB6 set 1078 ;byte address: 0x86
961 0000 _TRISB7 set 1079 ;byte address: 0x86
962 0000 _WR set 1089 ;byte address: 0x88
963 0000 _WREN set 1090 ;byte address: 0x88
964 0000 _WRERR set 1091 ;byte address: 0x88
965 0000 _ZERO set 26 ;byte address: 0x3
966
967 psect fnauto0
968 0036
HI-TECH Software PICC Macro Assembler V9.60PL3
Symbol Table Sat Sep 27 11:16:04 2008
__Lrbss_0 0034 l4 0234
l7 0236 l9 0238
__Lrdata_0 0000 _j 0034
__Lramdata 0000 l12 025A
l20 0018 _DC 0019
l15 025F l17 0006
_PD 001B _RD 0440
_TO 001C _WR 0441
fsr 0004 l110 0325
l113 0331 l114 0341
l106 0310 l109 0315
l331 0292 l171 02DD
l172 02D7 l164 02CE
l341 03D7 l342 03CE
l174 02EE l335 0380
l344 03EC l336 0375
l168 02C6 l169 02E0
l338 03B4 l339 039A
_GIE 005F _RA0 0028
___ftpack 035A _RA1 0029
_RB0 0030 _RA2 002A
_RB1 0031 _RA3 002B
_RB2 0032 _RA4 002C
_RB3 0033 _RB4 0034
_RB5 0035 _RB6 0036
_RB7 0037 _FSR 0004
_PCL 0002 _INT 0030
_PS0 0408 _PS1 0409
_RP0 001D _PS2 040A
_PSA 040B u765 0278
l600000191 036C _DelayMs_cnt 003C
?_Wait_These_Seconds 0036 ?___ftpack 0048
indf 0000 ??___ftpack 0049
__tempreg 0036 _EEIE 005E
_EEIF 0444 _T0IE 005D
_T0IF 005A _T0CS 040D
_T0SE 040C _INTE 005C
_INTF 0059 _RBIE 005B
_RBIF 0058 u5910 0269
_RBPU 040F _TMR0 0001
_RTCC 0001 __databank 0000
_ZERO 001A _WREN 0442
__end_of_DelayMs 023F _main 0003
start 0000 __end_of___ftmul 035A
__end_of___fttol 02F7 ?_main 0036
_EEADR 0009 _CARRY 0018
_PORTA 0005 _PORTB 0006
_TRISA 0085 _TRISB 0086
___ftmul_f1 003C ___ftmul_f2 003F
___ftmul_f3 0045 _WRERR 0443
___fttol_f1 003C ___ftpack_arg 0049
___ftpack_exp 0048 ___ftunpack 026C
_Wait_These_Seconds_s 0036 __end_of___ftunpack 02AC
_DelayMs__dcnt 003E __end_of_Wait_These_Seconds 026C
___ftmul_exp1 0043 ?___ftunpack 0048
___ftmul_cntr 0044 _DelayMs 0233
status 0003 ?_DelayMs 003C
___fttol_exp1 0041 ??_DelayMs 003C
___fttol_lval 0042 ___ftmul 02F7
___fttol 02AC ?___ftmul 003C
?___fttol 003C ??___ftunpack 0049
??___ftmul 0042 ??___fttol 0040
??_main 0036 __end_of___ftpack 0400
??_Wait_These_Seconds 0039 _EEDATA 0008
_EECON1 0088 _EECON2 0089
__end_of_main 002A _INTEDG 040E
_PCLATH 000A _INTCON 000B
_OPTION 0081 _TRISA0 0428
_TRISA1 0429 _TRISB0 0430
_TRISA2 042A _TRISB1 0431
_TRISA3 042B _TRISB2 0432
_TRISA4 042C _TRISB3 0433
_TRISB4 0434 _TRISB5 0435
_TRISB6 0436 _TRISB7 0437
_STATUS 0003 _DelayMs_i 003D
___ftunpack_sign 004A _Wait_These_Seconds 023F
___ftmul_sign1 0042 ___ftunpack_arg 0049
___ftunpack_exp 0048 _Wait_These_Seconds_milli_Equiv 0039
___fttol_sign1 0040 __Hrdata_0 0001
__Hramdata 0001 __Hrbss_0 0036