Go to most recent revision | Blame | Last modification | View Log | RSS feed
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