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