root / demos / john / projects / libdragonfly / analog.lst @ 1693
History | View | Annotate | Download (15.5 KB)
1 |
1 .file "analog.c" |
---|---|
2 |
2 .arch atmega128 |
3 |
3 __SREG__ = 0x3f |
4 |
4 __SP_H__ = 0x3e |
5 |
5 __SP_L__ = 0x3d |
6 |
6 __tmp_reg__ = 0 |
7 |
7 __zero_reg__ = 1 |
8 |
8 .global __do_copy_data |
9 |
9 .global __do_clear_bss |
10 |
17 .Ltext0: |
11 |
18 .global analog8 |
12 |
20 analog8: |
13 |
21 .LFB8: |
14 |
22 .LM1: |
15 |
23 /* prologue: frame size=0 */ |
16 |
24 /* prologue end (size=0) */ |
17 |
25 .LVL0: |
18 |
26 .LM2: |
19 |
27 0000 0097 sbiw r24,0 |
20 |
28 0002 01F4 brne .L2 |
21 |
29 .LM3: |
22 |
30 0004 80E0 ldi r24,lo8(0) |
23 |
31 0006 90E0 ldi r25,hi8(0) |
24 |
32 .LVL1: |
25 |
33 0008 0895 ret |
26 |
34 .LVL2: |
27 |
35 .L2: |
28 |
36 .LM4: |
29 |
37 000a 0197 sbiw r24,1 |
30 |
38 .LVL3: |
31 |
39 000c FC01 movw r30,r24 |
32 |
40 000e EE0F lsl r30 |
33 |
41 0010 FF1F rol r31 |
34 |
42 0012 E80F add r30,r24 |
35 |
43 0014 F91F adc r31,r25 |
36 |
44 0016 E050 subi r30,lo8(-(an_val)) |
37 |
45 0018 F040 sbci r31,hi8(-(an_val)) |
38 |
46 001a 8081 ld r24,Z |
39 |
47 001c 9927 clr r25 |
40 |
48 .LM5: |
41 |
49 001e 0895 ret |
42 |
50 /* epilogue: frame size=0 */ |
43 |
51 /* epilogue: noreturn */ |
44 |
52 /* epilogue end (size=0) */ |
45 |
53 /* function analog8 size 16 (16) */ |
46 |
54 .LFE8: |
47 |
56 .global analog10 |
48 |
58 analog10: |
49 |
59 .LFB9: |
50 |
60 .LM6: |
51 |
61 /* prologue: frame size=0 */ |
52 |
62 /* prologue end (size=0) */ |
53 |
63 .LVL4: |
54 |
64 .LM7: |
55 |
65 0020 0097 sbiw r24,0 |
56 |
66 0022 01F4 brne .L7 |
57 |
67 .LM8: |
58 |
68 0024 80E0 ldi r24,lo8(0) |
59 |
69 0026 90E0 ldi r25,hi8(0) |
60 |
70 .LVL5: |
61 |
71 0028 0895 ret |
62 |
72 .LVL6: |
63 |
73 .L7: |
64 |
74 .LM9: |
65 |
75 002a 0197 sbiw r24,1 |
66 |
76 .LVL7: |
67 |
77 002c FC01 movw r30,r24 |
68 |
78 002e EE0F lsl r30 |
69 |
79 0030 FF1F rol r31 |
70 |
80 0032 E80F add r30,r24 |
71 |
81 0034 F91F adc r31,r25 |
72 |
82 0036 E050 subi r30,lo8(-(an_val)) |
73 |
83 0038 F040 sbci r31,hi8(-(an_val)) |
74 |
84 003a 8181 ldd r24,Z+1 |
75 |
85 003c 9281 ldd r25,Z+2 |
76 |
86 .LM10: |
77 |
87 003e 0895 ret |
78 |
88 /* epilogue: frame size=0 */ |
79 |
89 /* epilogue: noreturn */ |
80 |
90 /* epilogue end (size=0) */ |
81 |
91 /* function analog10 size 16 (16) */ |
82 |
92 .LFE9: |
83 |
94 .global analog_start_loop |
84 |
96 analog_start_loop: |
85 |
97 .LFB10: |
86 |
98 .LM11: |
87 |
99 /* prologue: frame size=0 */ |
88 |
100 /* prologue end (size=0) */ |
89 |
101 .LM12: |
90 |
102 0040 8091 0000 lds r24,adc_loop_status |
91 |
103 0044 9091 0000 lds r25,(adc_loop_status)+1 |
92 |
104 0048 0197 sbiw r24,1 |
93 |
105 004a 01F0 breq .L14 |
94 |
106 .LM13: |
95 |
107 004c 339A sbi 38-0x20,3 |
96 |
108 .LM14: |
97 |
109 004e 369A sbi 38-0x20,6 |
98 |
110 .LM15: |
99 |
111 0050 81E0 ldi r24,lo8(1) |
100 |
112 0052 90E0 ldi r25,hi8(1) |
101 |
113 0054 9093 0000 sts (adc_loop_status)+1,r25 |
102 |
114 0058 8093 0000 sts adc_loop_status,r24 |
103 |
115 .L14: |
104 |
116 005c 0895 ret |
105 |
117 /* epilogue: frame size=0 */ |
106 |
118 /* epilogue: noreturn */ |
107 |
119 /* epilogue end (size=0) */ |
108 |
120 /* function analog_start_loop size 16 (16) */ |
109 |
121 .LFE10: |
110 |
123 .global analog_stop_loop |
111 |
125 analog_stop_loop: |
112 |
126 .LFB11: |
113 |
127 .LM16: |
114 |
128 /* prologue: frame size=0 */ |
115 |
129 /* prologue end (size=0) */ |
116 |
130 .LM17: |
117 |
131 005e 81E0 ldi r24,lo8(1) |
118 |
132 0060 90E0 ldi r25,hi8(1) |
119 |
133 0062 9093 0000 sts (adc_sig_stop_loop)+1,r25 |
120 |
134 0066 8093 0000 sts adc_sig_stop_loop,r24 |
121 |
135 /* epilogue: frame size=0 */ |
122 |
136 006a 0895 ret |
123 |
137 /* epilogue end (size=1) */ |
124 |
138 /* function analog_stop_loop size 7 (6) */ |
125 |
139 .LFE11: |
126 |
141 .global analog_loop_status |
127 |
143 analog_loop_status: |
128 |
144 .LFB12: |
129 |
145 .LM18: |
130 |
146 /* prologue: frame size=0 */ |
131 |
147 /* prologue end (size=0) */ |
132 |
148 .LM19: |
133 |
149 006c 8091 0000 lds r24,adc_loop_status |
134 |
150 0070 9091 0000 lds r25,(adc_loop_status)+1 |
135 |
151 /* epilogue: frame size=0 */ |
136 |
152 0074 0895 ret |
137 |
153 /* epilogue end (size=1) */ |
138 |
154 /* function analog_loop_status size 5 (4) */ |
139 |
155 .LFE12: |
140 |
157 .global set_adc_mux |
141 |
159 set_adc_mux: |
142 |
160 .LFB16: |
143 |
161 .LM20: |
144 |
162 /* prologue: frame size=0 */ |
145 |
163 /* prologue end (size=0) */ |
146 |
164 .LVL8: |
147 |
165 .LM21: |
148 |
166 0076 E5E6 ldi r30,lo8(101) |
149 |
167 0078 F0E0 ldi r31,hi8(101) |
150 |
168 007a 2081 ld r18,Z |
151 |
169 007c AC01 movw r20,r24 |
152 |
170 007e 4370 andi r20,lo8(3) |
153 |
171 0080 5070 andi r21,hi8(3) |
154 |
172 0082 63E0 ldi r22,3 |
155 |
173 0084 440F 1: lsl r20 |
156 |
174 0086 551F rol r21 |
157 |
175 0088 6A95 dec r22 |
158 |
176 008a 01F4 brne 1b |
159 |
177 008c 237E andi r18,lo8(-29) |
160 |
178 008e 8470 andi r24,lo8(4) |
161 |
179 .LVL9: |
162 |
180 0090 282B or r18,r24 |
163 |
181 0092 242B or r18,r20 |
164 |
182 0094 2083 st Z,r18 |
165 |
183 /* epilogue: frame size=0 */ |
166 |
184 0096 0895 ret |
167 |
185 /* epilogue end (size=1) */ |
168 |
186 /* function set_adc_mux size 17 (16) */ |
169 |
187 .LFE16: |
170 |
189 .global analog_get10 |
171 |
191 analog_get10: |
172 |
192 .LFB14: |
173 |
193 .LM22: |
174 |
194 /* prologue: frame size=0 */ |
175 |
195 /* prologue end (size=0) */ |
176 |
196 .LVL10: |
177 |
197 0098 9C01 movw r18,r24 |
178 |
198 .LVL11: |
179 |
199 .L23: |
180 |
200 .LM23: |
181 |
201 009a 3699 sbic 38-0x20,6 |
182 |
202 009c 00C0 rjmp .L23 |
183 |
203 .LM24: |
184 |
204 009e 2730 cpi r18,7 |
185 |
205 00a0 3105 cpc r19,__zero_reg__ |
186 |
206 00a2 04F4 brge .L25 |
187 |
207 .LVL12: |
188 |
208 .LM25: |
189 |
209 00a4 822F mov r24,r18 |
190 |
210 .LVL13: |
191 |
211 00a6 805A subi r24,lo8(-(96)) |
192 |
212 00a8 87B9 out 39-0x20,r24 |
193 |
213 00aa 00C0 rjmp .L27 |
194 |
214 .LVL14: |
195 |
215 .L25: |
196 |
216 .LM26: |
197 |
217 00ac 87E6 ldi r24,lo8(103) |
198 |
218 00ae 87B9 out 39-0x20,r24 |
199 |
219 .LM27: |
200 |
220 00b0 C901 movw r24,r18 |
201 |
221 00b2 0897 sbiw r24,8 |
202 |
222 00b4 0E94 0000 call set_adc_mux |
203 |
223 .LVL15: |
204 |
224 .L27: |
205 |
225 .LM28: |
206 |
226 00b8 369A sbi 38-0x20,6 |
207 |
227 .L28: |
208 |
228 .LM29: |
209 |
229 00ba 3699 sbic 38-0x20,6 |
210 |
230 00bc 00C0 rjmp .L28 |
211 |
231 .LM30: |
212 |
232 00be 24B1 in r18,36-0x20 |
213 |
233 .LM31: |
214 |
234 00c0 85B1 in r24,37-0x20 |
215 |
235 00c2 9927 clr r25 |
216 |
236 00c4 880F lsl r24 |
217 |
237 00c6 991F rol r25 |
218 |
238 00c8 880F lsl r24 |
219 |
239 00ca 991F rol r25 |
220 |
240 00cc 3327 clr r19 |
221 |
241 00ce 76E0 ldi r23,6 |
222 |
242 00d0 3595 1: asr r19 |
223 |
243 00d2 2795 ror r18 |
224 |
244 00d4 7A95 dec r23 |
225 |
245 00d6 01F4 brne 1b |
226 |
246 .LM32: |
227 |
247 00d8 822B or r24,r18 |
228 |
248 00da 932B or r25,r19 |
229 |
249 /* epilogue: frame size=0 */ |
230 |
250 00dc 0895 ret |
231 |
251 /* epilogue end (size=1) */ |
232 |
252 /* function analog_get10 size 35 (34) */ |
233 |
253 .LFE14: |
234 |
255 .global analog_get8 |
235 |
257 analog_get8: |
236 |
258 .LFB13: |
237 |
259 .LM33: |
238 |
260 /* prologue: frame size=0 */ |
239 |
261 /* prologue end (size=0) */ |
240 |
262 .LVL16: |
241 |
263 00de 9C01 movw r18,r24 |
242 |
264 .LVL17: |
243 |
265 .L37: |
244 |
266 .LM34: |
245 |
267 00e0 3699 sbic 38-0x20,6 |
246 |
268 00e2 00C0 rjmp .L37 |
247 |
269 .LM35: |
248 |
270 00e4 2730 cpi r18,7 |
249 |
271 00e6 3105 cpc r19,__zero_reg__ |
250 |
272 00e8 04F4 brge .L39 |
251 |
273 .LVL18: |
252 |
274 .LM36: |
253 |
275 00ea 822F mov r24,r18 |
254 |
276 .LVL19: |
255 |
277 00ec 805A subi r24,lo8(-(96)) |
256 |
278 00ee 87B9 out 39-0x20,r24 |
257 |
279 00f0 00C0 rjmp .L41 |
258 |
280 .LVL20: |
259 |
281 .L39: |
260 |
282 .LM37: |
261 |
283 00f2 87E6 ldi r24,lo8(103) |
262 |
284 00f4 87B9 out 39-0x20,r24 |
263 |
285 .LM38: |
264 |
286 00f6 C901 movw r24,r18 |
265 |
287 00f8 0897 sbiw r24,8 |
266 |
288 00fa 0E94 0000 call set_adc_mux |
267 |
289 .LVL21: |
268 |
290 .L41: |
269 |
291 .LM39: |
270 |
292 00fe 369A sbi 38-0x20,6 |
271 |
293 .L42: |
272 |
294 .LM40: |
273 |
295 0100 3699 sbic 38-0x20,6 |
274 |
296 0102 00C0 rjmp .L42 |
275 |
297 .LM41: |
276 |
298 0104 85B1 in r24,37-0x20 |
277 |
299 .LM42: |
278 |
300 0106 9927 clr r25 |
279 |
301 /* epilogue: frame size=0 */ |
280 |
302 0108 0895 ret |
281 |
303 /* epilogue end (size=1) */ |
282 |
304 /* function analog_get8 size 22 (21) */ |
283 |
305 .LFE13: |
284 |
307 .global wheel |
285 |
309 wheel: |
286 |
310 .LFB15: |
287 |
311 .LM43: |
288 |
312 /* prologue: frame size=0 */ |
289 |
313 /* prologue end (size=0) */ |
290 |
314 .LM44: |
291 |
315 010a 8AE0 ldi r24,lo8(10) |
292 |
316 010c 90E0 ldi r25,hi8(10) |
293 |
317 010e 0E94 0000 call analog_get8 |
294 |
318 /* epilogue: frame size=0 */ |
295 |
319 0112 0895 ret |
296 |
320 /* epilogue end (size=1) */ |
297 |
321 /* function wheel size 5 (4) */ |
298 |
322 .LFE15: |
299 |
324 .global analog_init |
300 |
326 analog_init: |
301 |
327 .LFB7: |
302 |
328 .LM45: |
303 |
329 /* prologue: frame size=0 */ |
304 |
330 /* prologue end (size=0) */ |
305 |
331 .LVL22: |
306 |
332 0114 E0E0 ldi r30,lo8(an_val) |
307 |
333 0116 F0E0 ldi r31,hi8(an_val) |
308 |
334 .L52: |
309 |
335 .LBB2: |
310 |
336 .LM46: |
311 |
337 0118 1282 std Z+2,__zero_reg__ |
312 |
338 011a 1182 std Z+1,__zero_reg__ |
313 |
339 .LM47: |
314 |
340 011c 1082 st Z,__zero_reg__ |
315 |
341 .LM48: |
316 |
342 011e 3396 adiw r30,3 |
317 |
343 0120 80E0 ldi r24,hi8(an_val+33) |
318 |
344 0122 E030 cpi r30,lo8(an_val+33) |
319 |
345 0124 F807 cpc r31,r24 |
320 |
346 .LVL23: |
321 |
347 0126 01F4 brne .L52 |
322 |
348 .LBE2: |
323 |
349 .LM49: |
324 |
350 0128 17B8 out 39-0x20,__zero_reg__ |
325 |
351 .LM50: |
326 |
352 012a 87B1 in r24,39-0x20 |
327 |
353 012c 8166 ori r24,lo8(97) |
328 |
354 012e 87B9 out 39-0x20,r24 |
329 |
355 .LM51: |
330 |
356 0130 16B8 out 38-0x20,__zero_reg__ |
331 |
357 .LM52: |
332 |
358 0132 86B1 in r24,38-0x20 |
333 |
359 0134 8168 ori r24,lo8(-127) |
334 |
360 0136 86B9 out 38-0x20,r24 |
335 |
361 .LM53: |
336 |
362 0138 8091 6400 lds r24,100 |
337 |
363 013c 8C61 ori r24,lo8(28) |
338 |
364 013e 8093 6400 sts 100,r24 |
339 |
365 .LM54: |
340 |
366 0142 80E0 ldi r24,lo8(0) |
341 |
367 0144 90E0 ldi r25,hi8(0) |
342 |
368 0146 0E94 0000 call set_adc_mux |
343 |
369 .LM55: |
344 |
370 014a 81E0 ldi r24,lo8(1) |
345 |
371 014c 90E0 ldi r25,hi8(1) |
346 |
372 014e 9093 0000 sts (adc_current_port)+1,r25 |
347 |
373 0152 8093 0000 sts adc_current_port,r24 |
348 |
374 /* epilogue: frame size=0 */ |
349 |
375 0156 0895 ret |
350 |
376 /* epilogue end (size=1) */ |
351 |
377 /* function analog_init size 34 (33) */ |
352 |
378 .LFE7: |
353 |
380 .global __vector_21 |
354 |
382 __vector_21: |
355 |
383 .LFB17: |
356 |
384 .LM56: |
357 |
385 /* prologue: frame size=0 */ |
358 |
386 0158 1F92 push __zero_reg__ |
359 |
387 015a 0F92 push __tmp_reg__ |
360 |
388 015c 0FB6 in __tmp_reg__,__SREG__ |
361 |
389 015e 0F92 push __tmp_reg__ |
362 |
390 0160 1124 clr __zero_reg__ |
363 |
391 /* prologue end (size=5) */ |
364 |
392 /* epilogue: frame size=0 */ |
365 |
393 0162 0F90 pop __tmp_reg__ |
366 |
394 0164 0FBE out __SREG__,__tmp_reg__ |
367 |
395 0166 0F90 pop __tmp_reg__ |
368 |
396 0168 1F90 pop __zero_reg__ |
369 |
397 016a 1895 reti |
370 |
398 /* epilogue end (size=5) */ |
371 |
399 /* function __vector_21 size 10 (0) */ |
372 |
400 .LFE17: |
373 |
402 .global adc_loop_status |
374 |
403 .global adc_loop_status |
375 |
404 .section .bss |
376 |
407 adc_loop_status: |
377 |
408 0000 0000 .skip 2,0 |
378 |
409 .global adc_sig_stop_loop |
379 |
410 .global adc_sig_stop_loop |
380 |
413 adc_sig_stop_loop: |
381 |
414 0002 0000 .skip 2,0 |
382 |
415 .global adc_current_port |
383 |
416 .global adc_current_port |
384 |
419 adc_current_port: |
385 |
420 0004 0000 .skip 2,0 |
386 |
421 .comm an_val,33,1 |
387 |
526 .Letext0: |
388 |
DEFINED SYMBOLS |
389 |
*ABS*:00000000 analog.c |
390 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:3 *ABS*:0000003f __SREG__ |
391 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:4 *ABS*:0000003e __SP_H__ |
392 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:5 *ABS*:0000003d __SP_L__ |
393 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:6 *ABS*:00000000 __tmp_reg__ |
394 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:7 *ABS*:00000001 __zero_reg__ |
395 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:20 .text:00000000 analog8 |
396 |
*COM*:00000021 an_val |
397 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:58 .text:00000020 analog10 |
398 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:96 .text:00000040 analog_start_loop |
399 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:407 .bss:00000000 adc_loop_status |
400 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:125 .text:0000005e analog_stop_loop |
401 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:413 .bss:00000002 adc_sig_stop_loop |
402 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:143 .text:0000006c analog_loop_status |
403 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:159 .text:00000076 set_adc_mux |
404 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:191 .text:00000098 analog_get10 |
405 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:257 .text:000000de analog_get8 |
406 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:309 .text:0000010a wheel |
407 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:326 .text:00000114 analog_init |
408 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:419 .bss:00000004 adc_current_port |
409 |
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:382 .text:00000158 __vector_21 |
410 |
|
411 |
UNDEFINED SYMBOLS |
412 |
__do_copy_data |
413 |
__do_clear_bss |