Blame | Last modification | View Log | RSS feed
1 .file "uart.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_22
13 __vector_22:
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 8F93 push r24
21 000c 9F93 push r25
22 000e EF93 push r30
23 0010 FF93 push r31
24 /* prologue end (size=9) */
25 0012 8091 0000 lds r24,UebertragungAbgeschlossen
26 0016 8823 tst r24
27 0018 01F4 brne .L2
28 001a 8091 0000 lds r24,ptr.2090
29 001e 9091 0000 lds r25,(ptr.2090)+1
30 0022 0196 adiw r24,1
31 0024 9093 0000 sts (ptr.2090)+1,r25
32 0028 8093 0000 sts ptr.2090,r24
33 002c FC01 movw r30,r24
34 002e E050 subi r30,lo8(-(SendeBuffer))
35 0030 F040 sbci r31,hi8(-(SendeBuffer))
36 0032 E081 ld r30,Z
37 0034 ED30 cpi r30,lo8(13)
38 0036 01F0 breq .L4
39 0038 8639 cpi r24,150
40 003a 9105 cpc r25,__zero_reg__
41 003c 01F4 brne .L6
42 .L4:
43 003e 1092 0000 sts (ptr.2090)+1,__zero_reg__
44 0042 1092 0000 sts ptr.2090,__zero_reg__
45 0046 81E0 ldi r24,lo8(1)
46 0048 8093 0000 sts UebertragungAbgeschlossen,r24
47 .L6:
48 004c E093 C600 sts 198,r30
49 0050 00C0 rjmp .L8
50 .L2:
51 0052 1092 0000 sts (ptr.2090)+1,__zero_reg__
52 0056 1092 0000 sts ptr.2090,__zero_reg__
53 .L8:
54 /* epilogue: frame size=0 */
55 005a FF91 pop r31
56 005c EF91 pop r30
57 005e 9F91 pop r25
58 0060 8F91 pop r24
59 0062 0F90 pop __tmp_reg__
60 0064 0FBE out __SREG__,__tmp_reg__
61 0066 0F90 pop __tmp_reg__
62 0068 1F90 pop __zero_reg__
63 006a 1895 reti
64 /* epilogue end (size=9) */
65 /* function __vector_22 size 54 (36) */
67 .global GPSscanData
69 GPSscanData:
70 /* prologue: frame size=0 */
71 /* prologue end (size=0) */
72 006c 8091 0000 lds r24,navPosECEF+20
73 0070 8130 cpi r24,lo8(1)
74 0072 01F4 brne .L10
75 0074 8091 0000 lds r24,navPosECEF+4
76 0078 9091 0000 lds r25,(navPosECEF+4)+1
77 007c A091 0000 lds r26,(navPosECEF+4)+2
78 0080 B091 0000 lds r27,(navPosECEF+4)+3
79 0084 8093 0000 sts actualPos,r24
80 0088 9093 0000 sts (actualPos)+1,r25
81 008c A093 0000 sts (actualPos)+2,r26
82 0090 B093 0000 sts (actualPos)+3,r27
83 0094 8091 0000 lds r24,navPosECEF+8
84 0098 9091 0000 lds r25,(navPosECEF+8)+1
85 009c A091 0000 lds r26,(navPosECEF+8)+2
86 00a0 B091 0000 lds r27,(navPosECEF+8)+3
87 00a4 8093 0000 sts actualPos+4,r24
88 00a8 9093 0000 sts (actualPos+4)+1,r25
89 00ac A093 0000 sts (actualPos+4)+2,r26
90 00b0 B093 0000 sts (actualPos+4)+3,r27
91 00b4 8091 0000 lds r24,navPosECEF+12
92 00b8 9091 0000 lds r25,(navPosECEF+12)+1
93 00bc A091 0000 lds r26,(navPosECEF+12)+2
94 00c0 B091 0000 lds r27,(navPosECEF+12)+3
95 00c4 8093 0000 sts actualPos+8,r24
96 00c8 9093 0000 sts (actualPos+8)+1,r25
97 00cc A093 0000 sts (actualPos+8)+2,r26
98 00d0 B093 0000 sts (actualPos+8)+3,r27
99 00d4 1092 0000 sts navPosECEF+20,__zero_reg__
100 .L10:
101 00d8 9091 0000 lds r25,navStatus+16
102 00dc 9130 cpi r25,lo8(1)
103 00de 01F4 brne .L12
104 00e0 8091 0000 lds r24,navStatus+4
105 00e4 8093 0000 sts actualPos+45,r24
106 00e8 9093 0000 sts actualPos+44,r25
107 00ec 1092 0000 sts navStatus+16,__zero_reg__
108 .L12:
109 00f0 8091 0000 lds r24,navVelECEF+20
110 00f4 8130 cpi r24,lo8(1)
111 00f6 01F4 brne .L14
112 00f8 8091 0000 lds r24,navVelECEF+4
113 00fc 9091 0000 lds r25,(navVelECEF+4)+1
114 0100 A091 0000 lds r26,(navVelECEF+4)+2
115 0104 B091 0000 lds r27,(navVelECEF+4)+3
116 0108 8093 0000 sts actualPos+12,r24
117 010c 9093 0000 sts (actualPos+12)+1,r25
118 0110 A093 0000 sts (actualPos+12)+2,r26
119 0114 B093 0000 sts (actualPos+12)+3,r27
120 0118 8091 0000 lds r24,navVelECEF+8
121 011c 9091 0000 lds r25,(navVelECEF+8)+1
122 0120 A091 0000 lds r26,(navVelECEF+8)+2
123 0124 B091 0000 lds r27,(navVelECEF+8)+3
124 0128 8093 0000 sts actualPos+16,r24
125 012c 9093 0000 sts (actualPos+16)+1,r25
126 0130 A093 0000 sts (actualPos+16)+2,r26
127 0134 B093 0000 sts (actualPos+16)+3,r27
128 0138 8091 0000 lds r24,navVelECEF+12
129 013c 9091 0000 lds r25,(navVelECEF+12)+1
130 0140 A091 0000 lds r26,(navVelECEF+12)+2
131 0144 B091 0000 lds r27,(navVelECEF+12)+3
132 0148 8093 0000 sts actualPos+20,r24
133 014c 9093 0000 sts (actualPos+20)+1,r25
134 0150 A093 0000 sts (actualPos+20)+2,r26
135 0154 B093 0000 sts (actualPos+20)+3,r27
136 0158 1092 0000 sts navVelECEF+20,__zero_reg__
137 .L14:
138 015c 8091 0000 lds r24,navPosUtm+18
139 0160 8130 cpi r24,lo8(1)
140 0162 01F4 brne .L16
141 0164 8091 0000 lds r24,navPosUtm+8
142 0168 9091 0000 lds r25,(navPosUtm+8)+1
143 016c A091 0000 lds r26,(navPosUtm+8)+2
144 0170 B091 0000 lds r27,(navPosUtm+8)+3
145 0174 8093 0000 sts actualPos+24,r24
146 0178 9093 0000 sts (actualPos+24)+1,r25
147 017c A093 0000 sts (actualPos+24)+2,r26
148 0180 B093 0000 sts (actualPos+24)+3,r27
149 0184 8091 0000 lds r24,navPosUtm+4
150 0188 9091 0000 lds r25,(navPosUtm+4)+1
151 018c A091 0000 lds r26,(navPosUtm+4)+2
152 0190 B091 0000 lds r27,(navPosUtm+4)+3
153 0194 8093 0000 sts actualPos+28,r24
154 0198 9093 0000 sts (actualPos+28)+1,r25
155 019c A093 0000 sts (actualPos+28)+2,r26
156 01a0 B093 0000 sts (actualPos+28)+3,r27
157 01a4 8091 0000 lds r24,navPosUtm+12
158 01a8 9091 0000 lds r25,(navPosUtm+12)+1
159 01ac A091 0000 lds r26,(navPosUtm+12)+2
160 01b0 B091 0000 lds r27,(navPosUtm+12)+3
161 01b4 8093 0000 sts actualPos+32,r24
162 01b8 9093 0000 sts (actualPos+32)+1,r25
163 01bc A093 0000 sts (actualPos+32)+2,r26
164 01c0 B093 0000 sts (actualPos+32)+3,r27
165 01c4 1092 0000 sts navPosUtm+18,__zero_reg__
166 .L16:
167 01c8 8091 0000 lds r24,navVelNed+36
168 01cc 8130 cpi r24,lo8(1)
169 01ce 01F4 brne .L18
170 01d0 8091 0000 lds r24,navVelNed+4
171 01d4 9091 0000 lds r25,(navVelNed+4)+1
172 01d8 A091 0000 lds r26,(navVelNed+4)+2
173 01dc B091 0000 lds r27,(navVelNed+4)+3
174 01e0 8093 0000 sts actualPos+36,r24
175 01e4 9093 0000 sts (actualPos+36)+1,r25
176 01e8 A093 0000 sts (actualPos+36)+2,r26
177 01ec B093 0000 sts (actualPos+36)+3,r27
178 01f0 8091 0000 lds r24,navVelNed+8
179 01f4 9091 0000 lds r25,(navVelNed+8)+1
180 01f8 A091 0000 lds r26,(navVelNed+8)+2
181 01fc B091 0000 lds r27,(navVelNed+8)+3
182 0200 8093 0000 sts actualPos+40,r24
183 0204 9093 0000 sts (actualPos+40)+1,r25
184 0208 A093 0000 sts (actualPos+40)+2,r26
185 020c B093 0000 sts (actualPos+40)+3,r27
186 0210 1092 0000 sts navVelNed+36,__zero_reg__
187 .L18:
188 0214 8091 0000 lds r24,actualPos+44
189 0218 8111 cpse r24,__zero_reg__
190 021a 289A sbi 37-0x20,0
191 .L22:
192 021c 0895 ret
193 /* epilogue: frame size=0 */
194 /* epilogue: noreturn */
195 /* epilogue end (size=0) */
196 /* function GPSscanData size 218 (218) */
198 .global __vector_20
200 __vector_20:
201 /* prologue: frame size=0 */
202 021e 1F92 push __zero_reg__
203 0220 0F92 push __tmp_reg__
204 0222 0FB6 in __tmp_reg__,__SREG__
205 0224 0F92 push __tmp_reg__
206 0226 1124 clr __zero_reg__
207 0228 2F93 push r18
208 022a 3F93 push r19
209 022c 4F93 push r20
210 022e 5F93 push r21
211 0230 6F93 push r22
212 0232 7F93 push r23
213 0234 8F93 push r24
214 0236 9F93 push r25
215 0238 AF93 push r26
216 023a BF93 push r27
217 023c CF93 push r28
218 023e DF93 push r29
219 0240 EF93 push r30
220 0242 FF93 push r31
221 /* prologue end (size=19) */
222 0244 8091 C600 lds r24,198
223 0248 8093 0000 sts SioTmp,r24
224 024c 8091 C000 lds r24,192
225 0250 4091 0000 lds r20,SioTmp
226 0254 8871 andi r24,lo8(24)
227 0256 01F0 breq .+2
228 0258 00C0 rjmp .L24
229 025a 8091 0000 lds r24,gpsState
230 025e 8430 cpi r24,lo8(4)
231 0260 01F4 brne .+2
232 0262 00C0 rjmp .L31
233 0264 8530 cpi r24,lo8(5)
234 0266 00F4 brsh .L36
235 0268 8130 cpi r24,lo8(1)
236 026a 01F0 breq .L28
237 026c 8130 cpi r24,lo8(1)
238 026e 00F0 brlo .L27
239 0270 8230 cpi r24,lo8(2)
240 0272 01F0 breq .L29
241 0274 8330 cpi r24,lo8(3)
242 0276 01F0 breq .+2
243 0278 00C0 rjmp .L26
244 027a 00C0 rjmp .L30
245 .L36:
246 027c 8630 cpi r24,lo8(6)
247 027e 01F4 brne .+2
248 0280 00C0 rjmp .L33
249 0282 8630 cpi r24,lo8(6)
250 0284 00F4 brsh .+2
251 0286 00C0 rjmp .L32
252 0288 8730 cpi r24,lo8(7)
253 028a 01F4 brne .+2
254 028c 00C0 rjmp .L34
255 028e 8830 cpi r24,lo8(8)
256 0290 01F0 breq .+2
257 0292 00C0 rjmp .L26
258 0294 00C0 rjmp .L35
259 .L27:
260 0296 453B cpi r20,lo8(-75)
261 0298 01F0 breq .+2
262 029a 00C0 rjmp .L37
263 029c 81E0 ldi r24,lo8(1)
264 029e 00C0 rjmp .L85
265 .L28:
266 02a0 4236 cpi r20,lo8(98)
267 02a2 01F4 brne .L39
268 02a4 82E0 ldi r24,lo8(2)
269 .L85:
270 02a6 8093 0000 sts gpsState,r24
271 02aa 00C0 rjmp .L37
272 .L39:
273 02ac 453B cpi r20,lo8(-75)
274 02ae 01F4 brne .+2
275 02b0 00C0 rjmp .L37
276 02b2 00C0 rjmp .L26
277 .L29:
278 02b4 4130 cpi r20,lo8(1)
279 02b6 01F0 breq .+2
280 02b8 00C0 rjmp .L26
281 02ba 83E0 ldi r24,lo8(3)
282 02bc 00C0 rjmp .L85
283 .L30:
284 02be 4093 0000 sts msgID,r20
285 02c2 4F5F subi r20,lo8(-(1))
286 02c4 4093 0000 sts CK_A,r20
287 02c8 8091 0000 lds r24,CK_A
288 02cc 8F5F subi r24,lo8(-(1))
289 02ce 8093 0000 sts CK_B,r24
290 02d2 84E0 ldi r24,lo8(4)
291 02d4 8093 0000 sts gpsState,r24
292 02d8 8091 0000 lds r24,msgID
293 02dc 8830 cpi r24,lo8(8)
294 02de 01F4 brne .+2
295 02e0 00C0 rjmp .L47
296 02e2 8930 cpi r24,lo8(9)
297 02e4 00F4 brsh .L50
298 02e6 8130 cpi r24,lo8(1)
299 02e8 01F0 breq .L45
300 02ea 8330 cpi r24,lo8(3)
301 02ec 01F0 breq .+2
302 02ee 00C0 rjmp .L44
303 02f0 00C0 rjmp .L46
304 .L50:
305 02f2 8131 cpi r24,lo8(17)
306 02f4 01F0 breq .L48
307 02f6 8231 cpi r24,lo8(18)
308 02f8 01F0 breq .+2
309 02fa 00C0 rjmp .L44
310 02fc 00C0 rjmp .L49
311 .L46:
312 02fe 80E0 ldi r24,lo8(navStatus)
313 0300 90E0 ldi r25,hi8(navStatus)
314 0302 9093 0000 sts (ubxP)+1,r25
315 0306 8093 0000 sts ubxP,r24
316 030a 20E0 ldi r18,lo8(navStatus+289)
317 030c 30E0 ldi r19,hi8(navStatus+289)
318 030e 3093 0000 sts (ubxEp)+1,r19
319 0312 2093 0000 sts ubxEp,r18
320 0316 4096 adiw r24,16
321 0318 9093 0000 sts (ubxSp)+1,r25
322 031c 8093 0000 sts ubxSp,r24
323 0320 8091 0000 lds r24,navStatus+16
324 0324 00C0 rjmp .L86
325 .L45:
326 0326 80E0 ldi r24,lo8(navPosECEF)
327 0328 90E0 ldi r25,hi8(navPosECEF)
328 032a 9093 0000 sts (ubxP)+1,r25
329 032e 8093 0000 sts ubxP,r24
330 0332 20E0 ldi r18,lo8(navPosECEF+441)
331 0334 30E0 ldi r19,hi8(navPosECEF+441)
332 0336 3093 0000 sts (ubxEp)+1,r19
333 033a 2093 0000 sts ubxEp,r18
334 033e 4496 adiw r24,20
335 0340 9093 0000 sts (ubxSp)+1,r25
336 0344 8093 0000 sts ubxSp,r24
337 0348 8091 0000 lds r24,navPosECEF+20
338 034c 00C0 rjmp .L86
339 .L48:
340 034e 80E0 ldi r24,lo8(navVelECEF)
341 0350 90E0 ldi r25,hi8(navVelECEF)
342 0352 9093 0000 sts (ubxP)+1,r25
343 0356 8093 0000 sts ubxP,r24
344 035a 20E0 ldi r18,lo8(navVelECEF+441)
345 035c 30E0 ldi r19,hi8(navVelECEF+441)
346 035e 3093 0000 sts (ubxEp)+1,r19
347 0362 2093 0000 sts ubxEp,r18
348 0366 4496 adiw r24,20
349 0368 9093 0000 sts (ubxSp)+1,r25
350 036c 8093 0000 sts ubxSp,r24
351 0370 8091 0000 lds r24,navVelECEF+20
352 0374 00C0 rjmp .L86
353 .L47:
354 0376 80E0 ldi r24,lo8(navPosUtm)
355 0378 90E0 ldi r25,hi8(navPosUtm)
356 037a 9093 0000 sts (ubxP)+1,r25
357 037e 8093 0000 sts ubxP,r24
358 0382 20E0 ldi r18,lo8(navPosUtm+361)
359 0384 30E0 ldi r19,hi8(navPosUtm+361)
360 0386 3093 0000 sts (ubxEp)+1,r19
361 038a 2093 0000 sts ubxEp,r18
362 038e 4296 adiw r24,18
363 0390 9093 0000 sts (ubxSp)+1,r25
364 0394 8093 0000 sts ubxSp,r24
365 0398 8091 0000 lds r24,navPosUtm+18
366 039c 00C0 rjmp .L86
367 .L49:
368 039e 80E0 ldi r24,lo8(navVelNed)
369 03a0 90E0 ldi r25,hi8(navVelNed)
370 03a2 9093 0000 sts (ubxP)+1,r25
371 03a6 8093 0000 sts ubxP,r24
372 03aa 20E0 ldi r18,lo8(navVelNed+1369)
373 03ac 30E0 ldi r19,hi8(navVelNed+1369)
374 03ae 3093 0000 sts (ubxEp)+1,r19
375 03b2 2093 0000 sts ubxEp,r18
376 03b6 8496 adiw r24,36
377 03b8 9093 0000 sts (ubxSp)+1,r25
378 03bc 8093 0000 sts ubxSp,r24
379 03c0 8091 0000 lds r24,navVelNed+36
380 .L86:
381 03c4 8093 0000 sts ignorePacket,r24
382 03c8 00C0 rjmp .L37
383 .L44:
384 03ca 81E0 ldi r24,lo8(1)
385 03cc 8093 0000 sts ignorePacket,r24
386 03d0 1092 0000 sts (ubxSp)+1,__zero_reg__
387 03d4 1092 0000 sts ubxSp,__zero_reg__
388 03d8 00C0 rjmp .L37
389 .L31:
390 03da 842F mov r24,r20
391 03dc 9927 clr r25
392 03de 9093 0000 sts (msgLen)+1,r25
393 03e2 8093 0000 sts msgLen,r24
394 03e6 8091 0000 lds r24,CK_A
395 03ea 840F add r24,r20
396 03ec 8093 0000 sts CK_A,r24
397 03f0 8091 0000 lds r24,CK_B
398 03f4 9091 0000 lds r25,CK_A
399 03f8 890F add r24,r25
400 03fa 8093 0000 sts CK_B,r24
401 03fe 85E0 ldi r24,lo8(5)
402 0400 00C0 rjmp .L85
403 .L32:
404 0402 2091 0000 lds r18,msgLen
405 0406 3091 0000 lds r19,(msgLen)+1
406 040a 842F mov r24,r20
407 040c 9927 clr r25
408 040e 982F mov r25,r24
409 0410 8827 clr r24
410 0412 280F add r18,r24
411 0414 391F adc r19,r25
412 0416 3093 0000 sts (msgLen)+1,r19
413 041a 2093 0000 sts msgLen,r18
414 041e 8091 0000 lds r24,CK_A
415 0422 840F add r24,r20
416 0424 8093 0000 sts CK_A,r24
417 0428 8091 0000 lds r24,CK_B
418 042c 9091 0000 lds r25,CK_A
419 0430 890F add r24,r25
420 0432 8093 0000 sts CK_B,r24
421 0436 86E0 ldi r24,lo8(6)
422 0438 00C0 rjmp .L85
423 .L33:
424 043a 8091 0000 lds r24,CK_A
425 043e 840F add r24,r20
426 0440 8093 0000 sts CK_A,r24
427 0444 8091 0000 lds r24,CK_B
428 0448 9091 0000 lds r25,CK_A
429 044c 890F add r24,r25
430 044e 8093 0000 sts CK_B,r24
431 0452 8091 0000 lds r24,ignorePacket
432 0456 8823 tst r24
433 0458 01F4 brne .L51
434 045a E091 0000 lds r30,ubxP
435 045e F091 0000 lds r31,(ubxP)+1
436 0462 8091 0000 lds r24,ubxEp
437 0466 9091 0000 lds r25,(ubxEp)+1
438 046a E817 cp r30,r24
439 046c F907 cpc r31,r25
440 046e 00F4 brsh .L51
441 0470 4193 st Z+,r20
442 0472 F093 0000 sts (ubxP)+1,r31
443 0476 E093 0000 sts ubxP,r30
444 .L51:
445 047a 8091 0000 lds r24,msgLen
446 047e 9091 0000 lds r25,(msgLen)+1
447 0482 0197 sbiw r24,1
448 0484 9093 0000 sts (msgLen)+1,r25
449 0488 8093 0000 sts msgLen,r24
450 048c 8091 0000 lds r24,msgLen
451 0490 9091 0000 lds r25,(msgLen)+1
452 0494 892B or r24,r25
453 0496 01F4 brne .L37
454 0498 87E0 ldi r24,lo8(7)
455 049a 00C0 rjmp .L85
456 .L34:
457 049c 8091 0000 lds r24,CK_A
458 04a0 4817 cp r20,r24
459 04a2 01F4 brne .L26
460 04a4 88E0 ldi r24,lo8(8)
461 04a6 00C0 rjmp .L85
462 .L35:
463 04a8 8091 0000 lds r24,CK_B
464 04ac 4817 cp r20,r24
465 04ae 01F4 brne .L26
466 04b0 E091 0000 lds r30,ubxSp
467 04b4 F091 0000 lds r31,(ubxSp)+1
468 04b8 3097 sbiw r30,0
469 04ba 01F0 breq .L26
470 04bc 81E0 ldi r24,lo8(1)
471 04be 8083 st Z,r24
472 .L26:
473 04c0 1092 0000 sts gpsState,__zero_reg__
474 04c4 00C0 rjmp .L37
475 .L24:
476 04c6 1092 0000 sts gpsState,__zero_reg__
477 04ca 0E94 0000 call GPSscanData
478 .L37:
479 04ce 0E94 0000 call GPSscanData
480 04d2 4091 0000 lds r20,buf_ptr.2130
481 04d6 4639 cpi r20,lo8(-106)
482 04d8 00F0 brlo .L60
483 04da 1092 0000 sts UartState.2131,__zero_reg__
484 .L60:
485 04de 8091 0000 lds r24,SioTmp
486 04e2 8D30 cpi r24,lo8(13)
487 04e4 01F0 breq .+2
488 04e6 00C0 rjmp .L62
489 04e8 8091 0000 lds r24,UartState.2131
490 04ec 8230 cpi r24,lo8(2)
491 04ee 01F0 breq .+2
492 04f0 00C0 rjmp .L62
493 04f2 1092 0000 sts UartState.2131,__zero_reg__
494 04f6 A42F mov r26,r20
495 04f8 BB27 clr r27
496 04fa FD01 movw r30,r26
497 04fc E050 subi r30,lo8(-(RxdBuffer-2))
498 04fe F040 sbci r31,hi8(-(RxdBuffer-2))
499 0500 3081 ld r19,Z
500 0502 ED01 movw r28,r26
501 0504 C050 subi r28,lo8(-(RxdBuffer-1))
502 0506 D040 sbci r29,hi8(-(RxdBuffer-1))
503 0508 2881 ld r18,Y
504 050a 8091 0000 lds r24,crc.2127
505 050e 9091 0000 lds r25,(crc.2127)+1
506 0512 831B sub r24,r19
507 0514 9109 sbc r25,__zero_reg__
508 0516 821B sub r24,r18
509 0518 9109 sbc r25,__zero_reg__
510 051a 9F70 andi r25,hi8(4095)
511 051c 9093 0000 sts (crc.2127)+1,r25
512 0520 8093 0000 sts crc.2127,r24
513 0524 9C01 movw r18,r24
514 0526 96E0 ldi r25,6
515 0528 3695 1: lsr r19
516 052a 2795 ror r18
517 052c 9A95 dec r25
518 052e 01F4 brne 1b
519 0530 235C subi r18,lo8(-(61))
520 0532 2093 0000 sts crc1.2128,r18
521 0536 982F mov r25,r24
522 0538 9F73 andi r25,lo8(63)
523 053a 935C subi r25,lo8(-(61))
524 053c 9093 0000 sts crc2.2129,r25
525 0540 8081 ld r24,Z
526 0542 2817 cp r18,r24
527 0544 01F4 brne .L65
528 0546 8881 ld r24,Y
529 0548 9817 cp r25,r24
530 054a 01F4 brne .L65
531 054c 91E0 ldi r25,lo8(1)
532 054e 00C0 rjmp .L68
533 .L65:
534 0550 8091 0000 lds r24,CntCrcError
535 0554 8F5F subi r24,lo8(-(1))
536 0556 8093 0000 sts CntCrcError,r24
537 055a 90E0 ldi r25,lo8(0)
538 .L68:
539 055c 8091 0000 lds r24,NeuerDatensatzEmpfangen
540 0560 8823 tst r24
541 0562 01F0 breq .+2
542 0564 00C0 rjmp .L83
543 0566 9923 tst r25
544 0568 01F4 brne .+2
545 056a 00C0 rjmp .L83
546 056c 81E0 ldi r24,lo8(1)
547 056e 8093 0000 sts NeuerDatensatzEmpfangen,r24
548 0572 4093 0000 sts AnzahlEmpfangsBytes,r20
549 0576 A050 subi r26,lo8(-(RxdBuffer))
550 0578 B040 sbci r27,hi8(-(RxdBuffer))
551 057a 8DE0 ldi r24,lo8(13)
552 057c 8C93 st X,r24
553 057e 8091 0000 lds r24,RxdBuffer+2
554 0582 8235 cpi r24,lo8(82)
555 0584 01F0 breq .+2
556 0586 00C0 rjmp .L83
557 0588 88E1 ldi r24,lo8(24)
558 058a 90E0 ldi r25,hi8(24)
559 058c 2CE0 ldi r18,lo8(12)
560 /* #APP */
561 058e 0FB6 in __tmp_reg__,__SREG__
562 0590 F894 cli
563 0592 A895 wdr
564 0594 8093 6000 sts 96,r24
565 0598 0FBE out __SREG__,__tmp_reg__
566 059a 2093 6000 sts 96,r18
567 /* #NOAPP */
568 059e 00C0 rjmp .L83
569 .L62:
570 05a0 8091 0000 lds r24,UartState.2131
571 05a4 8130 cpi r24,lo8(1)
572 05a6 01F0 breq .L75
573 05a8 8130 cpi r24,lo8(1)
574 05aa 00F0 brlo .L74
575 05ac 8230 cpi r24,lo8(2)
576 05ae 01F4 brne .L84
577 05b0 00C0 rjmp .L76
578 .L74:
579 05b2 8091 0000 lds r24,SioTmp
580 05b6 8332 cpi r24,lo8(35)
581 05b8 01F4 brne .L77
582 05ba 8091 0000 lds r24,NeuerDatensatzEmpfangen
583 05be 8823 tst r24
584 05c0 01F4 brne .L77
585 05c2 81E0 ldi r24,lo8(1)
586 05c4 8093 0000 sts UartState.2131,r24
587 .L77:
588 05c8 8091 0000 lds r24,SioTmp
589 05cc 8093 0000 sts RxdBuffer,r24
590 05d0 81E0 ldi r24,lo8(1)
591 05d2 8093 0000 sts buf_ptr.2130,r24
592 05d6 8091 0000 lds r24,SioTmp
593 05da 9927 clr r25
594 05dc 00C0 rjmp .L87
595 .L75:
596 05de 82E0 ldi r24,lo8(2)
597 05e0 8093 0000 sts UartState.2131,r24
598 05e4 E42F mov r30,r20
599 05e6 FF27 clr r31
600 05e8 8091 0000 lds r24,SioTmp
601 05ec E050 subi r30,lo8(-(RxdBuffer))
602 05ee F040 sbci r31,hi8(-(RxdBuffer))
603 05f0 8083 st Z,r24
604 .L89:
605 05f2 4F5F subi r20,lo8(-(1))
606 05f4 4093 0000 sts buf_ptr.2130,r20
607 .L88:
608 05f8 2091 0000 lds r18,SioTmp
609 05fc 8091 0000 lds r24,crc.2127
610 0600 9091 0000 lds r25,(crc.2127)+1
611 0604 820F add r24,r18
612 0606 911D adc r25,__zero_reg__
613 .L87:
614 0608 9093 0000 sts (crc.2127)+1,r25
615 060c 8093 0000 sts crc.2127,r24
616 0610 00C0 rjmp .L83
617 .L76:
618 0612 E42F mov r30,r20
619 0614 FF27 clr r31
620 0616 8091 0000 lds r24,SioTmp
621 061a E050 subi r30,lo8(-(RxdBuffer))
622 061c F040 sbci r31,hi8(-(RxdBuffer))
623 061e 8083 st Z,r24
624 0620 4639 cpi r20,lo8(-106)
625 0622 00F0 brlo .L89
626 0624 1092 0000 sts UartState.2131,__zero_reg__
627 0628 00C0 rjmp .L88
628 .L84:
629 062a 1092 0000 sts UartState.2131,__zero_reg__
630 .L83:
631 /* epilogue: frame size=0 */
632 062e FF91 pop r31
633 0630 EF91 pop r30
634 0632 DF91 pop r29
635 0634 CF91 pop r28
636 0636 BF91 pop r27
637 0638 AF91 pop r26
638 063a 9F91 pop r25
639 063c 8F91 pop r24
640 063e 7F91 pop r23
641 0640 6F91 pop r22
642 0642 5F91 pop r21
643 0644 4F91 pop r20
644 0646 3F91 pop r19
645 0648 2F91 pop r18
646 064a 0F90 pop __tmp_reg__
647 064c 0FBE out __SREG__,__tmp_reg__
648 064e 0F90 pop __tmp_reg__
649 0650 1F90 pop __zero_reg__
650 0652 1895 reti
651 /* epilogue end (size=19) */
652 /* function __vector_20 size 545 (507) */
654 .global AddCRC
656 AddCRC:
657 /* prologue: frame size=0 */
658 /* prologue end (size=0) */
659 0654 DC01 movw r26,r24
660 0656 20E0 ldi r18,lo8(0)
661 0658 30E0 ldi r19,hi8(0)
662 065a 40E0 ldi r20,lo8(0)
663 065c 50E0 ldi r21,hi8(0)
664 065e E0E0 ldi r30,lo8(SendeBuffer)
665 0660 F0E0 ldi r31,hi8(SendeBuffer)
666 0662 00C0 rjmp .L91
667 .L92:
668 0664 8191 ld r24,Z+
669 0666 280F add r18,r24
670 0668 311D adc r19,__zero_reg__
671 066a 4F5F subi r20,lo8(-(1))
672 066c 5F4F sbci r21,hi8(-(1))
673 .L91:
674 066e 4A17 cp r20,r26
675 0670 5B07 cpc r21,r27
676 0672 01F4 brne .L92
677 0674 3F70 andi r19,hi8(4095)
678 0676 C901 movw r24,r18
679 0678 66E0 ldi r22,6
680 067a 9695 1: lsr r25
681 067c 8795 ror r24
682 067e 6A95 dec r22
683 0680 01F4 brne 1b
684 0682 835C subi r24,lo8(-(61))
685 0684 FD01 movw r30,r26
686 0686 E050 subi r30,lo8(-(SendeBuffer))
687 0688 F040 sbci r31,hi8(-(SendeBuffer))
688 068a 8083 st Z,r24
689 068c 1196 adiw r26,1
690 068e 2F73 andi r18,lo8(63)
691 0690 235C subi r18,lo8(-(61))
692 0692 FD01 movw r30,r26
693 0694 E050 subi r30,lo8(-(SendeBuffer))
694 0696 F040 sbci r31,hi8(-(SendeBuffer))
695 0698 2083 st Z,r18
696 069a A050 subi r26,lo8(-(SendeBuffer+1))
697 069c B040 sbci r27,hi8(-(SendeBuffer+1))
698 069e 8DE0 ldi r24,lo8(13)
699 06a0 8C93 st X,r24
700 06a2 1092 0000 sts UebertragungAbgeschlossen,__zero_reg__
701 06a6 8091 0000 lds r24,SendeBuffer
702 06aa 8093 C600 sts 198,r24
703 /* epilogue: frame size=0 */
704 06ae 0895 ret
705 /* epilogue end (size=1) */
706 /* function AddCRC size 47 (46) */
708 .global SendOutData
710 SendOutData:
711 /* prologue: frame size=0 */
712 06b0 EF92 push r14
713 06b2 FF92 push r15
714 06b4 0F93 push r16
715 06b6 1F93 push r17
716 06b8 CF93 push r28
717 06ba DF93 push r29
718 /* prologue end (size=6) */
719 06bc 7A01 movw r14,r20
720 06be 722F mov r23,r18
721 06c0 93E2 ldi r25,lo8(35)
722 06c2 9093 0000 sts SendeBuffer,r25
723 06c6 6093 0000 sts SendeBuffer+1,r22
724 06ca 8093 0000 sts SendeBuffer+2,r24
725 06ce 03E0 ldi r16,lo8(3)
726 06d0 10E0 ldi r17,hi8(3)
727 06d2 60E0 ldi r22,lo8(0)
728 06d4 A0E0 ldi r26,lo8(SendeBuffer+3)
729 06d6 B0E0 ldi r27,hi8(SendeBuffer+3)
730 06d8 00C0 rjmp .L96
731 .L97:
732 06da F701 movw r30,r14
733 06dc E60F add r30,r22
734 06de F11D adc r31,__zero_reg__
735 06e0 9081 ld r25,Z
736 06e2 6F5F subi r22,lo8(-(1))
737 06e4 7150 subi r23,lo8(-(-1))
738 06e6 01F4 brne .L98
739 06e8 E0E0 ldi r30,lo8(0)
740 06ea 40E0 ldi r20,lo8(0)
741 06ec 00C0 rjmp .L100
742 .L98:
743 06ee F701 movw r30,r14
744 06f0 E60F add r30,r22
745 06f2 F11D adc r31,__zero_reg__
746 06f4 4081 ld r20,Z
747 06f6 6F5F subi r22,lo8(-(1))
748 06f8 7150 subi r23,lo8(-(-1))
749 06fa 01F4 brne .L101
750 06fc E0E0 ldi r30,lo8(0)
751 06fe 00C0 rjmp .L100
752 .L101:
753 0700 F701 movw r30,r14
754 0702 E60F add r30,r22
755 0704 F11D adc r31,__zero_reg__
756 0706 E081 ld r30,Z
757 0708 6F5F subi r22,lo8(-(1))
758 070a 7150 subi r23,lo8(-(-1))
759 .L100:
760 070c 892F mov r24,r25
761 070e 8695 lsr r24
762 0710 8695 lsr r24
763 0712 835C subi r24,lo8(-(61))
764 0714 8C93 st X,r24
765 0716 5527 clr r21
766 0718 892F mov r24,r25
767 071a 9927 clr r25
768 071c 8370 andi r24,lo8(3)
769 071e 9070 andi r25,hi8(3)
770 0720 24E0 ldi r18,4
771 0722 880F 1: lsl r24
772 0724 991F rol r25
773 0726 2A95 dec r18
774 0728 01F4 brne 1b
775 072a 9A01 movw r18,r20
776 072c 94E0 ldi r25,4
777 072e 3695 1: lsr r19
778 0730 2795 ror r18
779 0732 9A95 dec r25
780 0734 01F4 brne 1b
781 0736 822B or r24,r18
782 0738 835C subi r24,lo8(-(61))
783 073a ED01 movw r28,r26
784 073c 8983 std Y+1,r24
785 073e 4F70 andi r20,lo8(15)
786 0740 5070 andi r21,hi8(15)
787 0742 440F lsl r20
788 0744 551F rol r21
789 0746 440F lsl r20
790 0748 551F rol r21
791 074a 8E2F mov r24,r30
792 074c 8295 swap r24
793 074e 8695 lsr r24
794 0750 8695 lsr r24
795 0752 8370 andi r24,0x3
796 0754 842B or r24,r20
797 0756 835C subi r24,lo8(-(61))
798 0758 8A83 std Y+2,r24
799 075a EF73 andi r30,lo8(63)
800 075c E35C subi r30,lo8(-(61))
801 075e EB83 std Y+3,r30
802 0760 0C5F subi r16,lo8(-(4))
803 0762 1F4F sbci r17,hi8(-(4))
804 0764 1496 adiw r26,4
805 .L96:
806 0766 7723 tst r23
807 0768 01F0 breq .+2
808 076a 00C0 rjmp .L97
809 076c C801 movw r24,r16
810 076e 0E94 0000 call AddCRC
811 /* epilogue: frame size=0 */
812 0772 DF91 pop r29
813 0774 CF91 pop r28
814 0776 1F91 pop r17
815 0778 0F91 pop r16
816 077a FF90 pop r15
817 077c EF90 pop r14
818 077e 0895 ret
819 /* epilogue end (size=7) */
820 /* function SendOutData size 106 (93) */
822 .global Decode64
824 Decode64:
825 /* prologue: frame size=0 */
826 0780 1F93 push r17
827 0782 CF93 push r28
828 0784 DF93 push r29
829 /* prologue end (size=3) */
830 0786 EC01 movw r28,r24
831 0788 70E0 ldi r23,lo8(0)
832 078a A22F mov r26,r18
833 078c BB27 clr r27
834 078e 1297 sbiw r26,2
835 0790 00C0 rjmp .L106
836 .L107:
837 0792 E42F mov r30,r20
838 0794 FF27 clr r31
839 0796 E050 subi r30,lo8(-(RxdBuffer))
840 0798 F040 sbci r31,hi8(-(RxdBuffer))
841 079a 3081 ld r19,Z
842 079c 4F5F subi r20,lo8(-(1))
843 079e E42F mov r30,r20
844 07a0 FF27 clr r31
845 07a2 E050 subi r30,lo8(-(RxdBuffer))
846 07a4 F040 sbci r31,hi8(-(RxdBuffer))
847 07a6 5081 ld r21,Z
848 07a8 4F5F subi r20,lo8(-(1))
849 07aa E42F mov r30,r20
850 07ac FF27 clr r31
851 07ae E050 subi r30,lo8(-(RxdBuffer))
852 07b0 F040 sbci r31,hi8(-(RxdBuffer))
853 07b2 1081 ld r17,Z
854 07b4 4F5F subi r20,lo8(-(1))
855 07b6 E42F mov r30,r20
856 07b8 FF27 clr r31
857 07ba E050 subi r30,lo8(-(RxdBuffer))
858 07bc F040 sbci r31,hi8(-(RxdBuffer))
859 07be 2081 ld r18,Z
860 07c0 4F5F subi r20,lo8(-(1))
861 07c2 842F mov r24,r20
862 07c4 9927 clr r25
863 07c6 A817 cp r26,r24
864 07c8 B907 cpc r27,r25
865 07ca 04F0 brlt .L112
866 07cc 5D53 subi r21,lo8(-(-61))
867 07ce FE01 movw r30,r28
868 07d0 E70F add r30,r23
869 07d2 F11D adc r31,__zero_reg__
870 07d4 3D53 subi r19,lo8(-(-61))
871 07d6 330F lsl r19
872 07d8 330F lsl r19
873 07da 852F mov r24,r21
874 07dc 8295 swap r24
875 07de 8F70 andi r24,0x0f
876 07e0 382B or r19,r24
877 07e2 3083 st Z,r19
878 07e4 6130 cpi r22,lo8(1)
879 07e6 01F0 breq .L112
880 07e8 912F mov r25,r17
881 07ea 9D53 subi r25,lo8(-(-61))
882 07ec 7F5F subi r23,lo8(-(1))
883 07ee FE01 movw r30,r28
884 07f0 E70F add r30,r23
885 07f2 F11D adc r31,__zero_reg__
886 07f4 7150 subi r23,lo8(-(-1))
887 07f6 5295 swap r21
888 07f8 507F andi r21,0xf0
889 07fa 892F mov r24,r25
890 07fc 8695 lsr r24
891 07fe 8695 lsr r24
892 0800 582B or r21,r24
893 0802 5083 st Z,r21
894 0804 6350 subi r22,lo8(-(-3))
895 0806 6F3F cpi r22,lo8(-1)
896 0808 01F0 breq .L112
897 080a 7E5F subi r23,lo8(-(2))
898 080c FE01 movw r30,r28
899 080e E70F add r30,r23
900 0810 F11D adc r31,__zero_reg__
901 0812 9295 swap r25
902 0814 990F lsl r25
903 0816 990F lsl r25
904 0818 907C andi r25,0xc0
905 081a 2D53 subi r18,lo8(-(-61))
906 081c 922B or r25,r18
907 081e 9083 st Z,r25
908 0820 7F5F subi r23,lo8(-(1))
909 .L106:
910 0822 6623 tst r22
911 0824 01F0 breq .+2
912 0826 00C0 rjmp .L107
913 .L112:
914 /* epilogue: frame size=0 */
915 0828 DF91 pop r29
916 082a CF91 pop r28
917 082c 1F91 pop r17
918 082e 0895 ret
919 /* epilogue end (size=4) */
920 /* function Decode64 size 88 (81) */
922 .global uart_putchar
924 uart_putchar:
925 /* prologue: frame size=0 */
926 0830 1F93 push r17
927 /* prologue end (size=1) */
928 0832 182F mov r17,r24
929 0834 8A30 cpi r24,lo8(10)
930 0836 01F4 brne .L118
931 0838 8DE0 ldi r24,lo8(13)
932 083a 0E94 0000 call uart_putchar
933 .L118:
934 083e 8091 C000 lds r24,192
935 0842 85FF sbrs r24,5
936 0844 00C0 rjmp .L118
937 0846 1093 C600 sts 198,r17
938 084a 80E0 ldi r24,lo8(0)
939 084c 90E0 ldi r25,hi8(0)
940 /* epilogue: frame size=0 */
941 084e 1F91 pop r17
942 0850 0895 ret
943 /* epilogue end (size=2) */
944 /* function uart_putchar size 17 (14) */
946 .global WriteProgramData
948 WriteProgramData:
949 /* prologue: frame size=0 */
950 /* prologue end (size=0) */
951 /* epilogue: frame size=0 */
952 0852 0895 ret
953 /* epilogue end (size=1) */
954 /* function WriteProgramData size 1 (0) */
956 .global UART_Init
958 UART_Init:
959 /* prologue: frame size=0 */
960 /* prologue end (size=0) */
961 0854 E1EC ldi r30,lo8(193)
962 0856 F0E0 ldi r31,hi8(193)
963 0858 88E1 ldi r24,lo8(24)
964 085a 8083 st Z,r24
965 085c A0EC ldi r26,lo8(192)
966 085e B0E0 ldi r27,hi8(192)
967 0860 8C91 ld r24,X
968 0862 8260 ori r24,lo8(2)
969 0864 8C93 st X,r24
970 0866 8081 ld r24,Z
971 0868 8068 ori r24,lo8(-128)
972 086a 8083 st Z,r24
973 086c 8081 ld r24,Z
974 086e 8064 ori r24,lo8(64)
975 0870 8083 st Z,r24
976 0872 8AE2 ldi r24,lo8(42)
977 0874 8093 C400 sts 196,r24
978 0878 88EC ldi r24,lo8(200)
979 087a 90E0 ldi r25,hi8(200)
980 087c 0E94 0000 call SetDelay
981 0880 9093 0000 sts (Debug_Timer)+1,r25
982 0884 8093 0000 sts Debug_Timer,r24
983 0888 1092 0000 sts gpsState,__zero_reg__
984 /* epilogue: frame size=0 */
985 088c 0895 ret
986 /* epilogue end (size=1) */
987 /* function UART_Init size 29 (28) */
989 .global DatenUebertragung
991 DatenUebertragung:
992 /* prologue: frame size=0 */
993 /* prologue end (size=0) */
994 088e 8091 0000 lds r24,UebertragungAbgeschlossen
995 0892 8823 tst r24
996 0894 01F4 brne .+2
997 0896 00C0 rjmp .L142
998 0898 8091 0000 lds r24,DebugGetAnforderung
999 089c 8823 tst r24
1000 089e 01F0 breq .L128
1001 08a0 8091 0000 lds r24,UebertragungAbgeschlossen
1002 08a4 8823 tst r24
1003 08a6 01F0 breq .L128
1004 08a8 2BE0 ldi r18,lo8(11)
1005 08aa 40E0 ldi r20,lo8(DebugIn)
1006 08ac 50E0 ldi r21,hi8(DebugIn)
1007 08ae 6091 0000 lds r22,MeineSlaveAdresse
1008 08b2 87E4 ldi r24,lo8(71)
1009 08b4 0E94 0000 call SendOutData
1010 08b8 1092 0000 sts DebugGetAnforderung,__zero_reg__
1011 .L128:
1012 08bc 8091 0000 lds r24,Debug_Timer
1013 08c0 9091 0000 lds r25,(Debug_Timer)+1
1014 08c4 0E94 0000 call CheckDelay
1015 08c8 8823 tst r24
1016 08ca 01F4 brne .L131
1017 08cc 8091 0000 lds r24,DebugDataAnforderung
1018 08d0 8823 tst r24
1019 08d2 01F0 breq .L133
1020 .L131:
1021 08d4 8091 0000 lds r24,UebertragungAbgeschlossen
1022 08d8 8823 tst r24
1023 08da 01F0 breq .L133
1024 08dc 22E3 ldi r18,lo8(50)
1025 08de 40E0 ldi r20,lo8(DebugOut)
1026 08e0 50E0 ldi r21,hi8(DebugOut)
1027 08e2 6091 0000 lds r22,MeineSlaveAdresse
1028 08e6 84E4 ldi r24,lo8(68)
1029 08e8 0E94 0000 call SendOutData
1030 08ec 1092 0000 sts DebugDataAnforderung,__zero_reg__
1031 08f0 8AEF ldi r24,lo8(250)
1032 08f2 90E0 ldi r25,hi8(250)
1033 08f4 0E94 0000 call SetDelay
1034 08f8 9093 0000 sts (Debug_Timer)+1,r25
1035 08fc 8093 0000 sts Debug_Timer,r24
1036 .L133:
1037 0900 8091 0000 lds r24,DebugDisplayAnforderung
1038 0904 8823 tst r24
1039 0906 01F0 breq .L135
1040 0908 8091 0000 lds r24,UebertragungAbgeschlossen
1041 090c 8823 tst r24
1042 090e 01F0 breq .L135
1043 0910 0E94 0000 call Menu
1044 0914 1092 0000 sts DebugDisplayAnforderung,__zero_reg__
1045 0918 8091 0000 lds r24,dis_zeile.2453
1046 091c 8F5F subi r24,lo8(-(1))
1047 091e 8093 0000 sts dis_zeile.2453,r24
1048 0922 8430 cpi r24,lo8(4)
1049 0924 01F4 brne .L138
1050 0926 1092 0000 sts dis_zeile.2453,__zero_reg__
1051 .L138:
1052 092a 8091 0000 lds r24,dis_zeile.2453
1053 092e 44E1 ldi r20,lo8(20)
1054 0930 849F mul r24,r20
1055 0932 A001 movw r20,r0
1056 0934 1124 clr r1
1057 0936 4050 subi r20,lo8(-(DisplayBuff))
1058 0938 5040 sbci r21,hi8(-(DisplayBuff))
1059 093a 24E1 ldi r18,lo8(20)
1060 093c 60E0 ldi r22,lo8(0)
1061 093e 805D subi r24,lo8(-(48))
1062 0940 0E94 0000 call SendOutData
1063 .L135:
1064 0944 8091 0000 lds r24,GetVersionAnforderung
1065 0948 8823 tst r24
1066 094a 01F0 breq .L142
1067 094c 8091 0000 lds r24,UebertragungAbgeschlossen
1068 0950 8823 tst r24
1069 0952 01F0 breq .L142
1070 0954 2AE0 ldi r18,lo8(10)
1071 0956 40E0 ldi r20,lo8(VersionInfo)
1072 0958 50E0 ldi r21,hi8(VersionInfo)
1073 095a 6091 0000 lds r22,MeineSlaveAdresse
1074 095e 86E5 ldi r24,lo8(86)
1075 0960 0E94 0000 call SendOutData
1076 0964 1092 0000 sts GetVersionAnforderung,__zero_reg__
1077 .L142:
1078 0968 0895 ret
1079 /* epilogue: frame size=0 */
1080 /* epilogue: noreturn */
1081 /* epilogue end (size=0) */
1082 /* function DatenUebertragung size 110 (110) */
1084 .global BearbeiteRxDaten
1086 BearbeiteRxDaten:
1087 /* prologue: frame size=2 */
1088 096a 1F93 push r17
1089 096c CF93 push r28
1090 096e DF93 push r29
1091 0970 CDB7 in r28,__SP_L__
1092 0972 DEB7 in r29,__SP_H__
1093 0974 2297 sbiw r28,2
1094 0976 0FB6 in __tmp_reg__,__SREG__
1095 0978 F894 cli
1096 097a DEBF out __SP_H__,r29
1097 097c 0FBE out __SREG__,__tmp_reg__
1098 097e CDBF out __SP_L__,r28
1099 /* prologue end (size=11) */
1100 0980 8091 0000 lds r24,NeuerDatensatzEmpfangen
1101 0984 8823 tst r24
1102 0986 01F4 brne .+2
1103 0988 00C0 rjmp .L159
1104 098a 8FEF ldi r24,lo8(-1)
1105 098c 8093 0000 sts PcZugriff,r24
1106 0990 8091 0000 lds r24,RxdBuffer+2
1107 0994 8137 cpi r24,lo8(113)
1108 0996 00F4 brsh .L154
1109 0998 8C36 cpi r24,lo8(108)
1110 099a 00F0 brlo .+2
1111 099c 00C0 rjmp .L150
1112 099e 8736 cpi r24,lo8(103)
1113 09a0 01F4 brne .+2
1114 09a2 00C0 rjmp .L148
1115 09a4 8836 cpi r24,lo8(104)
1116 09a6 01F0 breq .L149
1117 09a8 8336 cpi r24,lo8(99)
1118 09aa 01F0 breq .+2
1119 09ac 00C0 rjmp .L146
1120 09ae 00C0 rjmp .L147
1121 .L154:
1122 09b0 8437 cpi r24,lo8(116)
1123 09b2 01F0 breq .L152
1124 09b4 8637 cpi r24,lo8(118)
1125 09b6 01F0 breq .L153
1126 09b8 8137 cpi r24,lo8(113)
1127 09ba 01F0 breq .+2
1128 09bc 00C0 rjmp .L146
1129 09be 00C0 rjmp .L151
1130 .L147:
1131 09c0 2091 0000 lds r18,AnzahlEmpfangsBytes
1132 09c4 43E0 ldi r20,lo8(3)
1133 09c6 6BE0 ldi r22,lo8(11)
1134 09c8 80E0 ldi r24,lo8(DebugIn)
1135 09ca 90E0 ldi r25,hi8(DebugIn)
1136 09cc 0E94 0000 call Decode64
1137 09d0 8091 0000 lds r24,RemoteTasten
1138 09d4 9091 0000 lds r25,DebugIn+2
1139 09d8 892B or r24,r25
1140 09da 8093 0000 sts RemoteTasten,r24
1141 09de 81E0 ldi r24,lo8(1)
1142 09e0 8093 0000 sts DebugDataAnforderung,r24
1143 09e4 00C0 rjmp .L146
1144 .L149:
1145 09e6 2091 0000 lds r18,AnzahlEmpfangsBytes
1146 09ea 43E0 ldi r20,lo8(3)
1147 09ec 62E0 ldi r22,lo8(2)
1148 09ee CE01 movw r24,r28
1149 09f0 0196 adiw r24,1
1150 09f2 0E94 0000 call Decode64
1151 09f6 8091 0000 lds r24,RemoteTasten
1152 09fa 9981 ldd r25,Y+1
1153 09fc 892B or r24,r25
1154 09fe 8093 0000 sts RemoteTasten,r24
1155 0a02 81E0 ldi r24,lo8(1)
1156 0a04 8093 0000 sts DebugDisplayAnforderung,r24
1157 0a08 00C0 rjmp .L146
1158 .L152:
1159 0a0a 2091 0000 lds r18,AnzahlEmpfangsBytes
1160 0a0e 43E0 ldi r20,lo8(3)
1161 0a10 64E0 ldi r22,lo8(4)
1162 0a12 80E0 ldi r24,lo8(MotorTest)
1163 0a14 90E0 ldi r25,hi8(MotorTest)
1164 0a16 0E94 0000 call Decode64
1165 0a1a 00C0 rjmp .L146
1166 .L153:
1167 0a1c 81E0 ldi r24,lo8(1)
1168 0a1e 8093 0000 sts GetVersionAnforderung,r24
1169 0a22 00C0 rjmp .L146
1170 .L148:
1171 0a24 81E0 ldi r24,lo8(1)
1172 0a26 8093 0000 sts DebugGetAnforderung,r24
1173 0a2a 00C0 rjmp .L146
1174 .L151:
1175 0a2c 2091 0000 lds r18,AnzahlEmpfangsBytes
1176 0a30 43E0 ldi r20,lo8(3)
1177 0a32 62E0 ldi r22,lo8(2)
1178 0a34 CE01 movw r24,r28
1179 0a36 0196 adiw r24,1
1180 0a38 0E94 0000 call Decode64
1181 0a3c 8981 ldd r24,Y+1
1182 0a3e 8F3F cpi r24,lo8(-1)
1183 0a40 01F0 breq .L155
1184 0a42 8630 cpi r24,lo8(6)
1185 0a44 00F0 brlo .L157
1186 0a46 85E0 ldi r24,lo8(5)
1187 0a48 8983 std Y+1,r24
1188 .L157:
1189 0a4a 4AE3 ldi r20,lo8(58)
1190 0a4c 60E0 ldi r22,lo8(EE_Parameter)
1191 0a4e 70E0 ldi r23,hi8(EE_Parameter)
1192 0a50 8981 ldd r24,Y+1
1193 0a52 0E94 0000 call ReadParameterSet
1194 0a56 8981 ldd r24,Y+1
1195 0a58 2AE3 ldi r18,lo8(58)
1196 0a5a 40E0 ldi r20,lo8(EE_Parameter)
1197 0a5c 50E0 ldi r21,hi8(EE_Parameter)
1198 0a5e 6091 0000 lds r22,MeineSlaveAdresse
1199 0a62 00C0 rjmp .L160
1200 .L155:
1201 0a64 1091 0000 lds r17,MeineSlaveAdresse
1202 0a68 0E94 0000 call GetActiveParamSetNumber
1203 0a6c 2AE3 ldi r18,lo8(58)
1204 0a6e 40E0 ldi r20,lo8(EE_Parameter)
1205 0a70 50E0 ldi r21,hi8(EE_Parameter)
1206 0a72 612F mov r22,r17
1207 .L160:
1208 0a74 855B subi r24,lo8(-(75))
1209 0a76 0E94 0000 call SendOutData
1210 0a7a 00C0 rjmp .L146
1211 .L150:
1212 0a7c 2091 0000 lds r18,AnzahlEmpfangsBytes
1213 0a80 43E0 ldi r20,lo8(3)
1214 0a82 6AE3 ldi r22,lo8(58)
1215 0a84 80E0 ldi r24,lo8(EE_Parameter)
1216 0a86 90E0 ldi r25,hi8(EE_Parameter)
1217 0a88 0E94 0000 call Decode64
1218 0a8c 8091 0000 lds r24,RxdBuffer+2
1219 0a90 4AE3 ldi r20,lo8(58)
1220 0a92 60E0 ldi r22,lo8(EE_Parameter)
1221 0a94 70E0 ldi r23,hi8(EE_Parameter)
1222 0a96 8B56 subi r24,lo8(-(-107))
1223 0a98 0E94 0000 call WriteParameterSet
1224 0a9c 8091 0000 lds r24,RxdBuffer+2
1225 0aa0 8B56 subi r24,lo8(-(-107))
1226 0aa2 A0E0 ldi r26,lo8(EEPromArray+2)
1227 0aa4 B0E0 ldi r27,hi8(EEPromArray+2)
1228 /* #APP */
1229 0aa6 082E mov __tmp_reg__,r24
1230 0aa8 0E94 0000 call __eeprom_write_byte_1F2021
1231 /* #NOAPP */
1232 0aac 0E94 0000 call GetActiveParamSetNumber
1233 0ab0 0E94 0000 call Piep
1234 .L146:
1235 0ab4 1092 0000 sts NeuerDatensatzEmpfangen,__zero_reg__
1236 .L159:
1237 /* epilogue: frame size=2 */
1238 0ab8 2296 adiw r28,2
1239 0aba 0FB6 in __tmp_reg__,__SREG__
1240 0abc F894 cli
1241 0abe DEBF out __SP_H__,r29
1242 0ac0 0FBE out __SREG__,__tmp_reg__
1243 0ac2 CDBF out __SP_L__,r28
1244 0ac4 DF91 pop r29
1245 0ac6 CF91 pop r28
1246 0ac8 1F91 pop r17
1247 0aca 0895 ret
1248 /* epilogue end (size=10) */
1249 /* function BearbeiteRxDaten size 178 (157) */
1251 .global DebugGetAnforderung
1252 .global DebugGetAnforderung
1253 .section .bss
1256 DebugGetAnforderung:
1257 0000 00 .skip 1,0
1258 .global DebugDisplayAnforderung
1259 .global DebugDisplayAnforderung
1262 DebugDisplayAnforderung:
1263 0001 00 .skip 1,0
1264 .global DebugDataAnforderung
1265 .global DebugDataAnforderung
1268 DebugDataAnforderung:
1269 0002 00 .skip 1,0
1270 .global GetVersionAnforderung
1271 .global GetVersionAnforderung
1274 GetVersionAnforderung:
1275 0003 00 .skip 1,0
1276 .global SioTmp
1277 .global SioTmp
1280 SioTmp:
1281 0004 00 .skip 1,0
1282 .global NeuerDatensatzEmpfangen
1283 .global NeuerDatensatzEmpfangen
1286 NeuerDatensatzEmpfangen:
1287 0005 00 .skip 1,0
1288 .global NeueKoordinateEmpfangen
1289 .global NeueKoordinateEmpfangen
1292 NeueKoordinateEmpfangen:
1293 0006 00 .skip 1,0
1294 .global UebertragungAbgeschlossen
1295 .data
1298 UebertragungAbgeschlossen:
1299 0000 01 .byte 1
1300 .global CntCrcError
1301 .global CntCrcError
1302 .section .bss
1305 CntCrcError:
1306 0007 00 .skip 1,0
1307 .global AnzahlEmpfangsBytes
1308 .global AnzahlEmpfangsBytes
1311 AnzahlEmpfangsBytes:
1312 0008 00 .skip 1,0
1313 .global PC_DebugTimeout
1314 .global PC_DebugTimeout
1317 PC_DebugTimeout:
1318 0009 00 .skip 1,0
1319 .global PcZugriff
1320 .data
1323 PcZugriff:
1324 0001 64 .byte 100
1325 .global MotorTest
1326 .global MotorTest
1327 .section .bss
1330 MotorTest:
1331 000a 0000 0000 .skip 4,0
1332 .lcomm dis_zeile.2453,1
1333 .lcomm UartState.2131,1
1334 .lcomm buf_ptr.2130,1
1335 .lcomm crc2.2129,1
1336 .lcomm crc1.2128,1
1337 .lcomm crc.2127,2
1338 .lcomm ptr.2090,2
1339 .lcomm gpsState,1
1340 .comm DiffNick,2,1
1341 .comm DiffRoll,2,1
1342 .comm SenderOkay,1,1
1343 .comm CosinusNickWinkel,1,1
1344 .comm CosinusRollWinkel,1,1
1345 .comm durchschnitt_northing,4,1
1346 .comm durchschnitt_easting,4,1
1347 .comm P_GPS_Verstaerkung,2,1
1348 .comm D_GPS_Verstaerkung,2,1
1349 .comm SendeBuffer,150,1
1350 .comm RxdBuffer,150,1
1351 .comm MeineSlaveAdresse,1,1
1352 .comm Debug_Timer,2,1
1353 .comm DebugOut,50,1
1354 .comm actualPos,47,1
1355 .comm DebugIn,11,1
1356 .comm VersionInfo,10,1
1357 .comm RemoteTasten,1,1
1358 .comm Timeout,1,1
1359 .comm IntegralNick,4,1
1360 .comm IntegralNick2,4,1
1361 .comm IntegralRoll,4,1
1362 .comm IntegralRoll2,4,1
1363 .comm Mess_IntegralNick,4,1
1364 .comm Mess_IntegralNick2,4,1
1365 .comm Mess_IntegralRoll,4,1
1366 .comm Mess_IntegralRoll2,4,1
1367 .comm Integral_Gier,4,1
1368 .comm Mess_Integral_Gier,4,1
1369 .comm h,1,1
1370 .comm m,1,1
1371 .comm s,1,1
1372 .comm Motor_Vorne,1,1
1373 .comm Motor_Hinten,1,1
1374 .comm Motor_Rechts,1,1
1375 .comm Motor_Links,1,1
1376 .comm Count,1,1
1377 .comm MotorWert,5,1
1378 .comm NMEABuffer,150,1
1379 .comm navStatus,17,1
1380 .comm navPosECEF,21,1
1381 .comm navVelECEF,21,1
1382 .comm navPosUtm,19,1
1383 .comm navVelNed,37,1
1384 .comm ubxP,2,1
1385 .comm ubxEp,2,1
1386 .comm ubxSp,2,1
1387 .comm CK_A,1,1
1388 .comm CK_B,1,1
1389 .comm msgLen,2,1
1390 .comm msgID,1,1
1391 .comm ignorePacket,1,1
1392 .comm rollOffset,4,1
1393 .comm nickOffset,4,1
1394 /* File "uart.c": code 1393 = 0x0571 (1290), prologues 49, epilogues 54 */
DEFINED SYMBOLS
*ABS*:00000000 uart.c
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:13 .text:00000000 __vector_22
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:1298 .data:00000000 UebertragungAbgeschlossen
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:1337 .bss:00000015 ptr.2090
*COM*:00000096 SendeBuffer
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:69 .text:0000006c GPSscanData
*COM*:00000015 navPosECEF
*COM*:0000002f actualPos
*COM*:00000011 navStatus
*COM*:00000015 navVelECEF
*COM*:00000013 navPosUtm
*COM*:00000025 navVelNed
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:200 .text:0000021e __vector_20
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:1280 .bss:00000004 SioTmp
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:1338 .bss:00000017 gpsState
*COM*:00000001 msgID
*COM*:00000001 CK_A
*COM*:00000001 CK_B
*COM*:00000002 ubxP
*COM*:00000002 ubxEp
*COM*:00000002 ubxSp
*COM*:00000001 ignorePacket
*COM*:00000002 msgLen
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:1333 .bss:00000010 buf_ptr.2130
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:1332 .bss:0000000f UartState.2131
*COM*:00000096 RxdBuffer
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:1336 .bss:00000013 crc.2127
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:1335 .bss:00000012 crc1.2128
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:1334 .bss:00000011 crc2.2129
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:1305 .bss:00000007 CntCrcError
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:1286 .bss:00000005 NeuerDatensatzEmpfangen
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:1311 .bss:00000008 AnzahlEmpfangsBytes
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:656 .text:00000654 AddCRC
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:710 .text:000006b0 SendOutData
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:824 .text:00000780 Decode64
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:924 .text:00000830 uart_putchar
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:948 .text:00000852 WriteProgramData
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:958 .text:00000854 UART_Init
*COM*:00000002 Debug_Timer
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:991 .text:0000088e DatenUebertragung
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:1256 .bss:00000000 DebugGetAnforderung
*COM*:0000000b DebugIn
*COM*:00000001 MeineSlaveAdresse
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:1268 .bss:00000002 DebugDataAnforderung
*COM*:00000032 DebugOut
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:1262 .bss:00000001 DebugDisplayAnforderung
.bss:0000000e dis_zeile.2453
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:1274 .bss:00000003 GetVersionAnforderung
*COM*:0000000a VersionInfo
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:1086 .text:0000096a BearbeiteRxDaten
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:1323 .data:00000001 PcZugriff
*COM*:00000001 RemoteTasten
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:1330 .bss:0000000a MotorTest
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:1292 .bss:00000006 NeueKoordinateEmpfangen
C:\DOKUME~1\none\LOKALE~1\Temp/ccDJkC34.s:1317 .bss:00000009 PC_DebugTimeout
*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 Timeout
*COM*:00000004 IntegralNick
*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*:00000096 NMEABuffer
*COM*:00000004 rollOffset
*COM*:00000004 nickOffset
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
SetDelay
CheckDelay
Menu
DisplayBuff
EE_Parameter
ReadParameterSet
GetActiveParamSetNumber
WriteParameterSet
EEPromArray
__eeprom_write_byte_1F2021
Piep