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