Rev 21 | Blame | Last modification | View Log | RSS feed
1 .file "timer0.c"
2 .arch atmega644
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.1977
31 0020 8150 subi r24,lo8(-(-1))
32 0022 8093 0000 sts cnt.1977,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.1977,r24
37 0030 8091 0000 lds r24,cnt_1ms.1976
38 0034 8F5F subi r24,lo8(-(1))
39 0036 8170 andi r24,lo8(1)
40 0038 8093 0000 sts cnt_1ms.1976,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 0058 8091 0000 lds r24,Timeout
52 005c 8823 tst r24
53 005e 01F0 breq .L2
54 0060 8091 0000 lds r24,Timeout
55 0064 8150 subi r24,lo8(-(-1))
56 0066 8093 0000 sts Timeout,r24
57 .L2:
58 006a 8091 0000 lds r24,beeptime
59 006e 9091 0000 lds r25,(beeptime)+1
60 0072 0297 sbiw r24,2
61 0074 00F0 brlo .L7
62 0076 8091 0000 lds r24,beeptime
63 007a 9091 0000 lds r25,(beeptime)+1
64 007e 0197 sbiw r24,1
65 0080 9093 0000 sts (beeptime)+1,r25
66 0084 8093 0000 sts beeptime,r24
67 0088 5A9A sbi 43-0x20,2
68 008a 00C0 rjmp .L9
69 .L7:
70 008c 5A98 cbi 43-0x20,2
71 .L9:
72 008e 8091 0000 lds r24,EE_Parameter+8
73 0092 83FF sbrs r24,3
74 0094 00C0 rjmp .L17
75 0096 349B sbis 38-0x20,4
76 0098 00C0 rjmp .L12
77 009a 8091 0000 lds r24,cntKompass
78 009e 9091 0000 lds r25,(cntKompass)+1
79 00a2 0196 adiw r24,1
80 00a4 9093 0000 sts (cntKompass)+1,r25
81 00a8 8093 0000 sts cntKompass,r24
82 00ac 00C0 rjmp .L17
83 .L12:
84 00ae 8091 0000 lds r24,cntKompass
85 00b2 9091 0000 lds r25,(cntKompass)+1
86 00b6 892B or r24,r25
87 00b8 01F0 breq .L14
88 00ba 8091 0000 lds r24,cntKompass
89 00be 9091 0000 lds r25,(cntKompass)+1
90 00c2 805A subi r24,lo8(4000)
91 00c4 9F40 sbci r25,hi8(4000)
92 00c6 00F4 brsh .L14
93 00c8 8091 0000 lds r24,cntKompass
94 00cc 9091 0000 lds r25,(cntKompass)+1
95 00d0 9093 0000 sts (KompassValue)+1,r25
96 00d4 8093 0000 sts KompassValue,r24
97 .L14:
98 00d8 8091 0000 lds r24,KompassValue
99 00dc 9091 0000 lds r25,(KompassValue)+1
100 00e0 2091 0000 lds r18,KompassStartwert
101 00e4 3091 0000 lds r19,(KompassStartwert)+1
102 00e8 821B sub r24,r18
103 00ea 930B sbc r25,r19
104 00ec 845E subi r24,lo8(-(540))
105 00ee 9D4F sbci r25,hi8(-(540))
106 00f0 68E6 ldi r22,lo8(360)
107 00f2 71E0 ldi r23,hi8(360)
108 00f4 0E94 0000 call __divmodhi4
109 00f8 845B subi r24,lo8(-(-180))
110 00fa 9040 sbci r25,hi8(-(-180))
111 00fc 9093 0000 sts (KompassRichtung)+1,r25
112 0100 8093 0000 sts KompassRichtung,r24
113 0104 1092 0000 sts (cntKompass)+1,__zero_reg__
114 0108 1092 0000 sts cntKompass,__zero_reg__
115 .L17:
116 /* epilogue: frame size=0 */
117 010c BF91 pop r27
118 010e AF91 pop r26
119 0110 9F91 pop r25
120 0112 8F91 pop r24
121 0114 7F91 pop r23
122 0116 6F91 pop r22
123 0118 5F91 pop r21
124 011a 3F91 pop r19
125 011c 2F91 pop r18
126 011e 0F90 pop __tmp_reg__
127 0120 0FBE out __SREG__,__tmp_reg__
128 0122 0F90 pop __tmp_reg__
129 0124 1F90 pop __zero_reg__
130 0126 1895 reti
131 /* epilogue end (size=14) */
132 /* function __vector_18 size 150 (122) */
134 .global SetDelay
136 SetDelay:
137 /* prologue: frame size=0 */
138 /* prologue end (size=0) */
139 0128 2091 0000 lds r18,CountMilliseconds
140 012c 3091 0000 lds r19,(CountMilliseconds)+1
141 0130 2F5F subi r18,lo8(-(1))
142 0132 3F4F sbci r19,hi8(-(1))
143 0134 820F add r24,r18
144 0136 931F adc r25,r19
145 /* epilogue: frame size=0 */
146 0138 0895 ret
147 /* epilogue end (size=1) */
148 /* function SetDelay size 9 (8) */
150 .global CheckDelay
152 CheckDelay:
153 /* prologue: frame size=0 */
154 /* prologue end (size=0) */
155 013a 2091 0000 lds r18,CountMilliseconds
156 013e 3091 0000 lds r19,(CountMilliseconds)+1
157 0142 821B sub r24,r18
158 0144 930B sbc r25,r19
159 0146 892F mov r24,r25
160 0148 9927 clr r25
161 014a 8695 lsr r24
162 014c 8074 andi r24,lo8(64)
163 014e 9927 clr r25
164 /* epilogue: frame size=0 */
165 0150 0895 ret
166 /* epilogue end (size=1) */
167 /* function CheckDelay size 12 (11) */
169 .global __vector_9
171 __vector_9:
172 /* prologue: frame size=0 */
173 0152 1F92 push __zero_reg__
174 0154 0F92 push __tmp_reg__
175 0156 0FB6 in __tmp_reg__,__SREG__
176 0158 0F92 push __tmp_reg__
177 015a 1124 clr __zero_reg__
178 015c EF92 push r14
179 015e FF92 push r15
180 0160 0F93 push r16
181 0162 1F93 push r17
182 0164 2F93 push r18
183 0166 3F93 push r19
184 0168 4F93 push r20
185 016a 5F93 push r21
186 016c 6F93 push r22
187 016e 7F93 push r23
188 0170 8F93 push r24
189 0172 9F93 push r25
190 0174 AF93 push r26
191 0176 BF93 push r27
192 0178 CF93 push r28
193 017a DF93 push r29
194 017c EF93 push r30
195 017e FF93 push r31
196 /* prologue end (size=23) */
197 0180 8091 0000 lds r24,timer.2063
198 0184 8150 subi r24,lo8(-(-1))
199 0186 8093 0000 sts timer.2063,r24
200 018a 8F3F cpi r24,lo8(-1)
201 018c 01F0 breq .+2
202 018e 00C0 rjmp .L23
203 0190 83E8 ldi r24,lo8(-125)
204 0192 8093 B000 sts 176,r24
205 0196 8091 0000 lds r24,Parameter_ServoNickControl
206 019a C82F mov r28,r24
207 019c DD27 clr r29
208 019e D093 0000 sts (ServoValue)+1,r29
209 01a2 C093 0000 sts ServoValue,r28
210 01a6 8091 0000 lds r24,EE_Parameter+38
211 01aa E090 0000 lds r14,EE_Parameter+34
212 01ae 80FF sbrs r24,0
213 01b0 00C0 rjmp .L25
214 01b2 6091 0000 lds r22,IntegralNick
215 01b6 7091 0000 lds r23,(IntegralNick)+1
216 01ba 8091 0000 lds r24,(IntegralNick)+2
217 01be 9091 0000 lds r25,(IntegralNick)+3
218 01c2 FF24 clr r15
219 01c4 0027 clr r16
220 01c6 1127 clr r17
221 01c8 20E8 ldi r18,lo8(128)
222 01ca 30E0 ldi r19,hi8(128)
223 01cc 40E0 ldi r20,hlo8(128)
224 01ce 50E0 ldi r21,hhi8(128)
225 01d0 0E94 0000 call __divmodsi4
226 01d4 C801 movw r24,r16
227 01d6 B701 movw r22,r14
228 01d8 0E94 0000 call __mulsi3
229 01dc 20E0 ldi r18,lo8(512)
230 01de 32E0 ldi r19,hi8(512)
231 01e0 40E0 ldi r20,hlo8(512)
232 01e2 50E0 ldi r21,hhi8(512)
233 01e4 0E94 0000 call __divmodsi4
234 01e8 C20F add r28,r18
235 01ea D31F adc r29,r19
236 01ec 00C0 rjmp .L34
237 .L25:
238 01ee 6091 0000 lds r22,IntegralNick
239 01f2 7091 0000 lds r23,(IntegralNick)+1
240 01f6 8091 0000 lds r24,(IntegralNick)+2
241 01fa 9091 0000 lds r25,(IntegralNick)+3
242 01fe FF24 clr r15
243 0200 0027 clr r16
244 0202 1127 clr r17
245 0204 20E8 ldi r18,lo8(128)
246 0206 30E0 ldi r19,hi8(128)
247 0208 40E0 ldi r20,hlo8(128)
248 020a 50E0 ldi r21,hhi8(128)
249 020c 0E94 0000 call __divmodsi4
250 0210 C801 movw r24,r16
251 0212 B701 movw r22,r14
252 0214 0E94 0000 call __mulsi3
253 0218 20E0 ldi r18,lo8(512)
254 021a 32E0 ldi r19,hi8(512)
255 021c 40E0 ldi r20,hlo8(512)
256 021e 50E0 ldi r21,hhi8(512)
257 0220 0E94 0000 call __divmodsi4
258 0224 C21B sub r28,r18
259 0226 D30B sbc r29,r19
260 .L34:
261 0228 D093 0000 sts (ServoValue)+1,r29
262 022c C093 0000 sts ServoValue,r28
263 0230 2091 0000 lds r18,ServoValue
264 0234 3091 0000 lds r19,(ServoValue)+1
265 0238 8091 0000 lds r24,EE_Parameter+35
266 023c 9927 clr r25
267 023e 2817 cp r18,r24
268 0240 3907 cpc r19,r25
269 0242 04F0 brlt .L35
270 0244 8091 0000 lds r24,EE_Parameter+36
271 0248 9927 clr r25
272 024a 8217 cp r24,r18
273 024c 9307 cpc r25,r19
274 024e 04F4 brge .L30
275 .L35:
276 0250 9093 0000 sts (ServoValue)+1,r25
277 0254 8093 0000 sts ServoValue,r24
278 .L30:
279 0258 8091 0000 lds r24,ServoValue
280 025c 9091 0000 lds r25,(ServoValue)+1
281 0260 9093 0000 sts (DebugOut+38)+1,r25
282 0264 8093 0000 sts DebugOut+38,r24
283 0268 8093 B300 sts 179,r24
284 026c 8091 0000 lds r24,EE_Parameter+37
285 0270 8093 0000 sts timer.2063,r24
286 0274 00C0 rjmp .L33
287 .L23:
288 0276 83E0 ldi r24,lo8(3)
289 0278 8093 B000 sts 176,r24
290 027c 5F98 cbi 43-0x20,7
291 .L33:
292 /* epilogue: frame size=0 */
293 027e FF91 pop r31
294 0280 EF91 pop r30
295 0282 DF91 pop r29
296 0284 CF91 pop r28
297 0286 BF91 pop r27
298 0288 AF91 pop r26
299 028a 9F91 pop r25
300 028c 8F91 pop r24
301 028e 7F91 pop r23
302 0290 6F91 pop r22
303 0292 5F91 pop r21
304 0294 4F91 pop r20
305 0296 3F91 pop r19
306 0298 2F91 pop r18
307 029a 1F91 pop r17
308 029c 0F91 pop r16
309 029e FF90 pop r15
310 02a0 EF90 pop r14
311 02a2 0F90 pop __tmp_reg__
312 02a4 0FBE out __SREG__,__tmp_reg__
313 02a6 0F90 pop __tmp_reg__
314 02a8 1F90 pop __zero_reg__
315 02aa 1895 reti
316 /* epilogue end (size=23) */
317 /* function __vector_9 size 173 (127) */
319 .global Timer_Init
321 Timer_Init:
322 /* prologue: frame size=0 */
323 /* prologue end (size=0) */
324 02ac 8091 0000 lds r24,CountMilliseconds
325 02b0 9091 0000 lds r25,(CountMilliseconds)+1
326 02b4 0B96 adiw r24,11
327 02b6 9093 0000 sts (tim_main)+1,r25
328 02ba 8093 0000 sts tim_main,r24
329 02be 82E0 ldi r24,lo8(2)
330 02c0 85BD out 69-0x20,r24
331 02c2 83EA ldi r24,lo8(-93)
332 02c4 84BD out 68-0x20,r24
333 02c6 17BC out 71-0x20,__zero_reg__
334 02c8 88E7 ldi r24,lo8(120)
335 02ca 88BD out 72-0x20,r24
336 02cc 96E0 ldi r25,lo8(6)
337 02ce 96BD out 70-0x20,r25
338 02d0 83EC ldi r24,lo8(-61)
339 02d2 8093 B000 sts 176,r24
340 02d6 9093 B100 sts 177,r25
341 02da E0E7 ldi r30,lo8(112)
342 02dc F0E0 ldi r31,hi8(112)
343 02de 8081 ld r24,Z
344 02e0 8260 ori r24,lo8(2)
345 02e2 8083 st Z,r24
346 02e4 EEE6 ldi r30,lo8(110)
347 02e6 F0E0 ldi r31,hi8(110)
348 02e8 8081 ld r24,Z
349 02ea 8160 ori r24,lo8(1)
350 02ec 8083 st Z,r24
351 02ee 8AE0 ldi r24,lo8(10)
352 02f0 8093 B300 sts 179,r24
353 02f4 1092 B200 sts 178,__zero_reg__
354 /* epilogue: frame size=0 */
355 02f8 0895 ret
356 /* epilogue end (size=1) */
357 /* function Timer_Init size 39 (38) */
359 .global Delay_ms
361 Delay_ms:
362 /* prologue: frame size=0 */
363 /* prologue end (size=0) */
364 02fa 2091 0000 lds r18,CountMilliseconds
365 02fe 3091 0000 lds r19,(CountMilliseconds)+1
366 0302 2F5F subi r18,lo8(-(1))
367 0304 3F4F sbci r19,hi8(-(1))
368 0306 280F add r18,r24
369 0308 391F adc r19,r25
370 .L39:
371 030a 8091 0000 lds r24,CountMilliseconds
372 030e 9091 0000 lds r25,(CountMilliseconds)+1
373 0312 A901 movw r20,r18
374 0314 481B sub r20,r24
375 0316 590B sbc r21,r25
376 0318 57FF sbrs r21,7
377 031a 00C0 rjmp .L39
378 /* epilogue: frame size=0 */
379 031c 0895 ret
380 /* epilogue end (size=1) */
381 /* function Delay_ms size 18 (17) */
383 .global CountMilliseconds
384 .global CountMilliseconds
385 .section .bss
388 CountMilliseconds:
389 0000 0000 .skip 2,0
390 .global UpdateMotor
391 .global UpdateMotor
394 UpdateMotor:
395 0002 00 .skip 1,0
396 .global cntKompass
397 .global cntKompass
400 cntKompass:
401 0003 0000 .skip 2,0
402 .global beeptime
403 .global beeptime
406 beeptime:
407 0005 0000 .skip 2,0
408 .global ServoValue
409 .global ServoValue
412 ServoValue:
413 0007 0000 .skip 2,0
414 .data
417 timer.2063:
418 0000 0A .byte 10
419 .lcomm cnt.1977,1
422 cnt_1ms.1976:
423 0001 01 .byte 1
424 .lcomm tim_main,2
425 .comm DiffNick,2,1
426 .comm DiffRoll,2,1
427 .comm SenderOkay,1,1
428 .comm CosinusNickWinkel,1,1
429 .comm CosinusRollWinkel,1,1
430 .comm durchschnitt_northing,4,1
431 .comm durchschnitt_easting,4,1
432 .comm gps_p,2,1
433 .comm gps_d,2,1
434 .comm skal,2,1
435 .comm gps_gethome,2,1
436 .comm RemoteTasten,1,1
437 .comm Timeout,1,1
438 .comm IntegralNick,4,1
439 .comm IntegralNick2,4,1
440 .comm IntegralRoll,4,1
441 .comm IntegralRoll2,4,1
442 .comm Mess_IntegralNick,4,1
443 .comm Mess_IntegralNick2,4,1
444 .comm Mess_IntegralRoll,4,1
445 .comm Mess_IntegralRoll2,4,1
446 .comm Integral_Gier,4,1
447 .comm Mess_Integral_Gier,4,1
448 .comm h,1,1
449 .comm m,1,1
450 .comm s,1,1
451 .comm Motor_Vorne,1,1
452 .comm Motor_Hinten,1,1
453 .comm Motor_Rechts,1,1
454 .comm Motor_Links,1,1
455 .comm Count,1,1
456 .comm MotorWert,5,1
457 .comm StickNick,2,1
458 .comm StickRoll,2,1
459 .comm StickGier,2,1
460 .comm MotorenEin,1,1
461 /* File "timer0.c": code 401 = 0x0191 ( 323), prologues 37, epilogues 41 */
DEFINED SYMBOLS
*ABS*:00000000 timer0.c
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cc4Vn1ck.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cc4Vn1ck.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cc4Vn1ck.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cc4Vn1ck.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cc4Vn1ck.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cc4Vn1ck.s:13 .text:00000000 __vector_18
.bss:00000009 cnt.1977
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cc4Vn1ck.s:422 .data:00000001 cnt_1ms.1976
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cc4Vn1ck.s:394 .bss:00000002 UpdateMotor
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cc4Vn1ck.s:388 .bss:00000000 CountMilliseconds
*COM*:00000001 Timeout
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cc4Vn1ck.s:406 .bss:00000005 beeptime
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cc4Vn1ck.s:400 .bss:00000003 cntKompass
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cc4Vn1ck.s:136 .text:00000128 SetDelay
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cc4Vn1ck.s:152 .text:0000013a CheckDelay
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cc4Vn1ck.s:171 .text:00000152 __vector_9
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cc4Vn1ck.s:417 .data:00000000 timer.2063
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cc4Vn1ck.s:412 .bss:00000007 ServoValue
*COM*:00000004 IntegralNick
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cc4Vn1ck.s:321 .text:000002ac Timer_Init
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cc4Vn1ck.s:419 .bss:0000000a tim_main
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/cc4Vn1ck.s:361 .text:000002fa Delay_ms
*COM*:00000002 DiffNick
*COM*:00000002 DiffRoll
*COM*:00000001 SenderOkay
*COM*:00000001 CosinusNickWinkel
*COM*:00000001 CosinusRollWinkel
*COM*:00000004 durchschnitt_northing
*COM*:00000004 durchschnitt_easting
*COM*:00000002 gps_p
*COM*:00000002 gps_d
*COM*:00000002 skal
*COM*:00000002 gps_gethome
*COM*:00000001 RemoteTasten
*COM*:00000004 IntegralNick2
*COM*:00000004 IntegralRoll
*COM*:00000004 IntegralRoll2
*COM*:00000004 Mess_IntegralNick
*COM*:00000004 Mess_IntegralNick2
*COM*:00000004 Mess_IntegralRoll
*COM*:00000004 Mess_IntegralRoll2
*COM*:00000004 Integral_Gier
*COM*:00000004 Mess_Integral_Gier
*COM*:00000001 h
*COM*:00000001 m
*COM*:00000001 s
*COM*:00000001 Motor_Vorne
*COM*:00000001 Motor_Hinten
*COM*:00000001 Motor_Rechts
*COM*:00000001 Motor_Links
*COM*:00000001 Count
*COM*:00000005 MotorWert
*COM*:00000002 StickNick
*COM*:00000002 StickRoll
*COM*:00000002 StickGier
*COM*:00000001 MotorenEin
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
EE_Parameter
KompassValue
KompassStartwert
__divmodhi4
KompassRichtung
Parameter_ServoNickControl
__divmodsi4
__mulsi3
DebugOut