0,0 → 1,493 |
1 .file "timer0.c" |
2 .arch atmega644p |
3 __SREG__ = 0x3f |
4 __SP_H__ = 0x3e |
5 __SP_L__ = 0x3d |
6 __tmp_reg__ = 0 |
7 __zero_reg__ = 1 |
8 .global __do_copy_data |
9 .global __do_clear_bss |
10 .text |
11 .global __vector_18 |
13 __vector_18: |
14 /* prologue: frame size=0 */ |
15 0000 1F92 push __zero_reg__ |
16 0002 0F92 push __tmp_reg__ |
17 0004 0FB6 in __tmp_reg__,__SREG__ |
18 0006 0F92 push __tmp_reg__ |
19 0008 1124 clr __zero_reg__ |
20 000a 2F93 push r18 |
21 000c 3F93 push r19 |
22 000e 5F93 push r21 |
23 0010 6F93 push r22 |
24 0012 7F93 push r23 |
25 0014 8F93 push r24 |
26 0016 9F93 push r25 |
27 0018 AF93 push r26 |
28 001a BF93 push r27 |
29 /* prologue end (size=14) */ |
30 001c 8091 0000 lds r24,cnt.2042 |
31 0020 8150 subi r24,lo8(-(-1)) |
32 0022 8093 0000 sts cnt.2042,r24 |
33 0026 8F3F cpi r24,lo8(-1) |
34 0028 01F4 brne .L2 |
35 002a 89E0 ldi r24,lo8(9) |
36 002c 8093 0000 sts cnt.2042,r24 |
37 0030 8091 0000 lds r24,cnt_1ms.2041 |
38 0034 8F5F subi r24,lo8(-(1)) |
39 0036 8170 andi r24,lo8(1) |
40 0038 8093 0000 sts cnt_1ms.2041,r24 |
41 003c 8823 tst r24 |
42 003e 01F4 brne .L4 |
43 0040 81E0 ldi r24,lo8(1) |
44 0042 8093 0000 sts UpdateMotor,r24 |
45 .L4: |
46 0046 8091 0000 lds r24,CountMilliseconds |
47 004a 9091 0000 lds r25,(CountMilliseconds)+1 |
48 004e 0196 adiw r24,1 |
49 0050 9093 0000 sts (CountMilliseconds)+1,r25 |
50 0054 8093 0000 sts CountMilliseconds,r24 |
51 .L2: |
52 0058 8091 0000 lds r24,beeptime |
53 005c 9091 0000 lds r25,(beeptime)+1 |
54 0060 0297 sbiw r24,2 |
55 0062 00F0 brlo .L6 |
56 0064 8091 0000 lds r24,beeptime |
57 0068 9091 0000 lds r25,(beeptime)+1 |
58 006c 0197 sbiw r24,1 |
59 006e 9093 0000 sts (beeptime)+1,r25 |
60 0072 8093 0000 sts beeptime,r24 |
61 0076 8091 0000 lds r24,beeptime |
62 007a 9091 0000 lds r25,(beeptime)+1 |
63 007e 2091 0000 lds r18,BeepMuster |
64 0082 3091 0000 lds r19,(BeepMuster)+1 |
65 0086 8223 and r24,r18 |
66 0088 9323 and r25,r19 |
67 008a 892B or r24,r25 |
68 008c 01F0 breq .+2 |
69 008e 00C0 rjmp .L8 |
70 0090 00C0 rjmp .L9 |
71 .L6: |
72 0092 8FEF ldi r24,lo8(-1) |
73 0094 9FEF ldi r25,hi8(-1) |
74 0096 9093 0000 sts (BeepMuster)+1,r25 |
75 009a 8093 0000 sts BeepMuster,r24 |
76 .L9: |
77 009e 8091 0000 lds r24,PlatinenVersion |
78 00a2 8A30 cpi r24,lo8(10) |
79 00a4 01F4 brne .L23 |
80 00a6 00C0 rjmp .L10 |
81 .L12: |
82 00a8 5A9A sbi 43-0x20,2 |
83 00aa 00C0 rjmp .L13 |
84 .L24: |
85 00ac 479A sbi 40-0x20,7 |
86 00ae 00C0 rjmp .L13 |
87 .L10: |
88 00b0 5A98 cbi 43-0x20,2 |
89 00b2 00C0 rjmp .L13 |
90 .L23: |
91 00b4 4798 cbi 40-0x20,7 |
92 .L13: |
93 00b6 8091 0000 lds r24,EE_Parameter+8 |
94 00ba 83FF sbrs r24,3 |
95 00bc 00C0 rjmp .L22 |
96 00be 349B sbis 38-0x20,4 |
97 00c0 00C0 rjmp .L17 |
98 00c2 8091 0000 lds r24,cntKompass |
99 00c6 9091 0000 lds r25,(cntKompass)+1 |
100 00ca 0196 adiw r24,1 |
101 00cc 9093 0000 sts (cntKompass)+1,r25 |
102 00d0 8093 0000 sts cntKompass,r24 |
103 00d4 00C0 rjmp .L22 |
104 .L17: |
105 00d6 8091 0000 lds r24,cntKompass |
106 00da 9091 0000 lds r25,(cntKompass)+1 |
107 00de 892B or r24,r25 |
108 00e0 01F0 breq .L19 |
109 00e2 8091 0000 lds r24,cntKompass |
110 00e6 9091 0000 lds r25,(cntKompass)+1 |
111 00ea 805A subi r24,lo8(4000) |
112 00ec 9F40 sbci r25,hi8(4000) |
113 00ee 00F4 brsh .L19 |
114 00f0 8091 0000 lds r24,cntKompass |
115 00f4 9091 0000 lds r25,(cntKompass)+1 |
116 00f8 9093 0000 sts (KompassValue)+1,r25 |
117 00fc 8093 0000 sts KompassValue,r24 |
118 .L19: |
119 0100 8091 0000 lds r24,KompassValue |
120 0104 9091 0000 lds r25,(KompassValue)+1 |
121 0108 2091 0000 lds r18,KompassStartwert |
122 010c 3091 0000 lds r19,(KompassStartwert)+1 |
123 0110 821B sub r24,r18 |
124 0112 930B sbc r25,r19 |
125 0114 845E subi r24,lo8(-(540)) |
126 0116 9D4F sbci r25,hi8(-(540)) |
127 0118 68E6 ldi r22,lo8(360) |
128 011a 71E0 ldi r23,hi8(360) |
129 011c 0E94 0000 call __divmodhi4 |
130 0120 845B subi r24,lo8(-(-180)) |
131 0122 9040 sbci r25,hi8(-(-180)) |
132 0124 9093 0000 sts (KompassRichtung)+1,r25 |
133 0128 8093 0000 sts KompassRichtung,r24 |
134 012c 1092 0000 sts (cntKompass)+1,__zero_reg__ |
135 0130 1092 0000 sts cntKompass,__zero_reg__ |
136 0134 00C0 rjmp .L22 |
137 .L8: |
138 0136 8091 0000 lds r24,PlatinenVersion |
139 013a 8A30 cpi r24,lo8(10) |
140 013c 01F0 breq .+2 |
141 013e 00C0 rjmp .L24 |
142 0140 00C0 rjmp .L12 |
143 .L22: |
144 /* epilogue: frame size=0 */ |
145 0142 BF91 pop r27 |
146 0144 AF91 pop r26 |
147 0146 9F91 pop r25 |
148 0148 8F91 pop r24 |
149 014a 7F91 pop r23 |
150 014c 6F91 pop r22 |
151 014e 5F91 pop r21 |
152 0150 3F91 pop r19 |
153 0152 2F91 pop r18 |
154 0154 0F90 pop __tmp_reg__ |
155 0156 0FBE out __SREG__,__tmp_reg__ |
156 0158 0F90 pop __tmp_reg__ |
157 015a 1F90 pop __zero_reg__ |
158 015c 1895 reti |
159 /* epilogue end (size=14) */ |
160 /* function __vector_18 size 177 (149) */ |
162 .global SetDelay |
164 SetDelay: |
165 /* prologue: frame size=0 */ |
166 /* prologue end (size=0) */ |
167 015e 2091 0000 lds r18,CountMilliseconds |
168 0162 3091 0000 lds r19,(CountMilliseconds)+1 |
169 0166 2F5F subi r18,lo8(-(1)) |
170 0168 3F4F sbci r19,hi8(-(1)) |
171 016a 820F add r24,r18 |
172 016c 931F adc r25,r19 |
173 /* epilogue: frame size=0 */ |
174 016e 0895 ret |
175 /* epilogue end (size=1) */ |
176 /* function SetDelay size 9 (8) */ |
178 .global CheckDelay |
180 CheckDelay: |
181 /* prologue: frame size=0 */ |
182 /* prologue end (size=0) */ |
183 0170 2091 0000 lds r18,CountMilliseconds |
184 0174 3091 0000 lds r19,(CountMilliseconds)+1 |
185 0178 821B sub r24,r18 |
186 017a 930B sbc r25,r19 |
187 017c 892F mov r24,r25 |
188 017e 9927 clr r25 |
189 0180 8695 lsr r24 |
190 0182 8074 andi r24,lo8(64) |
191 0184 9927 clr r25 |
192 /* epilogue: frame size=0 */ |
193 0186 0895 ret |
194 /* epilogue end (size=1) */ |
195 /* function CheckDelay size 12 (11) */ |
197 .global __vector_9 |
199 __vector_9: |
200 /* prologue: frame size=0 */ |
201 0188 1F92 push __zero_reg__ |
202 018a 0F92 push __tmp_reg__ |
203 018c 0FB6 in __tmp_reg__,__SREG__ |
204 018e 0F92 push __tmp_reg__ |
205 0190 1124 clr __zero_reg__ |
206 0192 EF92 push r14 |
207 0194 FF92 push r15 |
208 0196 0F93 push r16 |
209 0198 1F93 push r17 |
210 019a 2F93 push r18 |
211 019c 3F93 push r19 |
212 019e 4F93 push r20 |
213 01a0 5F93 push r21 |
214 01a2 6F93 push r22 |
215 01a4 7F93 push r23 |
216 01a6 8F93 push r24 |
217 01a8 9F93 push r25 |
218 01aa AF93 push r26 |
219 01ac BF93 push r27 |
220 01ae CF93 push r28 |
221 01b0 DF93 push r29 |
222 01b2 EF93 push r30 |
223 01b4 FF93 push r31 |
224 /* prologue end (size=23) */ |
225 01b6 8091 0000 lds r24,timer.2145 |
226 01ba 8150 subi r24,lo8(-(-1)) |
227 01bc 8093 0000 sts timer.2145,r24 |
228 01c0 8F3F cpi r24,lo8(-1) |
229 01c2 01F0 breq .+2 |
230 01c4 00C0 rjmp .L30 |
231 01c6 83E8 ldi r24,lo8(-125) |
232 01c8 8093 B000 sts 176,r24 |
233 01cc 8091 0000 lds r24,Parameter_ServoNickControl |
234 01d0 C82F mov r28,r24 |
235 01d2 DD27 clr r29 |
236 01d4 D093 0000 sts (ServoValue)+1,r29 |
237 01d8 C093 0000 sts ServoValue,r28 |
238 01dc 8091 0000 lds r24,EE_Parameter+53 |
239 01e0 E090 0000 lds r14,EE_Parameter+34 |
240 01e4 80FF sbrs r24,0 |
241 01e6 00C0 rjmp .L32 |
242 01e8 6091 0000 lds r22,IntegralNick |
243 01ec 7091 0000 lds r23,(IntegralNick)+1 |
244 01f0 8091 0000 lds r24,(IntegralNick)+2 |
245 01f4 9091 0000 lds r25,(IntegralNick)+3 |
246 01f8 FF24 clr r15 |
247 01fa 0027 clr r16 |
248 01fc 1127 clr r17 |
249 01fe 20E8 ldi r18,lo8(128) |
250 0200 30E0 ldi r19,hi8(128) |
251 0202 40E0 ldi r20,hlo8(128) |
252 0204 50E0 ldi r21,hhi8(128) |
253 0206 0E94 0000 call __divmodsi4 |
254 020a C801 movw r24,r16 |
255 020c B701 movw r22,r14 |
256 020e 0E94 0000 call __mulsi3 |
257 0212 20E0 ldi r18,lo8(512) |
258 0214 32E0 ldi r19,hi8(512) |
259 0216 40E0 ldi r20,hlo8(512) |
260 0218 50E0 ldi r21,hhi8(512) |
261 021a 0E94 0000 call __divmodsi4 |
262 021e C20F add r28,r18 |
263 0220 D31F adc r29,r19 |
264 0222 00C0 rjmp .L41 |
265 .L32: |
266 0224 6091 0000 lds r22,IntegralNick |
267 0228 7091 0000 lds r23,(IntegralNick)+1 |
268 022c 8091 0000 lds r24,(IntegralNick)+2 |
269 0230 9091 0000 lds r25,(IntegralNick)+3 |
270 0234 FF24 clr r15 |
271 0236 0027 clr r16 |
272 0238 1127 clr r17 |
273 023a 20E8 ldi r18,lo8(128) |
274 023c 30E0 ldi r19,hi8(128) |
275 023e 40E0 ldi r20,hlo8(128) |
276 0240 50E0 ldi r21,hhi8(128) |
277 0242 0E94 0000 call __divmodsi4 |
278 0246 C801 movw r24,r16 |
279 0248 B701 movw r22,r14 |
280 024a 0E94 0000 call __mulsi3 |
281 024e 20E0 ldi r18,lo8(512) |
282 0250 32E0 ldi r19,hi8(512) |
283 0252 40E0 ldi r20,hlo8(512) |
284 0254 50E0 ldi r21,hhi8(512) |
285 0256 0E94 0000 call __divmodsi4 |
286 025a C21B sub r28,r18 |
287 025c D30B sbc r29,r19 |
288 .L41: |
289 025e D093 0000 sts (ServoValue)+1,r29 |
290 0262 C093 0000 sts ServoValue,r28 |
291 0266 2091 0000 lds r18,ServoValue |
292 026a 3091 0000 lds r19,(ServoValue)+1 |
293 026e 8091 0000 lds r24,EE_Parameter+35 |
294 0272 9927 clr r25 |
295 0274 2817 cp r18,r24 |
296 0276 3907 cpc r19,r25 |
297 0278 04F0 brlt .L42 |
298 027a 8091 0000 lds r24,EE_Parameter+36 |
299 027e 9927 clr r25 |
300 0280 8217 cp r24,r18 |
301 0282 9307 cpc r25,r19 |
302 0284 04F4 brge .L37 |
303 .L42: |
304 0286 9093 0000 sts (ServoValue)+1,r25 |
305 028a 8093 0000 sts ServoValue,r24 |
306 .L37: |
307 028e 8091 0000 lds r24,ServoValue |
308 0292 8093 B300 sts 179,r24 |
309 0296 8091 0000 lds r24,EE_Parameter+37 |
310 029a 8093 0000 sts timer.2145,r24 |
311 029e 00C0 rjmp .L40 |
312 .L30: |
313 02a0 83E0 ldi r24,lo8(3) |
314 02a2 8093 B000 sts 176,r24 |
315 02a6 5F98 cbi 43-0x20,7 |
316 .L40: |
317 /* epilogue: frame size=0 */ |
318 02a8 FF91 pop r31 |
319 02aa EF91 pop r30 |
320 02ac DF91 pop r29 |
321 02ae CF91 pop r28 |
322 02b0 BF91 pop r27 |
323 02b2 AF91 pop r26 |
324 02b4 9F91 pop r25 |
325 02b6 8F91 pop r24 |
326 02b8 7F91 pop r23 |
327 02ba 6F91 pop r22 |
328 02bc 5F91 pop r21 |
329 02be 4F91 pop r20 |
330 02c0 3F91 pop r19 |
331 02c2 2F91 pop r18 |
332 02c4 1F91 pop r17 |
333 02c6 0F91 pop r16 |
334 02c8 FF90 pop r15 |
335 02ca EF90 pop r14 |
336 02cc 0F90 pop __tmp_reg__ |
337 02ce 0FBE out __SREG__,__tmp_reg__ |
338 02d0 0F90 pop __tmp_reg__ |
339 02d2 1F90 pop __zero_reg__ |
340 02d4 1895 reti |
341 /* epilogue end (size=23) */ |
342 /* function __vector_9 size 167 (121) */ |
344 .global Timer_Init |
346 Timer_Init: |
347 /* prologue: frame size=0 */ |
348 /* prologue end (size=0) */ |
349 02d6 8091 0000 lds r24,CountMilliseconds |
350 02da 9091 0000 lds r25,(CountMilliseconds)+1 |
351 02de 0B96 adiw r24,11 |
352 02e0 9093 0000 sts (tim_main)+1,r25 |
353 02e4 8093 0000 sts tim_main,r24 |
354 02e8 82E0 ldi r24,lo8(2) |
355 02ea 85BD out 69-0x20,r24 |
356 02ec 83EA ldi r24,lo8(-93) |
357 02ee 84BD out 68-0x20,r24 |
358 02f0 17BC out 71-0x20,__zero_reg__ |
359 02f2 88E7 ldi r24,lo8(120) |
360 02f4 88BD out 72-0x20,r24 |
361 02f6 96E0 ldi r25,lo8(6) |
362 02f8 96BD out 70-0x20,r25 |
363 02fa 83EC ldi r24,lo8(-61) |
364 02fc 8093 B000 sts 176,r24 |
365 0300 9093 B100 sts 177,r25 |
366 0304 E0E7 ldi r30,lo8(112) |
367 0306 F0E0 ldi r31,hi8(112) |
368 0308 8081 ld r24,Z |
369 030a 8260 ori r24,lo8(2) |
370 030c 8083 st Z,r24 |
371 030e EEE6 ldi r30,lo8(110) |
372 0310 F0E0 ldi r31,hi8(110) |
373 0312 8081 ld r24,Z |
374 0314 8160 ori r24,lo8(1) |
375 0316 8083 st Z,r24 |
376 0318 8AE0 ldi r24,lo8(10) |
377 031a 8093 B300 sts 179,r24 |
378 031e 1092 B200 sts 178,__zero_reg__ |
379 /* epilogue: frame size=0 */ |
380 0322 0895 ret |
381 /* epilogue end (size=1) */ |
382 /* function Timer_Init size 39 (38) */ |
384 .global Delay_ms_Mess |
386 Delay_ms_Mess: |
387 /* prologue: frame size=0 */ |
388 /* prologue end (size=0) */ |
389 0324 2091 0000 lds r18,CountMilliseconds |
390 0328 3091 0000 lds r19,(CountMilliseconds)+1 |
391 032c 2F5F subi r18,lo8(-(1)) |
392 032e 3F4F sbci r19,hi8(-(1)) |
393 0330 280F add r18,r24 |
394 0332 391F adc r19,r25 |
395 0334 4FEE ldi r20,lo8(-17) |
396 0336 00C0 rjmp .L46 |
397 .L47: |
398 0338 4093 7A00 sts 122,r20 |
399 .L46: |
400 033c 8091 0000 lds r24,CountMilliseconds |
401 0340 9091 0000 lds r25,(CountMilliseconds)+1 |
402 0344 B901 movw r22,r18 |
403 0346 681B sub r22,r24 |
404 0348 790B sbc r23,r25 |
405 034a 77FF sbrs r23,7 |
406 034c 00C0 rjmp .L47 |
407 /* epilogue: frame size=0 */ |
408 034e 0895 ret |
409 /* epilogue end (size=1) */ |
410 /* function Delay_ms_Mess size 22 (21) */ |
412 .global Delay_ms |
414 Delay_ms: |
415 /* prologue: frame size=0 */ |
416 /* prologue end (size=0) */ |
417 0350 2091 0000 lds r18,CountMilliseconds |
418 0354 3091 0000 lds r19,(CountMilliseconds)+1 |
419 0358 2F5F subi r18,lo8(-(1)) |
420 035a 3F4F sbci r19,hi8(-(1)) |
421 035c 280F add r18,r24 |
422 035e 391F adc r19,r25 |
423 .L51: |
424 0360 8091 0000 lds r24,CountMilliseconds |
425 0364 9091 0000 lds r25,(CountMilliseconds)+1 |
426 0368 A901 movw r20,r18 |
427 036a 481B sub r20,r24 |
428 036c 590B sbc r21,r25 |
429 036e 57FF sbrs r21,7 |
430 0370 00C0 rjmp .L51 |
431 /* epilogue: frame size=0 */ |
432 0372 0895 ret |
433 /* epilogue end (size=1) */ |
434 /* function Delay_ms size 18 (17) */ |
436 .global CountMilliseconds |
437 .global CountMilliseconds |
438 .section .bss |
441 CountMilliseconds: |
442 0000 0000 .skip 2,0 |
443 .global UpdateMotor |
444 .global UpdateMotor |
447 UpdateMotor: |
448 0002 00 .skip 1,0 |
449 .global cntKompass |
450 .global cntKompass |
453 cntKompass: |
454 0003 0000 .skip 2,0 |
455 .global beeptime |
456 .global beeptime |
459 beeptime: |
460 0005 0000 .skip 2,0 |
461 .global BeepMuster |
462 .data |
465 BeepMuster: |
466 0000 FFFF .word -1 |
467 .global ServoValue |
468 .global ServoValue |
469 .section .bss |
472 ServoValue: |
473 0007 0000 .skip 2,0 |
474 .data |
477 timer.2145: |
478 0002 0A .byte 10 |
479 .lcomm cnt.2042,1 |
482 cnt_1ms.2041: |
483 0003 01 .byte 1 |
484 .lcomm tim_main,2 |
485 /* File "timer0.c": code 444 = 0x01bc ( 365), prologues 37, epilogues 42 */ |
DEFINED SYMBOLS |
*ABS*:00000000 timer0.c |
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:3 *ABS*:0000003f __SREG__ |
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:4 *ABS*:0000003e __SP_H__ |
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:5 *ABS*:0000003d __SP_L__ |
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:6 *ABS*:00000000 __tmp_reg__ |
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:7 *ABS*:00000001 __zero_reg__ |
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:13 .text:00000000 __vector_18 |
.bss:00000009 cnt.2042 |
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:482 .data:00000003 cnt_1ms.2041 |
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:447 .bss:00000002 UpdateMotor |
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:441 .bss:00000000 CountMilliseconds |
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:459 .bss:00000005 beeptime |
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:465 .data:00000000 BeepMuster |
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:453 .bss:00000003 cntKompass |
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:164 .text:0000015e SetDelay |
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:180 .text:00000170 CheckDelay |
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:199 .text:00000188 __vector_9 |
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:477 .data:00000002 timer.2145 |
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:472 .bss:00000007 ServoValue |
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:346 .text:000002d6 Timer_Init |
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:479 .bss:0000000a tim_main |
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:386 .text:00000324 Delay_ms_Mess |
C:\Users\gunterl\AppData\Local\Temp/cc5S9deL.s:414 .text:00000350 Delay_ms |
|
UNDEFINED SYMBOLS |
__do_copy_data |
__do_clear_bss |
PlatinenVersion |
EE_Parameter |
KompassValue |
KompassStartwert |
__divmodhi4 |
KompassRichtung |
Parameter_ServoNickControl |
IntegralNick |
__divmodsi4 |
__mulsi3 |