Blame | Last modification | View Log | RSS feed
1 .file "uart.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __CCP__ = 0x34
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
15 .Ltext0:
16 .global __vector_13
18 __vector_13:
19 .LFB3:
20 .LM1:
21 0000 1F92 push __zero_reg__
22 0002 0F92 push r0
23 0004 0FB6 in r0,__SREG__
24 0006 0F92 push r0
25 0008 1124 clr __zero_reg__
26 /* prologue: Signal */
27 /* frame size = 0 */
28 /* epilogue start */
29 .LM2:
30 000a 0F90 pop r0
31 000c 0FBE out __SREG__,r0
32 000e 0F90 pop r0
33 0010 1F90 pop __zero_reg__
34 0012 1895 reti
35 .LFE3:
37 .global SendUart
39 SendUart:
40 .LFB4:
41 .LM3:
42 /* prologue: function */
43 /* frame size = 0 */
44 .LM4:
45 0014 5E9B sbis 43-32,6
46 0016 00C0 rjmp .L8
47 .LM5:
48 0018 8091 0000 lds r24,UebertragungAbgeschlossen
49 001c 8823 tst r24
50 001e 01F4 brne .L5
51 .LM6:
52 0020 8091 0000 lds r24,ptr.1846
53 0024 9091 0000 lds r25,(ptr.1846)+1
54 0028 0196 adiw r24,1
55 002a 9093 0000 sts (ptr.1846)+1,r25
56 002e 8093 0000 sts ptr.1846,r24
57 .LM7:
58 0032 FC01 movw r30,r24
59 0034 E050 subi r30,lo8(-(SendeBuffer))
60 0036 F040 sbci r31,hi8(-(SendeBuffer))
61 0038 E081 ld r30,Z
62 .LVL0:
63 .LM8:
64 003a ED30 cpi r30,lo8(13)
65 003c 01F0 breq .L6
66 003e 8436 cpi r24,100
67 0040 9105 cpc r25,__zero_reg__
68 0042 01F4 brne .L7
69 .L6:
70 .LM9:
71 0044 1092 0000 sts (ptr.1846)+1,__zero_reg__
72 0048 1092 0000 sts ptr.1846,__zero_reg__
73 .LM10:
74 004c 81E0 ldi r24,lo8(1)
75 004e 8093 0000 sts UebertragungAbgeschlossen,r24
76 .L7:
77 .LM11:
78 0052 589A sbi 43-32,0
79 .LM12:
80 0054 ECB9 out 44-32,r30
81 0056 0895 ret
82 .LVL1:
83 .L5:
84 .LM13:
85 0058 1092 0000 sts (ptr.1846)+1,__zero_reg__
86 005c 1092 0000 sts ptr.1846,__zero_reg__
87 .L8:
88 0060 0895 ret
89 .LFE4:
91 .global Decode64
93 Decode64:
94 .LFB5:
95 .LM14:
96 .LVL2:
97 0062 1F93 push r17
98 0064 CF93 push r28
99 0066 DF93 push r29
100 /* prologue: function */
101 /* frame size = 0 */
102 0068 EC01 movw r28,r24
103 .LM15:
104 006a 70E0 ldi r23,lo8(0)
105 .LVL3:
106 .LM16:
107 006c A22F mov r26,r18
108 006e B0E0 ldi r27,lo8(0)
109 0070 1197 sbiw r26,1
110 0072 00C0 rjmp .L10
111 .LVL4:
112 .L12:
113 .LM17:
114 0074 E42F mov r30,r20
115 0076 F0E0 ldi r31,lo8(0)
116 0078 E050 subi r30,lo8(-(RxdBuffer))
117 007a F040 sbci r31,hi8(-(RxdBuffer))
118 007c 3081 ld r19,Z
119 .LM18:
120 007e 4F5F subi r20,lo8(-(1))
121 0080 E42F mov r30,r20
122 0082 F0E0 ldi r31,lo8(0)
123 0084 E050 subi r30,lo8(-(RxdBuffer))
124 0086 F040 sbci r31,hi8(-(RxdBuffer))
125 0088 5081 ld r21,Z
126 .LVL5:
127 .LM19:
128 008a 4F5F subi r20,lo8(-(1))
129 008c E42F mov r30,r20
130 008e F0E0 ldi r31,lo8(0)
131 0090 E050 subi r30,lo8(-(RxdBuffer))
132 0092 F040 sbci r31,hi8(-(RxdBuffer))
133 0094 1081 ld r17,Z
134 .LM20:
135 0096 4F5F subi r20,lo8(-(1))
136 0098 E42F mov r30,r20
137 009a F0E0 ldi r31,lo8(0)
138 009c E050 subi r30,lo8(-(RxdBuffer))
139 009e F040 sbci r31,hi8(-(RxdBuffer))
140 00a0 2081 ld r18,Z
141 .LVL6:
142 00a2 4F5F subi r20,lo8(-(1))
143 .LM21:
144 00a4 842F mov r24,r20
145 00a6 90E0 ldi r25,lo8(0)
146 .LVL7:
147 00a8 8A17 cp r24,r26
148 00aa 9B07 cpc r25,r27
149 00ac 04F4 brge .L13
150 .LVL8:
151 .LM22:
152 00ae 5D53 subi r21,lo8(-(-61))
153 .LVL9:
154 .LM23:
155 00b0 FE01 movw r30,r28
156 00b2 E70F add r30,r23
157 00b4 F11D adc r31,__zero_reg__
158 00b6 852F mov r24,r21
159 .LVL10:
160 00b8 8295 swap r24
161 00ba 8F70 andi r24,lo8(15)
162 00bc 3D53 subi r19,lo8(-(-61))
163 00be 330F lsl r19
164 00c0 330F lsl r19
165 00c2 382B or r19,r24
166 00c4 3083 st Z,r19
167 .LM24:
168 00c6 6130 cpi r22,lo8(1)
169 00c8 01F0 breq .L13
170 .LM25:
171 00ca 912F mov r25,r17
172 .LVL11:
173 00cc 9D53 subi r25,lo8(-(-61))
174 .LM26:
175 00ce 7F5F subi r23,lo8(-(1))
176 00d0 FE01 movw r30,r28
177 00d2 E70F add r30,r23
178 00d4 F11D adc r31,__zero_reg__
179 00d6 7150 subi r23,lo8(-(-1))
180 00d8 5295 swap r21
181 00da 507F andi r21,lo8(-16)
182 00dc 892F mov r24,r25
183 00de 8695 lsr r24
184 00e0 8695 lsr r24
185 00e2 582B or r21,r24
186 00e4 5083 st Z,r21
187 .LM27:
188 00e6 6230 cpi r22,lo8(2)
189 00e8 01F0 breq .L13
190 00ea 6350 subi r22,lo8(-(-3))
191 .LVL12:
192 00ec 7E5F subi r23,lo8(-(2))
193 00ee FE01 movw r30,r28
194 00f0 E70F add r30,r23
195 00f2 F11D adc r31,__zero_reg__
196 00f4 9295 swap r25
197 00f6 990F lsl r25
198 00f8 990F lsl r25
199 00fa 907C andi r25,lo8(-64)
200 00fc 2D53 subi r18,lo8(-(-61))
201 00fe 922B or r25,r18
202 0100 9083 st Z,r25
203 0102 7F5F subi r23,lo8(-(1))
204 .LVL13:
205 .L10:
206 .LM28:
207 0104 6623 tst r22
208 0106 01F0 breq .+2
209 0108 00C0 rjmp .L12
210 .LVL14:
211 .L13:
212 /* epilogue start */
213 .LM29:
214 010a DF91 pop r29
215 010c CF91 pop r28
216 .LVL15:
217 010e 1F91 pop r17
218 0110 0895 ret
219 .LFE5:
221 .global AddCRC
223 AddCRC:
224 .LFB7:
225 .LM30:
226 .LVL16:
227 /* prologue: function */
228 /* frame size = 0 */
229 0112 DC01 movw r26,r24
230 .LM31:
231 0114 20E0 ldi r18,lo8(0)
232 0116 30E0 ldi r19,hi8(0)
233 .LVL17:
234 0118 40E0 ldi r20,lo8(0)
235 011a 50E0 ldi r21,hi8(0)
236 .LVL18:
237 011c 00C0 rjmp .L15
238 .LVL19:
239 .L16:
240 .LM32:
241 011e FA01 movw r30,r20
242 0120 E050 subi r30,lo8(-(SendeBuffer))
243 0122 F040 sbci r31,hi8(-(SendeBuffer))
244 0124 8081 ld r24,Z
245 0126 280F add r18,r24
246 0128 311D adc r19,__zero_reg__
247 .LM33:
248 012a 4F5F subi r20,lo8(-(1))
249 012c 5F4F sbci r21,hi8(-(1))
250 .LVL20:
251 .L15:
252 012e 4A17 cp r20,r26
253 0130 5B07 cpc r21,r27
254 0132 00F0 brlo .L16
255 .LM34:
256 0134 3F70 andi r19,hi8(4095)
257 .LVL21:
258 .LM35:
259 0136 C901 movw r24,r18
260 0138 36E0 ldi r19,6
261 013a 9695 1: lsr r25
262 013c 8795 ror r24
263 013e 3A95 dec r19
264 0140 01F4 brne 1b
265 0142 835C subi r24,lo8(-(61))
266 0144 FD01 movw r30,r26
267 0146 E050 subi r30,lo8(-(SendeBuffer))
268 0148 F040 sbci r31,hi8(-(SendeBuffer))
269 014a 8083 st Z,r24
270 014c 1196 adiw r26,1
271 .LVL22:
272 .LM36:
273 014e 2F73 andi r18,lo8(63)
274 .LVL23:
275 0150 235C subi r18,lo8(-(61))
276 0152 FD01 movw r30,r26
277 0154 E050 subi r30,lo8(-(SendeBuffer))
278 0156 F040 sbci r31,hi8(-(SendeBuffer))
279 0158 2083 st Z,r18
280 .LM37:
281 015a A050 subi r26,lo8(-(SendeBuffer+1))
282 015c B040 sbci r27,hi8(-(SendeBuffer+1))
283 015e 8DE0 ldi r24,lo8(13)
284 0160 8C93 st X,r24
285 .LM38:
286 0162 1092 0000 sts UebertragungAbgeschlossen,__zero_reg__
287 .LM39:
288 0166 8091 0000 lds r24,SendeBuffer
289 016a 8CB9 out 44-32,r24
290 /* epilogue start */
291 .LM40:
292 016c 0895 ret
293 .LFE7:
295 .global SendOutData
297 SendOutData:
298 .LFB8:
299 .LM41:
300 .LVL24:
301 016e CF93 push r28
302 0170 DF93 push r29
303 /* prologue: function */
304 /* frame size = 0 */
305 0172 EA01 movw r28,r20
306 0174 B22F mov r27,r18
307 .LM42:
308 0176 93E2 ldi r25,lo8(35)
309 0178 9093 0000 sts SendeBuffer,r25
310 .LM43:
311 017c 6093 0000 sts SendeBuffer+1,r22
312 .LM44:
313 0180 8093 0000 sts SendeBuffer+2,r24
314 0184 63E0 ldi r22,lo8(3)
315 0186 70E0 ldi r23,hi8(3)
316 .LVL25:
317 0188 A0E0 ldi r26,lo8(0)
318 .LVL26:
319 018a 00C0 rjmp .L19
320 .LVL27:
321 .L23:
322 .LM45:
323 018c FE01 movw r30,r28
324 018e EA0F add r30,r26
325 0190 F11D adc r31,__zero_reg__
326 0192 9081 ld r25,Z
327 .LVL28:
328 0194 AF5F subi r26,lo8(-(1))
329 0196 B150 subi r27,lo8(-(-1))
330 .LM46:
331 0198 01F4 brne .L20
332 019a 30E0 ldi r19,lo8(0)
333 019c 40E0 ldi r20,lo8(0)
334 .LVL29:
335 019e 00C0 rjmp .L21
336 .LVL30:
337 .L20:
338 01a0 FE01 movw r30,r28
339 01a2 EA0F add r30,r26
340 01a4 F11D adc r31,__zero_reg__
341 01a6 4081 ld r20,Z
342 .LVL31:
343 01a8 AF5F subi r26,lo8(-(1))
344 01aa B150 subi r27,lo8(-(-1))
345 .LM47:
346 01ac 01F4 brne .L22
347 01ae 30E0 ldi r19,lo8(0)
348 01b0 00C0 rjmp .L21
349 .L22:
350 01b2 FE01 movw r30,r28
351 01b4 EA0F add r30,r26
352 01b6 F11D adc r31,__zero_reg__
353 01b8 3081 ld r19,Z
354 01ba AF5F subi r26,lo8(-(1))
355 01bc B150 subi r27,lo8(-(-1))
356 .L21:
357 .LM48:
358 01be 892F mov r24,r25
359 .LVL32:
360 01c0 8695 lsr r24
361 01c2 8695 lsr r24
362 01c4 835C subi r24,lo8(-(61))
363 01c6 FB01 movw r30,r22
364 01c8 E050 subi r30,lo8(-(SendeBuffer))
365 01ca F040 sbci r31,hi8(-(SendeBuffer))
366 01cc 8083 st Z,r24
367 .LM49:
368 01ce 242F mov r18,r20
369 01d0 2295 swap r18
370 01d2 2F70 andi r18,lo8(15)
371 01d4 892F mov r24,r25
372 01d6 90E0 ldi r25,lo8(0)
373 .LVL33:
374 01d8 8370 andi r24,lo8(3)
375 01da 9070 andi r25,hi8(3)
376 .LVL34:
377 01dc 54E0 ldi r21,4
378 01de 880F 1: lsl r24
379 01e0 991F rol r25
380 01e2 5A95 dec r21
381 01e4 01F4 brne 1b
382 .LVL35:
383 01e6 282B or r18,r24
384 01e8 235C subi r18,lo8(-(61))
385 01ea FB01 movw r30,r22
386 01ec E050 subi r30,lo8(-(SendeBuffer+1))
387 01ee F040 sbci r31,hi8(-(SendeBuffer+1))
388 01f0 2083 st Z,r18
389 .LM50:
390 01f2 842F mov r24,r20
391 .LVL36:
392 01f4 90E0 ldi r25,lo8(0)
393 .LVL37:
394 01f6 8F70 andi r24,lo8(15)
395 01f8 9070 andi r25,hi8(15)
396 .LVL38:
397 01fa 880F lsl r24
398 01fc 991F rol r25
399 01fe 880F lsl r24
400 0200 991F rol r25
401 .LVL39:
402 0202 232F mov r18,r19
403 0204 2295 swap r18
404 0206 2695 lsr r18
405 0208 2695 lsr r18
406 020a 2370 andi r18,lo8(3)
407 020c 282B or r18,r24
408 020e 235C subi r18,lo8(-(61))
409 0210 FB01 movw r30,r22
410 0212 E050 subi r30,lo8(-(SendeBuffer+2))
411 0214 F040 sbci r31,hi8(-(SendeBuffer+2))
412 0216 2083 st Z,r18
413 .LM51:
414 0218 3F73 andi r19,lo8(63)
415 021a 335C subi r19,lo8(-(61))
416 021c FB01 movw r30,r22
417 021e E050 subi r30,lo8(-(SendeBuffer+3))
418 0220 F040 sbci r31,hi8(-(SendeBuffer+3))
419 0222 3083 st Z,r19
420 0224 6C5F subi r22,lo8(-(4))
421 0226 7F4F sbci r23,hi8(-(4))
422 .LVL40:
423 .L19:
424 .LM52:
425 0228 BB23 tst r27
426 022a 01F0 breq .+2
427 022c 00C0 rjmp .L23
428 .LM53:
429 022e CB01 movw r24,r22
430 .LVL41:
431 0230 00D0 rcall AddCRC
432 .LVL42:
433 /* epilogue start */
434 .LM54:
435 0232 DF91 pop r29
436 0234 CF91 pop r28
437 .LVL43:
438 0236 0895 ret
439 .LFE8:
441 .global uart_putchar
443 uart_putchar:
444 .LFB9:
445 .LM55:
446 .LVL44:
447 0238 1F93 push r17
448 /* prologue: function */
449 /* frame size = 0 */
450 023a 182F mov r17,r24
451 .LM56:
452 023c 8A30 cpi r24,lo8(10)
453 023e 01F4 brne .L28
454 .LM57:
455 0240 8DE0 ldi r24,lo8(13)
456 .LVL45:
457 0242 00D0 rcall uart_putchar
458 .LVL46:
459 .L28:
460 .LM58:
461 0244 5D9B sbis 43-32,5
462 0246 00C0 rjmp .L28
463 .LM59:
464 0248 1CB9 out 44-32,r17
465 .LM60:
466 024a 80E0 ldi r24,lo8(0)
467 024c 90E0 ldi r25,hi8(0)
468 /* epilogue start */
469 024e 1F91 pop r17
470 .LVL47:
471 0250 0895 ret
472 .LFE9:
474 .global __vector_11
476 __vector_11:
477 .LFB6:
478 .LM61:
479 0252 1F92 push __zero_reg__
480 0254 0F92 push r0
481 0256 0FB6 in r0,__SREG__
482 0258 0F92 push r0
483 025a 1124 clr __zero_reg__
484 025c 2F93 push r18
485 025e 3F93 push r19
486 0260 4F93 push r20
487 0262 5F93 push r21
488 0264 6F93 push r22
489 0266 7F93 push r23
490 0268 8F93 push r24
491 026a 9F93 push r25
492 026c AF93 push r26
493 026e BF93 push r27
494 0270 CF93 push r28
495 0272 DF93 push r29
496 0274 EF93 push r30
497 0276 FF93 push r31
498 /* prologue: Signal */
499 /* frame size = 0 */
500 .LM62:
501 0278 8CB1 in r24,44-32
502 027a 8093 0000 sts SioTmp,r24
503 .LM63:
504 027e 4091 0000 lds r20,buf_ptr.1914
505 0282 4436 cpi r20,lo8(100)
506 0284 00F0 brlo .L31
507 0286 1092 0000 sts UartState.1915,__zero_reg__
508 .L31:
509 .LM64:
510 028a 5091 0000 lds r21,SioTmp
511 028e 5D30 cpi r21,lo8(13)
512 0290 01F0 breq .+2
513 0292 00C0 rjmp .L32
514 0294 8091 0000 lds r24,UartState.1915
515 0298 8230 cpi r24,lo8(2)
516 029a 01F0 breq .+2
517 029c 00C0 rjmp .L32
518 .LM65:
519 029e 1092 0000 sts UartState.1915,__zero_reg__
520 .LM66:
521 02a2 A42F mov r26,r20
522 02a4 B0E0 ldi r27,lo8(0)
523 02a6 FD01 movw r30,r26
524 02a8 E050 subi r30,lo8(-(RxdBuffer-2))
525 02aa F040 sbci r31,hi8(-(RxdBuffer-2))
526 02ac 3081 ld r19,Z
527 .LM67:
528 02ae ED01 movw r28,r26
529 02b0 C050 subi r28,lo8(-(RxdBuffer-1))
530 02b2 D040 sbci r29,hi8(-(RxdBuffer-1))
531 02b4 2881 ld r18,Y
532 .LM68:
533 02b6 8091 0000 lds r24,crc.1911
534 02ba 9091 0000 lds r25,(crc.1911)+1
535 02be 831B sub r24,r19
536 02c0 9109 sbc r25,__zero_reg__
537 02c2 821B sub r24,r18
538 02c4 9109 sbc r25,__zero_reg__
539 02c6 9F70 andi r25,hi8(4095)
540 02c8 9093 0000 sts (crc.1911)+1,r25
541 02cc 8093 0000 sts crc.1911,r24
542 .LM69:
543 02d0 9C01 movw r18,r24
544 02d2 66E0 ldi r22,6
545 02d4 3695 1: lsr r19
546 02d6 2795 ror r18
547 02d8 6A95 dec r22
548 02da 01F4 brne 1b
549 02dc 235C subi r18,lo8(-(61))
550 02de 2093 0000 sts crc1.1912,r18
551 .LM70:
552 02e2 982F mov r25,r24
553 02e4 9F73 andi r25,lo8(63)
554 02e6 935C subi r25,lo8(-(61))
555 02e8 9093 0000 sts crc2.1913,r25
556 .LM71:
557 02ec 8081 ld r24,Z
558 02ee 2817 cp r18,r24
559 02f0 01F0 breq .+2
560 02f2 00C0 rjmp .L42
561 02f4 8881 ld r24,Y
562 02f6 9817 cp r25,r24
563 02f8 01F0 breq .+2
564 02fa 00C0 rjmp .L42
565 .LM72:
566 02fc 4093 0000 sts AnzahlEmpfangsBytes,r20
567 .LM73:
568 0300 A050 subi r26,lo8(-(RxdBuffer))
569 0302 B040 sbci r27,hi8(-(RxdBuffer))
570 0304 5C93 st X,r21
571 .LM74:
572 0306 8091 0000 lds r24,RxdBuffer+2
573 030a 8235 cpi r24,lo8(82)
574 030c 01F4 brne .L34
575 030e 2CE0 ldi r18,lo8(12)
576 0310 88E1 ldi r24,lo8(24)
577 0312 90E0 ldi r25,hi8(24)
578 /* #APP */
579 ; 133 "uart.c" 1
580 0314 0FB6 in __tmp_reg__,__SREG__
581 0316 F894 cli
582 0318 A895 wdr
583 031a 81BD out 33,r24
584 031c 0FBE out __SREG__,__tmp_reg__
585 031e 21BD out 33,r18
586 ; 0 "" 2
587 /* #NOAPP */
588 .L34:
589 .LM75:
590 0320 8091 0000 lds r24,RxdBuffer+2
591 0324 00D0 rcall uart_putchar
592 .LM76:
593 0326 8091 0000 lds r24,RxdBuffer+2
594 032a 8437 cpi r24,lo8(116)
595 032c 01F0 breq .+2
596 032e 00C0 rjmp .L42
597 .LM77:
598 0330 2091 0000 lds r18,AnzahlEmpfangsBytes
599 0334 80E0 ldi r24,lo8(MotorTest)
600 0336 90E0 ldi r25,hi8(MotorTest)
601 0338 66E0 ldi r22,lo8(6)
602 033a 43E0 ldi r20,lo8(3)
603 033c 00D0 rcall Decode64
604 .LM78:
605 033e E091 0000 lds r30,MotorAdresse
606 0342 F0E0 ldi r31,lo8(0)
607 0344 E050 subi r30,lo8(-(MotorTest-1))
608 0346 F040 sbci r31,hi8(-(MotorTest-1))
609 0348 8081 ld r24,Z
610 034a 8093 0000 sts SIO_Sollwert,r24
611 .LM79:
612 034e 84EF ldi r24,lo8(500)
613 0350 91E0 ldi r25,hi8(500)
614 0352 9093 0000 sts (SIO_Timeout)+1,r25
615 0356 8093 0000 sts SIO_Timeout,r24
616 035a 00C0 rjmp .L42
617 .L32:
618 .LM80:
619 035c 8091 0000 lds r24,UartState.1915
620 0360 8130 cpi r24,lo8(1)
621 0362 01F0 breq .L37
622 0364 8130 cpi r24,lo8(1)
623 0366 00F0 brlo .L36
624 0368 8230 cpi r24,lo8(2)
625 036a 01F0 breq .+2
626 036c 00C0 rjmp .L43
627 036e 00C0 rjmp .L45
628 .L36:
629 .LM81:
630 0370 8091 0000 lds r24,SioTmp
631 0374 8332 cpi r24,lo8(35)
632 0376 01F4 brne .L39
633 0378 8091 0000 lds r24,NeuerDatensatzEmpfangen
634 037c 8823 tst r24
635 037e 01F4 brne .L39
636 0380 81E0 ldi r24,lo8(1)
637 0382 8093 0000 sts UartState.1915,r24
638 .L39:
639 .LM82:
640 0386 8091 0000 lds r24,SioTmp
641 038a 8093 0000 sts RxdBuffer,r24
642 038e 81E0 ldi r24,lo8(1)
643 0390 8093 0000 sts buf_ptr.1914,r24
644 .LM83:
645 0394 8091 0000 lds r24,SioTmp
646 0398 8093 0000 sts crc.1911,r24
647 039c 1092 0000 sts crc.1911+1,__zero_reg__
648 03a0 00C0 rjmp .L42
649 .L37:
650 .LM84:
651 03a2 82E0 ldi r24,lo8(2)
652 03a4 8093 0000 sts UartState.1915,r24
653 .LM85:
654 03a8 E42F mov r30,r20
655 03aa F0E0 ldi r31,lo8(0)
656 03ac 8091 0000 lds r24,SioTmp
657 03b0 E050 subi r30,lo8(-(RxdBuffer))
658 03b2 F040 sbci r31,hi8(-(RxdBuffer))
659 03b4 8083 st Z,r24
660 03b6 00C0 rjmp .L44
661 .L45:
662 .LM86:
663 03b8 E42F mov r30,r20
664 03ba F0E0 ldi r31,lo8(0)
665 03bc 8091 0000 lds r24,SioTmp
666 03c0 E050 subi r30,lo8(-(RxdBuffer))
667 03c2 F040 sbci r31,hi8(-(RxdBuffer))
668 03c4 8083 st Z,r24
669 .LM87:
670 03c6 4436 cpi r20,lo8(100)
671 03c8 00F4 brsh .L40
672 .L44:
673 03ca 4F5F subi r20,lo8(-(1))
674 03cc 4093 0000 sts buf_ptr.1914,r20
675 03d0 00C0 rjmp .L41
676 .L40:
677 .LM88:
678 03d2 1092 0000 sts UartState.1915,__zero_reg__
679 .L41:
680 .LM89:
681 03d6 2091 0000 lds r18,SioTmp
682 03da 8091 0000 lds r24,crc.1911
683 03de 9091 0000 lds r25,(crc.1911)+1
684 03e2 820F add r24,r18
685 03e4 911D adc r25,__zero_reg__
686 03e6 9093 0000 sts (crc.1911)+1,r25
687 03ea 8093 0000 sts crc.1911,r24
688 03ee 00C0 rjmp .L42
689 .L43:
690 .LM90:
691 03f0 1092 0000 sts UartState.1915,__zero_reg__
692 .L42:
693 /* epilogue start */
694 .LM91:
695 03f4 FF91 pop r31
696 03f6 EF91 pop r30
697 03f8 DF91 pop r29
698 03fa CF91 pop r28
699 03fc BF91 pop r27
700 03fe AF91 pop r26
701 0400 9F91 pop r25
702 0402 8F91 pop r24
703 0404 7F91 pop r23
704 0406 6F91 pop r22
705 0408 5F91 pop r21
706 040a 4F91 pop r20
707 040c 3F91 pop r19
708 040e 2F91 pop r18
709 0410 0F90 pop r0
710 0412 0FBE out __SREG__,r0
711 0414 0F90 pop r0
712 0416 1F90 pop __zero_reg__
713 0418 1895 reti
714 .LFE6:
716 .global WriteProgramData
718 WriteProgramData:
719 .LFB10:
720 .LM92:
721 .LVL48:
722 /* prologue: function */
723 /* frame size = 0 */
724 /* epilogue start */
725 .LM93:
726 041a 0895 ret
727 .LFE10:
729 .global DatenUebertragung
731 DatenUebertragung:
732 .LFB12:
733 .LM94:
734 /* prologue: function */
735 /* frame size = 0 */
736 .LM95:
737 041c 8091 0000 lds r24,Debug_Timer
738 0420 9091 0000 lds r25,(Debug_Timer)+1
739 0424 00D0 rcall CheckDelay
740 0426 8823 tst r24
741 0428 01F0 breq .L50
742 042a 8091 0000 lds r24,UebertragungAbgeschlossen
743 042e 8823 tst r24
744 0430 01F0 breq .L50
745 .LM96:
746 0432 84E4 ldi r24,lo8(68)
747 0434 6091 0000 lds r22,MeineSlaveAdresse
748 0438 40E0 ldi r20,lo8(DebugOut)
749 043a 50E0 ldi r21,hi8(DebugOut)
750 043c 22E1 ldi r18,lo8(18)
751 043e 00D0 rcall SendOutData
752 .LM97:
753 0440 82E3 ldi r24,lo8(50)
754 0442 90E0 ldi r25,hi8(50)
755 0444 00D0 rcall SetDelay
756 0446 9093 0000 sts (Debug_Timer)+1,r25
757 044a 8093 0000 sts Debug_Timer,r24
758 .L50:
759 044e 0895 ret
760 .LFE12:
762 .global UART_Init
764 UART_Init:
765 .LFB11:
766 .LM98:
767 /* prologue: function */
768 /* frame size = 0 */
769 .LM99:
770 0450 88E1 ldi r24,lo8(24)
771 0452 8AB9 out 42-32,r24
772 .LM100:
773 0454 599A sbi 43-32,1
774 .LM101:
775 0456 579A sbi 42-32,7
776 .LM102:
777 0458 80E1 ldi r24,lo8(16)
778 045a 89B9 out 41-32,r24
779 .LM103:
780 045c 80E0 ldi r24,lo8(gs(uart_putchar))
781 045e 90E0 ldi r25,hi8(gs(uart_putchar))
782 0460 60E0 ldi r22,lo8(0)
783 0462 70E0 ldi r23,hi8(0)
784 0464 00D0 rcall fdevopen
785 .LM104:
786 0466 88EC ldi r24,lo8(200)
787 0468 90E0 ldi r25,hi8(200)
788 046a 00D0 rcall SetDelay
789 046c 9093 0000 sts (Debug_Timer)+1,r25
790 0470 8093 0000 sts Debug_Timer,r24
791 .LM105:
792 0474 8AE0 ldi r24,lo8(10)
793 0476 00D0 rcall uart_putchar
794 0478 82E4 ldi r24,lo8(66)
795 047a 00D0 rcall uart_putchar
796 047c 8CE4 ldi r24,lo8(76)
797 047e 00D0 rcall uart_putchar
798 0480 8AE3 ldi r24,lo8(58)
799 0482 00D0 rcall uart_putchar
800 .LM106:
801 0484 86E5 ldi r24,lo8(86)
802 0486 00D0 rcall uart_putchar
803 0488 80E3 ldi r24,lo8(48)
804 048a 00D0 rcall uart_putchar
805 048c 8EE2 ldi r24,lo8(46)
806 048e 00D0 rcall uart_putchar
807 0490 84E3 ldi r24,lo8(52)
808 0492 00D0 rcall uart_putchar
809 0494 81E3 ldi r24,lo8(49)
810 0496 00D0 rcall uart_putchar
811 .LM107:
812 0498 8AE0 ldi r24,lo8(10)
813 049a 00D0 rcall uart_putchar
814 049c 88E4 ldi r24,lo8(72)
815 049e 00D0 rcall uart_putchar
816 04a0 87E5 ldi r24,lo8(87)
817 04a2 00D0 rcall uart_putchar
818 04a4 8AE3 ldi r24,lo8(58)
819 04a6 00D0 rcall uart_putchar
820 04a8 81E3 ldi r24,lo8(49)
821 04aa 00D0 rcall uart_putchar
822 04ac 8EE2 ldi r24,lo8(46)
823 04ae 00D0 rcall uart_putchar
824 04b0 8091 0000 lds r24,HwVersion
825 04b4 8A5D subi r24,lo8(-(38))
826 04b6 00D0 rcall uart_putchar
827 .LM108:
828 04b8 8AE0 ldi r24,lo8(10)
829 04ba 00D0 rcall uart_putchar
830 04bc 81E4 ldi r24,lo8(65)
831 04be 00D0 rcall uart_putchar
832 04c0 84E4 ldi r24,lo8(68)
833 04c2 00D0 rcall uart_putchar
834 04c4 82E5 ldi r24,lo8(82)
835 04c6 00D0 rcall uart_putchar
836 04c8 8AE3 ldi r24,lo8(58)
837 04ca 00D0 rcall uart_putchar
838 04cc 8091 0000 lds r24,MotorAdresse
839 04d0 805D subi r24,lo8(-(48))
840 04d2 00D0 rcall uart_putchar
841 /* epilogue start */
842 .LM109:
843 04d4 0895 ret
844 .LFE11:
846 .global SIO_Sollwert
847 .global SIO_Sollwert
848 .section .bss
851 SIO_Sollwert:
852 0000 00 .skip 1,0
853 .global SioTmp
854 .global SioTmp
857 SioTmp:
858 0001 00 .skip 1,0
859 .global NeuerDatensatzEmpfangen
860 .global NeuerDatensatzEmpfangen
863 NeuerDatensatzEmpfangen:
864 0002 00 .skip 1,0
865 .global UebertragungAbgeschlossen
866 .data
869 UebertragungAbgeschlossen:
870 0000 01 .byte 1
871 .global MotorTest
872 .global MotorTest
873 .section .bss
876 MotorTest:
877 0003 0000 0000 .skip 6,0
877 0000
878 .global AnzahlEmpfangsBytes
879 .global AnzahlEmpfangsBytes
882 AnzahlEmpfangsBytes:
883 0009 00 .skip 1,0
884 .lcomm UartState.1915,1
885 .lcomm buf_ptr.1914,1
886 .lcomm crc2.1913,1
887 .lcomm crc1.1912,1
888 .lcomm crc.1911,2
889 .lcomm ptr.1846,2
890 .comm MeineSlaveAdresse,1,1
891 .comm Debug_Timer,2,1
892 .comm DebugOut,18,1
893 .comm SendeBuffer,100,1
894 .comm RxdBuffer,100,1
991 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 uart.c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:2 *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:3 *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:4 *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:5 *ABS*:00000034 __CCP__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:18 .text:00000000 __vector_13
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:39 .text:00000014 SendUart
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:869 .data:00000000 UebertragungAbgeschlossen
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:888 .bss:00000010 ptr.1846
*COM*:00000064 SendeBuffer
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:93 .text:00000062 Decode64
*COM*:00000064 RxdBuffer
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:223 .text:00000112 AddCRC
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:297 .text:0000016e SendOutData
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:443 .text:00000238 uart_putchar
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:476 .text:00000252 __vector_11
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:857 .bss:00000001 SioTmp
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:884 .bss:0000000b buf_ptr.1914
.bss:0000000a UartState.1915
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:887 .bss:0000000e crc.1911
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:886 .bss:0000000d crc1.1912
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:885 .bss:0000000c crc2.1913
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:882 .bss:00000009 AnzahlEmpfangsBytes
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:876 .bss:00000003 MotorTest
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:851 .bss:00000000 SIO_Sollwert
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:863 .bss:00000002 NeuerDatensatzEmpfangen
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:718 .text:0000041a WriteProgramData
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:731 .text:0000041c DatenUebertragung
*COM*:00000002 Debug_Timer
*COM*:00000001 MeineSlaveAdresse
*COM*:00000012 DebugOut
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccND1o1s.s:764 .text:00000450 UART_Init
UNDEFINED SYMBOLS
MotorAdresse
SIO_Timeout
CheckDelay
SetDelay
fdevopen
HwVersion
__do_copy_data
__do_clear_bss