0,0 → 1,850 |
1 .file "analog.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 ADC_Init |
13 ADC_Init: |
14 /* prologue: frame size=0 */ |
15 /* prologue end (size=0) */ |
16 0000 1092 7C00 sts 124,__zero_reg__ |
17 0004 8FEE ldi r24,lo8(-17) |
18 0006 8093 7A00 sts 122,r24 |
19 /* epilogue: frame size=0 */ |
20 000a 0895 ret |
21 /* epilogue end (size=1) */ |
22 /* function ADC_Init size 6 (5) */ |
24 .global __vector_24 |
26 __vector_24: |
27 /* prologue: frame size=0 */ |
28 000c 1F92 push __zero_reg__ |
29 000e 0F92 push __tmp_reg__ |
30 0010 0FB6 in __tmp_reg__,__SREG__ |
31 0012 0F92 push __tmp_reg__ |
32 0014 1124 clr __zero_reg__ |
33 0016 EF92 push r14 |
34 0018 FF92 push r15 |
35 001a 0F93 push r16 |
36 001c 1F93 push r17 |
37 001e 2F93 push r18 |
38 0020 3F93 push r19 |
39 0022 4F93 push r20 |
40 0024 5F93 push r21 |
41 0026 6F93 push r22 |
42 0028 7F93 push r23 |
43 002a 8F93 push r24 |
44 002c 9F93 push r25 |
45 002e AF93 push r26 |
46 0030 BF93 push r27 |
47 0032 CF93 push r28 |
48 0034 DF93 push r29 |
49 0036 EF93 push r30 |
50 0038 FF93 push r31 |
51 /* prologue end (size=23) */ |
52 003a 1092 7A00 sts 122,__zero_reg__ |
53 003e 4091 0000 lds r20,state.2041 |
54 0042 4F5F subi r20,lo8(-(1)) |
55 0044 4093 0000 sts state.2041,r20 |
56 0048 4150 subi r20,lo8(-(-1)) |
57 004a 4330 cpi r20,lo8(3) |
58 004c 01F4 brne .+2 |
59 004e 00C0 rjmp .L8 |
60 0050 4430 cpi r20,lo8(4) |
61 0052 00F4 brsh .L13 |
62 0054 4130 cpi r20,lo8(1) |
63 0056 01F4 brne .+2 |
64 0058 00C0 rjmp .L6 |
65 005a 4230 cpi r20,lo8(2) |
66 005c 00F0 brlo .+2 |
67 005e 00C0 rjmp .L7 |
68 0060 00C0 rjmp .L36 |
69 .L13: |
70 0062 4530 cpi r20,lo8(5) |
71 0064 01F4 brne .+2 |
72 0066 00C0 rjmp .L10 |
73 0068 4530 cpi r20,lo8(5) |
74 006a 00F4 brsh .+2 |
75 006c 00C0 rjmp .L9 |
76 006e 4630 cpi r20,lo8(6) |
77 0070 01F4 brne .+2 |
78 0072 00C0 rjmp .L11 |
79 0074 4730 cpi r20,lo8(7) |
80 0076 01F0 breq .+2 |
81 0078 00C0 rjmp .L37 |
82 007a 00C0 rjmp .L12 |
83 .L36: |
84 007c 2091 0000 lds r18,AdNeutralGier |
85 0080 3091 0000 lds r19,(AdNeutralGier)+1 |
86 0084 8091 7800 lds r24,120 |
87 0088 9091 7900 lds r25,(120)+1 |
88 008c 281B sub r18,r24 |
89 008e 390B sbc r19,r25 |
90 0090 8091 0000 lds r24,AccumulateGier |
91 0094 9091 0000 lds r25,(AccumulateGier)+1 |
92 0098 820F add r24,r18 |
93 009a 931F adc r25,r19 |
94 009c 9093 0000 sts (AccumulateGier)+1,r25 |
95 00a0 8093 0000 sts AccumulateGier,r24 |
96 00a4 8091 0000 lds r24,MessanzahlGier |
97 00a8 8F5F subi r24,lo8(-(1)) |
98 00aa 8093 0000 sts MessanzahlGier,r24 |
99 00ae 8091 0000 lds r24,Mess_Integral_Gier |
100 00b2 9091 0000 lds r25,(Mess_Integral_Gier)+1 |
101 00b6 A091 0000 lds r26,(Mess_Integral_Gier)+2 |
102 00ba B091 0000 lds r27,(Mess_Integral_Gier)+3 |
103 00be 4427 clr r20 |
104 00c0 37FD sbrc r19,7 |
105 00c2 4095 com r20 |
106 00c4 542F mov r21,r20 |
107 00c6 820F add r24,r18 |
108 00c8 931F adc r25,r19 |
109 00ca A41F adc r26,r20 |
110 00cc B51F adc r27,r21 |
111 00ce 8093 0000 sts Mess_Integral_Gier,r24 |
112 00d2 9093 0000 sts (Mess_Integral_Gier)+1,r25 |
113 00d6 A093 0000 sts (Mess_Integral_Gier)+2,r26 |
114 00da B093 0000 sts (Mess_Integral_Gier)+3,r27 |
115 00de 8091 0000 lds r24,Mess_Integral_Gier2 |
116 00e2 9091 0000 lds r25,(Mess_Integral_Gier2)+1 |
117 00e6 A091 0000 lds r26,(Mess_Integral_Gier2)+2 |
118 00ea B091 0000 lds r27,(Mess_Integral_Gier2)+3 |
119 00ee 820F add r24,r18 |
120 00f0 931F adc r25,r19 |
121 00f2 A41F adc r26,r20 |
122 00f4 B51F adc r27,r21 |
123 00f6 8093 0000 sts Mess_Integral_Gier2,r24 |
124 00fa 9093 0000 sts (Mess_Integral_Gier2)+1,r25 |
125 00fe A093 0000 sts (Mess_Integral_Gier2)+2,r26 |
126 0102 B093 0000 sts (Mess_Integral_Gier2)+3,r27 |
127 0106 81E0 ldi r24,lo8(1) |
128 0108 8093 0000 sts kanal.2040,r24 |
129 010c 8091 0000 lds r24,ZaehlMessungen |
130 0110 9091 0000 lds r25,(ZaehlMessungen)+1 |
131 0114 0196 adiw r24,1 |
132 0116 9093 0000 sts (ZaehlMessungen)+1,r25 |
133 011a 8093 0000 sts ZaehlMessungen,r24 |
134 011e 00C0 rjmp .L14 |
135 .L6: |
136 0120 6091 7800 lds r22,120 |
137 0124 7091 7900 lds r23,(120)+1 |
138 0128 8091 0000 lds r24,AdNeutralRoll |
139 012c 9091 0000 lds r25,(AdNeutralRoll)+1 |
140 0130 681B sub r22,r24 |
141 0132 790B sbc r23,r25 |
142 0134 8091 0000 lds r24,Mess_IntegralRoll |
143 0138 9091 0000 lds r25,(Mess_IntegralRoll)+1 |
144 013c A091 0000 lds r26,(Mess_IntegralRoll)+2 |
145 0140 B091 0000 lds r27,(Mess_IntegralRoll)+3 |
146 0144 9B01 movw r18,r22 |
147 0146 4427 clr r20 |
148 0148 37FD sbrc r19,7 |
149 014a 4095 com r20 |
150 014c 542F mov r21,r20 |
151 014e 820F add r24,r18 |
152 0150 931F adc r25,r19 |
153 0152 A41F adc r26,r20 |
154 0154 B51F adc r27,r21 |
155 0156 8093 0000 sts Mess_IntegralRoll,r24 |
156 015a 9093 0000 sts (Mess_IntegralRoll)+1,r25 |
157 015e A093 0000 sts (Mess_IntegralRoll)+2,r26 |
158 0162 B093 0000 sts (Mess_IntegralRoll)+3,r27 |
159 0166 8091 0000 lds r24,Mess_IntegralRoll2 |
160 016a 9091 0000 lds r25,(Mess_IntegralRoll2)+1 |
161 016e A091 0000 lds r26,(Mess_IntegralRoll2)+2 |
162 0172 B091 0000 lds r27,(Mess_IntegralRoll2)+3 |
163 0176 820F add r24,r18 |
164 0178 931F adc r25,r19 |
165 017a A41F adc r26,r20 |
166 017c B51F adc r27,r21 |
167 017e 8093 0000 sts Mess_IntegralRoll2,r24 |
168 0182 9093 0000 sts (Mess_IntegralRoll2)+1,r25 |
169 0186 A093 0000 sts (Mess_IntegralRoll2)+2,r26 |
170 018a B093 0000 sts (Mess_IntegralRoll2)+3,r27 |
171 018e 8091 7800 lds r24,120 |
172 0192 9091 7900 lds r25,(120)+1 |
173 0196 0A97 sbiw r24,10 |
174 0198 00F4 brsh .L15 |
175 019a 64E4 ldi r22,lo8(-700) |
176 019c 7DEF ldi r23,hi8(-700) |
177 .L15: |
178 019e 8091 7800 lds r24,120 |
179 01a2 9091 7900 lds r25,(120)+1 |
180 01a6 895E subi r24,lo8(1001) |
181 01a8 9340 sbci r25,hi8(1001) |
182 01aa 00F0 brlo .L17 |
183 01ac 6CEB ldi r22,lo8(700) |
184 01ae 72E0 ldi r23,hi8(700) |
185 .L17: |
186 01b0 8091 0000 lds r24,AccumulateRoll |
187 01b4 9091 0000 lds r25,(AccumulateRoll)+1 |
188 01b8 860F add r24,r22 |
189 01ba 971F adc r25,r23 |
190 01bc 9093 0000 sts (AccumulateRoll)+1,r25 |
191 01c0 8093 0000 sts AccumulateRoll,r24 |
192 01c4 8091 0000 lds r24,MessanzahlRoll |
193 01c8 8F5F subi r24,lo8(-(1)) |
194 01ca 8093 0000 sts MessanzahlRoll,r24 |
195 01ce 82E0 ldi r24,lo8(2) |
196 01d0 00C0 rjmp .L39 |
197 .L7: |
198 01d2 6091 7800 lds r22,120 |
199 01d6 7091 7900 lds r23,(120)+1 |
200 01da 8091 0000 lds r24,AdNeutralNick |
201 01de 9091 0000 lds r25,(AdNeutralNick)+1 |
202 01e2 681B sub r22,r24 |
203 01e4 790B sbc r23,r25 |
204 01e6 8091 0000 lds r24,Mess_IntegralNick |
205 01ea 9091 0000 lds r25,(Mess_IntegralNick)+1 |
206 01ee A091 0000 lds r26,(Mess_IntegralNick)+2 |
207 01f2 B091 0000 lds r27,(Mess_IntegralNick)+3 |
208 01f6 9B01 movw r18,r22 |
209 01f8 4427 clr r20 |
210 01fa 37FD sbrc r19,7 |
211 01fc 4095 com r20 |
212 01fe 542F mov r21,r20 |
213 0200 820F add r24,r18 |
214 0202 931F adc r25,r19 |
215 0204 A41F adc r26,r20 |
216 0206 B51F adc r27,r21 |
217 0208 8093 0000 sts Mess_IntegralNick,r24 |
218 020c 9093 0000 sts (Mess_IntegralNick)+1,r25 |
219 0210 A093 0000 sts (Mess_IntegralNick)+2,r26 |
220 0214 B093 0000 sts (Mess_IntegralNick)+3,r27 |
221 0218 8091 0000 lds r24,Mess_IntegralNick2 |
222 021c 9091 0000 lds r25,(Mess_IntegralNick2)+1 |
223 0220 A091 0000 lds r26,(Mess_IntegralNick2)+2 |
224 0224 B091 0000 lds r27,(Mess_IntegralNick2)+3 |
225 0228 820F add r24,r18 |
226 022a 931F adc r25,r19 |
227 022c A41F adc r26,r20 |
228 022e B51F adc r27,r21 |
229 0230 8093 0000 sts Mess_IntegralNick2,r24 |
230 0234 9093 0000 sts (Mess_IntegralNick2)+1,r25 |
231 0238 A093 0000 sts (Mess_IntegralNick2)+2,r26 |
232 023c B093 0000 sts (Mess_IntegralNick2)+3,r27 |
233 0240 8091 7800 lds r24,120 |
234 0244 9091 7900 lds r25,(120)+1 |
235 0248 0A97 sbiw r24,10 |
236 024a 00F4 brsh .L19 |
237 024c 64E4 ldi r22,lo8(-700) |
238 024e 7DEF ldi r23,hi8(-700) |
239 .L19: |
240 0250 8091 7800 lds r24,120 |
241 0254 9091 7900 lds r25,(120)+1 |
242 0258 895E subi r24,lo8(1001) |
243 025a 9340 sbci r25,hi8(1001) |
244 025c 00F0 brlo .L21 |
245 025e 6CEB ldi r22,lo8(700) |
246 0260 72E0 ldi r23,hi8(700) |
247 .L21: |
248 0262 8091 0000 lds r24,AccumulateNick |
249 0266 9091 0000 lds r25,(AccumulateNick)+1 |
250 026a 860F add r24,r22 |
251 026c 971F adc r25,r23 |
252 026e 9093 0000 sts (AccumulateNick)+1,r25 |
253 0272 8093 0000 sts AccumulateNick,r24 |
254 0276 8091 0000 lds r24,MessanzahlNick |
255 027a 8F5F subi r24,lo8(-(1)) |
256 027c 8093 0000 sts MessanzahlNick,r24 |
257 0280 84E0 ldi r24,lo8(4) |
258 .L39: |
259 0282 8093 0000 sts kanal.2040,r24 |
260 0286 00C0 rjmp .L14 |
261 .L8: |
262 0288 4091 0000 lds r20,UBat |
263 028c 5091 0000 lds r21,(UBat)+1 |
264 0290 8091 7800 lds r24,120 |
265 0294 9091 7900 lds r25,(120)+1 |
266 0298 9A01 movw r18,r20 |
267 029a 220F lsl r18 |
268 029c 331F rol r19 |
269 029e 240F add r18,r20 |
270 02a0 351F adc r19,r21 |
271 02a2 63E0 ldi r22,lo8(3) |
272 02a4 70E0 ldi r23,hi8(3) |
273 02a6 0E94 0000 call __udivmodhi4 |
274 02aa 260F add r18,r22 |
275 02ac 371F adc r19,r23 |
276 02ae 3695 lsr r19 |
277 02b0 2795 ror r18 |
278 02b2 3695 lsr r19 |
279 02b4 2795 ror r18 |
280 02b6 3093 0000 sts (UBat)+1,r19 |
281 02ba 2093 0000 sts UBat,r18 |
282 02be 86E0 ldi r24,lo8(6) |
283 02c0 00C0 rjmp .L39 |
284 .L9: |
285 02c2 8091 0000 lds r24,NeutralAccY |
286 02c6 9091 0000 lds r25,(NeutralAccY)+1 |
287 02ca 2091 7800 lds r18,120 |
288 02ce 3091 7900 lds r19,(120)+1 |
289 02d2 821B sub r24,r18 |
290 02d4 930B sbc r25,r19 |
291 02d6 9093 0000 sts (Aktuell_ay)+1,r25 |
292 02da 8093 0000 sts Aktuell_ay,r24 |
293 02de 8091 0000 lds r24,accumulate_AccRoll |
294 02e2 9091 0000 lds r25,(accumulate_AccRoll)+1 |
295 02e6 2091 0000 lds r18,Aktuell_ay |
296 02ea 3091 0000 lds r19,(Aktuell_ay)+1 |
297 02ee 820F add r24,r18 |
298 02f0 931F adc r25,r19 |
299 02f2 9093 0000 sts (accumulate_AccRoll)+1,r25 |
300 02f6 8093 0000 sts accumulate_AccRoll,r24 |
301 02fa 8091 0000 lds r24,messanzahl_AccRoll |
302 02fe 8F5F subi r24,lo8(-(1)) |
303 0300 8093 0000 sts messanzahl_AccRoll,r24 |
304 0304 87E0 ldi r24,lo8(7) |
305 0306 00C0 rjmp .L39 |
306 .L10: |
307 0308 8091 7800 lds r24,120 |
308 030c 9091 7900 lds r25,(120)+1 |
309 0310 2091 0000 lds r18,NeutralAccX |
310 0314 3091 0000 lds r19,(NeutralAccX)+1 |
311 0318 821B sub r24,r18 |
312 031a 930B sbc r25,r19 |
313 031c 9093 0000 sts (Aktuell_ax)+1,r25 |
314 0320 8093 0000 sts Aktuell_ax,r24 |
315 0324 8091 0000 lds r24,accumulate_AccNick |
316 0328 9091 0000 lds r25,(accumulate_AccNick)+1 |
317 032c 2091 0000 lds r18,Aktuell_ax |
318 0330 3091 0000 lds r19,(Aktuell_ax)+1 |
319 0334 820F add r24,r18 |
320 0336 931F adc r25,r19 |
321 0338 9093 0000 sts (accumulate_AccNick)+1,r25 |
322 033c 8093 0000 sts accumulate_AccNick,r24 |
323 0340 8091 0000 lds r24,messanzahl_AccNick |
324 0344 8F5F subi r24,lo8(-(1)) |
325 0346 8093 0000 sts messanzahl_AccNick,r24 |
326 034a 4093 0000 sts kanal.2040,r20 |
327 034e 86E0 ldi r24,lo8(6) |
328 0350 00C0 rjmp .L40 |
329 .L11: |
330 0352 6091 7800 lds r22,120 |
331 0356 7091 7900 lds r23,(120)+1 |
332 035a E090 0000 lds r14,NeutralAccZ |
333 035e F090 0000 lds r15,(NeutralAccZ)+1 |
334 0362 0091 0000 lds r16,(NeutralAccZ)+2 |
335 0366 1091 0000 lds r17,(NeutralAccZ)+3 |
336 036a 8827 clr r24 |
337 036c 77FD sbrc r23,7 |
338 036e 8095 com r24 |
339 0370 982F mov r25,r24 |
340 0372 0E94 0000 call __floatsisf |
341 0376 A801 movw r20,r16 |
342 0378 9701 movw r18,r14 |
343 037a 0E94 0000 call __subsf3 |
344 037e 0E94 0000 call __fixsfsi |
345 0382 7093 0000 sts (accumulate_AccHoch)+1,r23 |
346 0386 6093 0000 sts accumulate_AccHoch,r22 |
347 038a 2091 0000 lds r18,accumulate_AccHoch |
348 038e 3091 0000 lds r19,(accumulate_AccHoch)+1 |
349 0392 E091 0000 lds r30,Aktuell_ay |
350 0396 F091 0000 lds r31,(Aktuell_ay)+1 |
351 039a 8091 0000 lds r24,Aktuell_ax |
352 039e 9091 0000 lds r25,(Aktuell_ax)+1 |
353 03a2 97FF sbrs r25,7 |
354 03a4 00C0 rjmp .L23 |
355 03a6 9095 com r25 |
356 03a8 8195 neg r24 |
357 03aa 9F4F sbci r25,lo8(-1) |
358 .L23: |
359 03ac 64E0 ldi r22,lo8(4) |
360 03ae 70E0 ldi r23,hi8(4) |
361 03b0 0E94 0000 call __divmodhi4 |
362 03b4 EB01 movw r28,r22 |
363 03b6 CF01 movw r24,r30 |
364 03b8 F7FF sbrs r31,7 |
365 03ba 00C0 rjmp .L24 |
366 03bc 9095 com r25 |
367 03be 8195 neg r24 |
368 03c0 9F4F sbci r25,lo8(-1) |
369 .L24: |
370 03c2 64E0 ldi r22,lo8(4) |
371 03c4 70E0 ldi r23,hi8(4) |
372 03c6 0E94 0000 call __divmodhi4 |
373 03ca 260F add r18,r22 |
374 03cc 371F adc r19,r23 |
375 03ce 2C0F add r18,r28 |
376 03d0 3D1F adc r19,r29 |
377 03d2 3093 0000 sts (accumulate_AccHoch)+1,r19 |
378 03d6 2093 0000 sts accumulate_AccHoch,r18 |
379 03da 8091 0000 lds r24,accumulate_AccHoch |
380 03de 9091 0000 lds r25,(accumulate_AccHoch)+1 |
381 03e2 0297 sbiw r24,2 |
382 03e4 04F0 brlt .L25 |
383 03e6 6091 0000 lds r22,NeutralAccZ |
384 03ea 7091 0000 lds r23,(NeutralAccZ)+1 |
385 03ee 8091 0000 lds r24,(NeutralAccZ)+2 |
386 03f2 9091 0000 lds r25,(NeutralAccZ)+3 |
387 03f6 20E0 ldi r18,lo8(0x44480000) |
388 03f8 30E0 ldi r19,hi8(0x44480000) |
389 03fa 48E4 ldi r20,hlo8(0x44480000) |
390 03fc 54E4 ldi r21,hhi8(0x44480000) |
391 03fe 0E94 0000 call __ltsf2 |
392 0402 8823 tst r24 |
393 0404 04F0 brlt .+2 |
394 0406 00C0 rjmp .L27 |
395 0408 6091 0000 lds r22,NeutralAccZ |
396 040c 7091 0000 lds r23,(NeutralAccZ)+1 |
397 0410 8091 0000 lds r24,(NeutralAccZ)+2 |
398 0414 9091 0000 lds r25,(NeutralAccZ)+3 |
399 0418 2AE0 ldi r18,lo8(0x3ca3d70a) |
400 041a 37ED ldi r19,hi8(0x3ca3d70a) |
401 041c 43EA ldi r20,hlo8(0x3ca3d70a) |
402 041e 5CE3 ldi r21,hhi8(0x3ca3d70a) |
403 0420 0E94 0000 call __addsf3 |
404 0424 00C0 rjmp .L38 |
405 .L25: |
406 0426 8091 0000 lds r24,accumulate_AccHoch |
407 042a 9091 0000 lds r25,(accumulate_AccHoch)+1 |
408 042e 8F5F subi r24,lo8(-1) |
409 0430 9F4F sbci r25,hi8(-1) |
410 0432 04F4 brge .L27 |
411 0434 6091 0000 lds r22,NeutralAccZ |
412 0438 7091 0000 lds r23,(NeutralAccZ)+1 |
413 043c 8091 0000 lds r24,(NeutralAccZ)+2 |
414 0440 9091 0000 lds r25,(NeutralAccZ)+3 |
415 0444 20E0 ldi r18,lo8(0x44160000) |
416 0446 30E0 ldi r19,hi8(0x44160000) |
417 0448 46E1 ldi r20,hlo8(0x44160000) |
418 044a 54E4 ldi r21,hhi8(0x44160000) |
419 044c 0E94 0000 call __gtsf2 |
420 0450 1816 cp __zero_reg__,r24 |
421 0452 04F4 brge .L27 |
422 0454 6091 0000 lds r22,NeutralAccZ |
423 0458 7091 0000 lds r23,(NeutralAccZ)+1 |
424 045c 8091 0000 lds r24,(NeutralAccZ)+2 |
425 0460 9091 0000 lds r25,(NeutralAccZ)+3 |
426 0464 2AE0 ldi r18,lo8(0x3ca3d70a) |
427 0466 37ED ldi r19,hi8(0x3ca3d70a) |
428 0468 43EA ldi r20,hlo8(0x3ca3d70a) |
429 046a 5CE3 ldi r21,hhi8(0x3ca3d70a) |
430 046c 0E94 0000 call __subsf3 |
431 .L38: |
432 0470 6093 0000 sts NeutralAccZ,r22 |
433 0474 7093 0000 sts (NeutralAccZ)+1,r23 |
434 0478 8093 0000 sts (NeutralAccZ)+2,r24 |
435 047c 9093 0000 sts (NeutralAccZ)+3,r25 |
436 .L27: |
437 0480 81E0 ldi r24,lo8(1) |
438 0482 8093 0000 sts messanzahl_AccHoch,r24 |
439 0486 8091 7800 lds r24,120 |
440 048a 9091 7900 lds r25,(120)+1 |
441 048e 9093 0000 sts (Aktuell_az)+1,r25 |
442 0492 8093 0000 sts Aktuell_az,r24 |
443 0496 2091 0000 lds r18,Mess_Integral_Hoch |
444 049a 3091 0000 lds r19,(Mess_Integral_Hoch)+1 |
445 049e 4091 0000 lds r20,(Mess_Integral_Hoch)+2 |
446 04a2 5091 0000 lds r21,(Mess_Integral_Hoch)+3 |
447 04a6 8091 0000 lds r24,accumulate_AccHoch |
448 04aa 9091 0000 lds r25,(accumulate_AccHoch)+1 |
449 04ae AA27 clr r26 |
450 04b0 97FD sbrc r25,7 |
451 04b2 A095 com r26 |
452 04b4 BA2F mov r27,r26 |
453 04b6 280F add r18,r24 |
454 04b8 391F adc r19,r25 |
455 04ba 4A1F adc r20,r26 |
456 04bc 5B1F adc r21,r27 |
457 04be 2093 0000 sts Mess_Integral_Hoch,r18 |
458 04c2 3093 0000 sts (Mess_Integral_Hoch)+1,r19 |
459 04c6 4093 0000 sts (Mess_Integral_Hoch)+2,r20 |
460 04ca 5093 0000 sts (Mess_Integral_Hoch)+3,r21 |
461 04ce E090 0000 lds r14,Mess_Integral_Hoch |
462 04d2 F090 0000 lds r15,(Mess_Integral_Hoch)+1 |
463 04d6 0091 0000 lds r16,(Mess_Integral_Hoch)+2 |
464 04da 1091 0000 lds r17,(Mess_Integral_Hoch)+3 |
465 04de 6091 0000 lds r22,Mess_Integral_Hoch |
466 04e2 7091 0000 lds r23,(Mess_Integral_Hoch)+1 |
467 04e6 8091 0000 lds r24,(Mess_Integral_Hoch)+2 |
468 04ea 9091 0000 lds r25,(Mess_Integral_Hoch)+3 |
469 04ee 20E0 ldi r18,lo8(1024) |
470 04f0 34E0 ldi r19,hi8(1024) |
471 04f2 40E0 ldi r20,hlo8(1024) |
472 04f4 50E0 ldi r21,hhi8(1024) |
473 04f6 0E94 0000 call __divmodsi4 |
474 04fa E21A sub r14,r18 |
475 04fc F30A sbc r15,r19 |
476 04fe 040B sbc r16,r20 |
477 0500 150B sbc r17,r21 |
478 0502 E092 0000 sts Mess_Integral_Hoch,r14 |
479 0506 F092 0000 sts (Mess_Integral_Hoch)+1,r15 |
480 050a 0093 0000 sts (Mess_Integral_Hoch)+2,r16 |
481 050e 1093 0000 sts (Mess_Integral_Hoch)+3,r17 |
482 0512 83E0 ldi r24,lo8(3) |
483 0514 8093 0000 sts kanal.2040,r24 |
484 0518 87E0 ldi r24,lo8(7) |
485 .L40: |
486 051a 8093 0000 sts state.2041,r24 |
487 051e 00C0 rjmp .L14 |
488 .L12: |
489 0520 8091 0000 lds r24,tmpLuftdruck |
490 0524 9091 0000 lds r25,(tmpLuftdruck)+1 |
491 0528 2091 7800 lds r18,120 |
492 052c 3091 7900 lds r19,(120)+1 |
493 0530 820F add r24,r18 |
494 0532 931F adc r25,r19 |
495 0534 9093 0000 sts (tmpLuftdruck)+1,r25 |
496 0538 8093 0000 sts tmpLuftdruck,r24 |
497 053c 8091 0000 lds r24,messanzahl_Druck |
498 0540 8F5F subi r24,lo8(-(1)) |
499 0542 8093 0000 sts messanzahl_Druck,r24 |
500 0546 8091 0000 lds r24,messanzahl_Druck |
501 054a 8530 cpi r24,lo8(5) |
502 054c 00F4 brsh .+2 |
503 054e 00C0 rjmp .L37 |
504 0550 8091 7800 lds r24,120 |
505 0554 9091 7900 lds r25,(120)+1 |
506 0558 9093 0000 sts (MessLuftdruck)+1,r25 |
507 055c 8093 0000 sts MessLuftdruck,r24 |
508 0560 1092 0000 sts messanzahl_Druck,__zero_reg__ |
509 0564 8091 0000 lds r24,StartLuftdruck |
510 0568 9091 0000 lds r25,(StartLuftdruck)+1 |
511 056c 2091 0000 lds r18,tmpLuftdruck |
512 0570 3091 0000 lds r19,(tmpLuftdruck)+1 |
513 0574 821B sub r24,r18 |
514 0576 930B sbc r25,r19 |
515 0578 2091 0000 lds r18,HoehenWert |
516 057c 3091 0000 lds r19,(HoehenWert)+1 |
517 0580 821B sub r24,r18 |
518 0582 930B sbc r25,r19 |
519 0584 9093 0000 sts (HoeheD)+1,r25 |
520 0588 8093 0000 sts HoeheD,r24 |
521 058c 6091 0000 lds r22,tmpLuftdruck |
522 0590 7091 0000 lds r23,(tmpLuftdruck)+1 |
523 0594 E090 0000 lds r14,Luftdruck |
524 0598 F090 0000 lds r15,(Luftdruck)+1 |
525 059c 0091 0000 lds r16,(Luftdruck)+2 |
526 05a0 1091 0000 lds r17,(Luftdruck)+3 |
527 05a4 8827 clr r24 |
528 05a6 77FD sbrc r23,7 |
529 05a8 8095 com r24 |
530 05aa 982F mov r25,r24 |
531 05ac A801 movw r20,r16 |
532 05ae 9701 movw r18,r14 |
533 05b0 220F lsl r18 |
534 05b2 331F rol r19 |
535 05b4 441F rol r20 |
536 05b6 551F rol r21 |
537 05b8 2E0D add r18,r14 |
538 05ba 3F1D adc r19,r15 |
539 05bc 401F adc r20,r16 |
540 05be 511F adc r21,r17 |
541 05c0 620F add r22,r18 |
542 05c2 731F adc r23,r19 |
543 05c4 841F adc r24,r20 |
544 05c6 951F adc r25,r21 |
545 05c8 24E0 ldi r18,lo8(4) |
546 05ca 30E0 ldi r19,hi8(4) |
547 05cc 40E0 ldi r20,hlo8(4) |
548 05ce 50E0 ldi r21,hhi8(4) |
549 05d0 0E94 0000 call __divmodsi4 |
550 05d4 2093 0000 sts Luftdruck,r18 |
551 05d8 3093 0000 sts (Luftdruck)+1,r19 |
552 05dc 4093 0000 sts (Luftdruck)+2,r20 |
553 05e0 5093 0000 sts (Luftdruck)+3,r21 |
554 05e4 2091 0000 lds r18,StartLuftdruck |
555 05e8 3091 0000 lds r19,(StartLuftdruck)+1 |
556 05ec 8091 0000 lds r24,Luftdruck |
557 05f0 9091 0000 lds r25,(Luftdruck)+1 |
558 05f4 A091 0000 lds r26,(Luftdruck)+2 |
559 05f8 B091 0000 lds r27,(Luftdruck)+3 |
560 05fc 281B sub r18,r24 |
561 05fe 390B sbc r19,r25 |
562 0600 3093 0000 sts (HoehenWert)+1,r19 |
563 0604 2093 0000 sts HoehenWert,r18 |
564 0608 1092 0000 sts (tmpLuftdruck)+1,__zero_reg__ |
565 060c 1092 0000 sts tmpLuftdruck,__zero_reg__ |
566 .L37: |
567 0610 1092 0000 sts kanal.2040,__zero_reg__ |
568 0614 1092 0000 sts state.2041,__zero_reg__ |
569 .L14: |
570 0618 8091 0000 lds r24,kanal.2040 |
571 061c 8093 7C00 sts 124,r24 |
572 0620 8FEE ldi r24,lo8(-17) |
573 0622 8093 7A00 sts 122,r24 |
574 /* epilogue: frame size=0 */ |
575 0626 FF91 pop r31 |
576 0628 EF91 pop r30 |
577 062a DF91 pop r29 |
578 062c CF91 pop r28 |
579 062e BF91 pop r27 |
580 0630 AF91 pop r26 |
581 0632 9F91 pop r25 |
582 0634 8F91 pop r24 |
583 0636 7F91 pop r23 |
584 0638 6F91 pop r22 |
585 063a 5F91 pop r21 |
586 063c 4F91 pop r20 |
587 063e 3F91 pop r19 |
588 0640 2F91 pop r18 |
589 0642 1F91 pop r17 |
590 0644 0F91 pop r16 |
591 0646 FF90 pop r15 |
592 0648 EF90 pop r14 |
593 064a 0F90 pop __tmp_reg__ |
594 064c 0FBE out __SREG__,__tmp_reg__ |
595 064e 0F90 pop __tmp_reg__ |
596 0650 1F90 pop __zero_reg__ |
597 0652 1895 reti |
598 /* epilogue end (size=23) */ |
599 /* function __vector_24 size 811 (765) */ |
601 .global SucheLuftruckOffset |
603 SucheLuftruckOffset: |
604 /* prologue: frame size=0 */ |
605 0654 CF93 push r28 |
606 0656 DF93 push r29 |
607 /* prologue end (size=2) */ |
608 0658 C0E0 ldi r28,lo8(0) |
609 065a D0E0 ldi r29,hi8(0) |
610 .L42: |
611 065c C7BD out 71-0x20,r28 |
612 065e 82E3 ldi r24,lo8(50) |
613 0660 90E0 ldi r25,hi8(50) |
614 0662 0E94 0000 call Delay_ms |
615 0666 80E0 ldi r24,lo8(__c.2026) |
616 0668 90E0 ldi r25,hi8(__c.2026) |
617 066a 9F93 push r25 |
618 066c 8F93 push r24 |
619 066e 1F92 push __zero_reg__ |
620 0670 0E94 0000 call _printf_P |
621 0674 8091 0000 lds r24,MessLuftdruck |
622 0678 9091 0000 lds r25,(MessLuftdruck)+1 |
623 067c 0F90 pop __tmp_reg__ |
624 067e 0F90 pop __tmp_reg__ |
625 0680 0F90 pop __tmp_reg__ |
626 0682 8458 subi r24,lo8(900) |
627 0684 9340 sbci r25,hi8(900) |
628 0686 00F0 brlo .L43 |
629 0688 2196 adiw r28,1 |
630 068a CA3F cpi r28,250 |
631 068c D105 cpc r29,__zero_reg__ |
632 068e 01F4 brne .L42 |
633 .L43: |
634 0690 C093 0000 sts DruckOffsetSetting,r28 |
635 0694 88EC ldi r24,lo8(200) |
636 0696 90E0 ldi r25,hi8(200) |
637 0698 0E94 0000 call Delay_ms |
638 /* epilogue: frame size=0 */ |
639 069c DF91 pop r29 |
640 069e CF91 pop r28 |
641 06a0 0895 ret |
642 /* epilogue end (size=3) */ |
643 /* function SucheLuftruckOffset size 40 (35) */ |
645 .global UBat |
646 .data |
649 UBat: |
650 0000 6400 .word 100 |
651 .global AccumulateNick |
652 .global AccumulateNick |
653 .section .bss |
656 AccumulateNick: |
657 0000 0000 .skip 2,0 |
658 .global AccumulateRoll |
659 .global AccumulateRoll |
662 AccumulateRoll: |
663 0002 0000 .skip 2,0 |
664 .global AccumulateGier |
665 .global AccumulateGier |
668 AccumulateGier: |
669 0004 0000 .skip 2,0 |
670 .global accumulate_AccRoll |
671 .global accumulate_AccRoll |
674 accumulate_AccRoll: |
675 0006 0000 .skip 2,0 |
676 .global accumulate_AccNick |
677 .global accumulate_AccNick |
680 accumulate_AccNick: |
681 0008 0000 .skip 2,0 |
682 .global accumulate_AccHoch |
683 .global accumulate_AccHoch |
686 accumulate_AccHoch: |
687 000a 0000 .skip 2,0 |
688 .global MessanzahlNick |
689 .global MessanzahlNick |
692 MessanzahlNick: |
693 000c 00 .skip 1,0 |
694 .global MessanzahlRoll |
695 .global MessanzahlRoll |
698 MessanzahlRoll: |
699 000d 00 .skip 1,0 |
700 .global MessanzahlGier |
701 .global MessanzahlGier |
704 MessanzahlGier: |
705 000e 00 .skip 1,0 |
706 .global messanzahl_AccNick |
707 .global messanzahl_AccNick |
710 messanzahl_AccNick: |
711 000f 00 .skip 1,0 |
712 .global messanzahl_AccRoll |
713 .global messanzahl_AccRoll |
716 messanzahl_AccRoll: |
717 0010 00 .skip 1,0 |
718 .global messanzahl_AccHoch |
719 .global messanzahl_AccHoch |
722 messanzahl_AccHoch: |
723 0011 00 .skip 1,0 |
724 .global Luftdruck |
725 .data |
728 Luftdruck: |
729 0002 00 .byte 0 |
730 0003 7D .byte 125 |
731 0004 00 .byte 0 |
732 0005 00 .byte 0 |
733 .global MessLuftdruck |
736 MessLuftdruck: |
737 0006 FF03 .word 1023 |
738 .global HoeheD |
739 .global HoeheD |
740 .section .bss |
743 HoeheD: |
744 0012 0000 .skip 2,0 |
745 .global ZaehlMessungen |
746 .global ZaehlMessungen |
749 ZaehlMessungen: |
750 0014 0000 .skip 2,0 |
751 .lcomm state.2041,1 |
752 .lcomm kanal.2040,1 |
753 .section .progmem.data,"a",@progbits |
756 __c.2026: |
757 0000 2E00 .string "." |
758 .comm DiffNick,2,1 |
759 .comm DiffRoll,2,1 |
760 .comm SenderOkay,1,1 |
761 .comm CosinusNickWinkel,1,1 |
762 .comm CosinusRollWinkel,1,1 |
763 .comm durchschnitt_northing,4,1 |
764 .comm durchschnitt_easting,4,1 |
765 .comm P_GPS_Verstaerkung,2,1 |
766 .comm D_GPS_Verstaerkung,2,1 |
767 .comm Aktuell_Nick,2,1 |
768 .comm Aktuell_Roll,2,1 |
769 .comm Aktuell_Gier,2,1 |
770 .comm Aktuell_ax,2,1 |
771 .comm Aktuell_ay,2,1 |
772 .comm Aktuell_az,2,1 |
773 .comm messanzahl_Druck,1,1 |
774 .comm DruckOffsetSetting,1,1 |
775 .comm StartLuftdruck,2,1 |
776 .comm RemoteTasten,1,1 |
777 .comm Timeout,1,1 |
778 .comm IntegralNick,4,1 |
779 .comm IntegralNick2,4,1 |
780 .comm IntegralRoll,4,1 |
781 .comm IntegralRoll2,4,1 |
782 .comm Mess_IntegralNick,4,1 |
783 .comm Mess_IntegralNick2,4,1 |
784 .comm Mess_IntegralRoll,4,1 |
785 .comm Mess_IntegralRoll2,4,1 |
786 .comm Integral_Gier,4,1 |
787 .comm Mess_Integral_Gier,4,1 |
788 .comm h,1,1 |
789 .comm m,1,1 |
790 .comm s,1,1 |
791 .comm Motor_Vorne,1,1 |
792 .comm Motor_Hinten,1,1 |
793 .comm Motor_Rechts,1,1 |
794 .comm Motor_Links,1,1 |
795 .comm Count,1,1 |
796 .comm MotorWert,5,1 |
797 .comm tmpLuftdruck,2,1 |
798 /* File "analog.c": code 857 = 0x0359 ( 805), prologues 25, epilogues 27 */ |
DEFINED SYMBOLS |
*ABS*:00000000 analog.c |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:3 *ABS*:0000003f __SREG__ |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:4 *ABS*:0000003e __SP_H__ |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:5 *ABS*:0000003d __SP_L__ |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:6 *ABS*:00000000 __tmp_reg__ |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:7 *ABS*:00000001 __zero_reg__ |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:13 .text:00000000 ADC_Init |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:26 .text:0000000c __vector_24 |
.bss:00000016 state.2041 |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:668 .bss:00000004 AccumulateGier |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:704 .bss:0000000e MessanzahlGier |
*COM*:00000004 Mess_Integral_Gier |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:751 .bss:00000017 kanal.2040 |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:749 .bss:00000014 ZaehlMessungen |
*COM*:00000004 Mess_IntegralRoll |
*COM*:00000004 Mess_IntegralRoll2 |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:662 .bss:00000002 AccumulateRoll |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:698 .bss:0000000d MessanzahlRoll |
*COM*:00000004 Mess_IntegralNick |
*COM*:00000004 Mess_IntegralNick2 |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:656 .bss:00000000 AccumulateNick |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:692 .bss:0000000c MessanzahlNick |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:649 .data:00000000 UBat |
*COM*:00000002 Aktuell_ay |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:674 .bss:00000006 accumulate_AccRoll |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:716 .bss:00000010 messanzahl_AccRoll |
*COM*:00000002 Aktuell_ax |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:680 .bss:00000008 accumulate_AccNick |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:710 .bss:0000000f messanzahl_AccNick |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:686 .bss:0000000a accumulate_AccHoch |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:722 .bss:00000011 messanzahl_AccHoch |
*COM*:00000002 Aktuell_az |
*COM*:00000002 tmpLuftdruck |
*COM*:00000001 messanzahl_Druck |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:736 .data:00000006 MessLuftdruck |
*COM*:00000002 StartLuftdruck |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:743 .bss:00000012 HoeheD |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:728 .data:00000002 Luftdruck |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:603 .text:00000654 SucheLuftruckOffset |
C:\DOKUME~1\none\LOKALE~1\Temp/ccQFQ6lN.s:756 .progmem.data:00000000 __c.2026 |
*COM*:00000001 DruckOffsetSetting |
*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*:00000002 Aktuell_Nick |
*COM*:00000002 Aktuell_Roll |
*COM*:00000002 Aktuell_Gier |
*COM*:00000001 RemoteTasten |
*COM*:00000001 Timeout |
*COM*:00000004 IntegralNick |
*COM*:00000004 IntegralNick2 |
*COM*:00000004 IntegralRoll |
*COM*:00000004 IntegralRoll2 |
*COM*:00000004 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 |
AdNeutralGier |
Mess_Integral_Gier2 |
AdNeutralRoll |
AdNeutralNick |
__udivmodhi4 |
NeutralAccY |
NeutralAccX |
NeutralAccZ |
__floatsisf |
__subsf3 |
__fixsfsi |
__divmodhi4 |
__ltsf2 |
__addsf3 |
__gtsf2 |
Mess_Integral_Hoch |
__divmodsi4 |
HoehenWert |
Delay_ms |
_printf_P |