Blame | Last modification | View Log | RSS feed
1 .file "printf_P.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 Putchar
13 Putchar:
14 /* prologue: frame size=0 */
15 /* prologue end (size=0) */
16 0000 982F mov r25,r24
17 0002 8091 0000 lds r24,PrintZiel
18 0006 8130 cpi r24,lo8(1)
19 0008 01F4 brne .L2
20 000a 8091 0000 lds r24,DispPtr
21 000e E82F mov r30,r24
22 0010 FF27 clr r31
23 0012 E050 subi r30,lo8(-(DisplayBuff))
24 0014 F040 sbci r31,hi8(-(DisplayBuff))
25 0016 9083 st Z,r25
26 0018 8F5F subi r24,lo8(-(1))
27 001a 8093 0000 sts DispPtr,r24
28 001e 21E0 ldi r18,lo8(1)
29 0020 30E0 ldi r19,hi8(1)
30 0022 00C0 rjmp .L4
31 .L2:
32 0024 892F mov r24,r25
33 0026 0E94 0000 call uart_putchar
34 002a 282F mov r18,r24
35 002c 3327 clr r19
36 .L4:
37 002e C901 movw r24,r18
38 /* epilogue: frame size=0 */
39 0030 0895 ret
40 /* epilogue end (size=1) */
41 /* function Putchar size 25 (24) */
43 .global PAD_0
45 PAD_0:
46 /* prologue: frame size=0 */
47 0032 1F93 push r17
48 /* prologue end (size=1) */
49 0034 182F mov r17,r24
50 0036 00C0 rjmp .L7
51 .L8:
52 0038 80E3 ldi r24,lo8(48)
53 003a 0E94 0000 call Putchar
54 003e 1150 subi r17,lo8(-(-1))
55 .L7:
56 0040 1116 cp __zero_reg__,r17
57 0042 04F0 brlt .L8
58 /* epilogue: frame size=0 */
59 0044 1F91 pop r17
60 0046 0895 ret
61 /* epilogue end (size=2) */
62 /* function PAD_0 size 11 (8) */
64 .global PAD_SP
66 PAD_SP:
67 /* prologue: frame size=0 */
68 0048 1F93 push r17
69 /* prologue end (size=1) */
70 004a 182F mov r17,r24
71 004c 00C0 rjmp .L12
72 .L13:
73 004e 80E2 ldi r24,lo8(32)
74 0050 0E94 0000 call Putchar
75 0054 1150 subi r17,lo8(-(-1))
76 .L12:
77 0056 1116 cp __zero_reg__,r17
78 0058 04F0 brlt .L13
79 /* epilogue: frame size=0 */
80 005a 1F91 pop r17
81 005c 0895 ret
82 /* epilogue end (size=2) */
83 /* function PAD_SP size 11 (8) */
85 .global PRINTP
87 PRINTP:
88 /* prologue: frame size=0 */
89 005e 0F93 push r16
90 0060 1F93 push r17
91 0062 CF93 push r28
92 0064 DF93 push r29
93 /* prologue end (size=4) */
94 0066 8C01 movw r16,r24
95 0068 EB01 movw r28,r22
96 006a 00C0 rjmp .L17
97 .L18:
98 006c F801 movw r30,r16
99 006e 0F5F subi r16,lo8(-(1))
100 0070 1F4F sbci r17,hi8(-(1))
101 /* #APP */
102 0072 E491 lpm r30, Z
103
104 /* #NOAPP */
105 0074 8E2F mov r24,r30
106 0076 0E94 0000 call Putchar
107 007a 2197 sbiw r28,1
108 .L17:
109 007c 2097 sbiw r28,0
110 007e 01F4 brne .L18
111 /* epilogue: frame size=0 */
112 0080 DF91 pop r29
113 0082 CF91 pop r28
114 0084 1F91 pop r17
115 0086 0F91 pop r16
116 0088 0895 ret
117 /* epilogue end (size=5) */
118 /* function PRINTP size 25 (16) */
120 .global PRINT
122 PRINT:
123 /* prologue: frame size=0 */
124 008a 0F93 push r16
125 008c 1F93 push r17
126 008e CF93 push r28
127 0090 DF93 push r29
128 /* prologue end (size=4) */
129 0092 8C01 movw r16,r24
130 0094 EB01 movw r28,r22
131 0096 00C0 rjmp .L22
132 .L23:
133 0098 F801 movw r30,r16
134 009a 8191 ld r24,Z+
135 009c 8F01 movw r16,r30
136 009e 0E94 0000 call Putchar
137 00a2 2197 sbiw r28,1
138 .L22:
139 00a4 2097 sbiw r28,0
140 00a6 01F4 brne .L23
141 /* epilogue: frame size=0 */
142 00a8 DF91 pop r29
143 00aa CF91 pop r28
144 00ac 1F91 pop r17
145 00ae 0F91 pop r16
146 00b0 0895 ret
147 /* epilogue end (size=5) */
148 /* function PRINT size 20 (11) */
150 .global _printf_P
152 _printf_P:
153 /* prologue: frame size=51 */
154 00b2 2F92 push r2
155 00b4 3F92 push r3
156 00b6 4F92 push r4
157 00b8 5F92 push r5
158 00ba 6F92 push r6
159 00bc 7F92 push r7
160 00be 8F92 push r8
161 00c0 9F92 push r9
162 00c2 AF92 push r10
163 00c4 BF92 push r11
164 00c6 CF92 push r12
165 00c8 DF92 push r13
166 00ca EF92 push r14
167 00cc FF92 push r15
168 00ce 0F93 push r16
169 00d0 1F93 push r17
170 00d2 CF93 push r28
171 00d4 DF93 push r29
172 00d6 CDB7 in r28,__SP_L__
173 00d8 DEB7 in r29,__SP_H__
174 00da E397 sbiw r28,51
175 00dc 0FB6 in __tmp_reg__,__SREG__
176 00de F894 cli
177 00e0 DEBF out __SP_H__,r29
178 00e2 0FBE out __SREG__,__tmp_reg__
179 00e4 CDBF out __SP_L__,r28
180 /* prologue end (size=26) */
181 00e6 2996 adiw r28,72-63
182 00e8 8FAD ldd r24,Y+63
183 00ea 2997 sbiw r28,72-63
184 00ec 8093 0000 sts PrintZiel,r24
185 00f0 CE01 movw r24,r28
186 00f2 855B subi r24,lo8(-(75))
187 00f4 9F4F sbci r25,hi8(-(75))
188 00f6 9D83 std Y+5,r25
189 00f8 8C83 std Y+4,r24
190 00fa 2B96 adiw r28,73-62
191 00fc 8EAD ldd r24,Y+62
192 00fe 9FAD ldd r25,Y+63
193 0100 2B97 sbiw r28,73-62
194 0102 9FA7 std Y+47,r25
195 0104 8EA7 std Y+46,r24
196 0106 2224 clr r2
197 0108 3324 clr r3
198 010a 2101 movw r4,r2
199 010c 00C0 rjmp .L27
200 .L28:
201 010e 1301 movw r2,r6
202 0110 2401 movw r4,r8
203 .L27:
204 0112 0EA5 ldd r16,Y+46
205 0114 1FA5 ldd r17,Y+47
206 0116 00C0 rjmp .L29
207 .L30:
208 0118 0F5F subi r16,lo8(-(1))
209 011a 1F4F sbci r17,hi8(-(1))
210 .L29:
211 011c F801 movw r30,r16
212 /* #APP */
213 011e F490 lpm r15, Z
214
215 /* #NOAPP */
216 0120 FF20 tst r15
217 0122 01F0 breq .L31
218 0124 F5E2 ldi r31,lo8(37)
219 0126 FF16 cp r15,r31
220 0128 01F4 brne .L30
221 .L31:
222 012a B801 movw r22,r16
223 012c 8EA5 ldd r24,Y+46
224 012e 9FA5 ldd r25,Y+47
225 0130 681B sub r22,r24
226 0132 790B sbc r23,r25
227 0134 01F0 breq .L33
228 0136 0E94 0000 call PRINTP
229 .L33:
230 013a FF20 tst r15
231 013c 01F4 brne .+2
232 013e 00C0 rjmp .L152
233 0140 0F5F subi r16,lo8(-(1))
234 0142 1F4F sbci r17,hi8(-(1))
235 0144 1FA7 std Y+47,r17
236 0146 0EA7 std Y+46,r16
237 0148 1982 std Y+1,__zero_reg__
238 014a AC81 ldd r26,Y+4
239 014c BD81 ldd r27,Y+5
240 014e 1BAA std Y+51,__zero_reg__
241 0150 1AAA std Y+50,__zero_reg__
242 0152 9FEF ldi r25,lo8(-1)
243 0154 99AB std Y+49,r25
244 .L175:
245 0156 EEA5 ldd r30,Y+46
246 0158 FFA5 ldd r31,Y+47
247 015a CF01 movw r24,r30
248 015c 0196 adiw r24,1
249 015e 9FA7 std Y+47,r25
250 0160 8EA7 std Y+46,r24
251 /* #APP */
252 0162 B490 lpm r11, Z
253
254 /* #NOAPP */
255 .L176:
256 0164 95E7 ldi r25,lo8(117)
257 0166 B916 cp r11,r25
258 0168 01F0 breq .L39
259 016a 8B2D mov r24,r11
260 016c 8062 ori r24,lo8(32)
261 016e 8837 cpi r24,lo8(120)
262 0170 01F4 brne .L41
263 .L39:
264 0172 EBA9 ldd r30,Y+51
265 0174 E0FF sbrs r30,0
266 0176 00C0 rjmp .L42
267 0178 2D90 ld r2,X+
268 017a 3D90 ld r3,X+
269 017c 4D90 ld r4,X+
270 017e 5C90 ld r5,X
271 0180 1397 sbiw r26,3
272 0182 1496 adiw r26,4
273 0184 00C0 rjmp .L41
274 .L42:
275 0186 8D91 ld r24,X+
276 0188 9C91 ld r25,X
277 018a 1197 sbiw r26,1
278 018c 1C01 movw r2,r24
279 018e 4424 clr r4
280 0190 5524 clr r5
281 0192 1296 adiw r26,2
282 .L41:
283 0194 F0E2 ldi r31,lo8(32)
284 0196 BF16 cp r11,r31
285 0198 01F4 brne .L44
286 019a 8981 ldd r24,Y+1
287 019c 8823 tst r24
288 019e 01F4 brne .L175
289 01a0 00C0 rjmp .L156
290 .L44:
291 01a2 83E2 ldi r24,lo8(35)
292 01a4 B816 cp r11,r24
293 01a6 01F4 brne .+2
294 01a8 00C0 rjmp .L155
295 01aa 9AE2 ldi r25,lo8(42)
296 01ac B916 cp r11,r25
297 01ae 01F0 breq .L49
298 01b0 EDE2 ldi r30,lo8(45)
299 01b2 BE16 cp r11,r30
300 01b4 01F4 brne .L164
301 01b6 00C0 rjmp .L51
302 .L49:
303 01b8 FD01 movw r30,r26
304 01ba 1296 adiw r26,2
305 01bc E081 ld r30,Z
306 01be EAAB std Y+50,r30
307 01c0 E7FF sbrs r30,7
308 01c2 00C0 rjmp .L175
309 01c4 E195 neg r30
310 01c6 EAAB std Y+50,r30
311 .L51:
312 01c8 FBA9 ldd r31,Y+51
313 01ca F061 ori r31,lo8(16)
314 01cc FF7D andi r31,lo8(-33)
315 01ce 00C0 rjmp .L169
316 .L164:
317 01d0 8BE2 ldi r24,lo8(43)
318 01d2 B816 cp r11,r24
319 01d4 01F4 brne .+2
320 01d6 00C0 rjmp .L156
321 01d8 9EE2 ldi r25,lo8(46)
322 01da B916 cp r11,r25
323 01dc 01F4 brne .L56
324 01de 2EA5 ldd r18,Y+46
325 01e0 3FA5 ldd r19,Y+47
326 01e2 2F5F subi r18,lo8(-(1))
327 01e4 3F4F sbci r19,hi8(-(1))
328 01e6 EEA5 ldd r30,Y+46
329 01e8 FFA5 ldd r31,Y+47
330 /* #APP */
331 01ea 8491 lpm r24, Z
332
333 /* #NOAPP */
334 01ec 8A32 cpi r24,lo8(42)
335 01ee 01F0 breq .L58
336 01f0 B82E mov r11,r24
337 01f2 20E0 ldi r18,lo8(0)
338 01f4 30E0 ldi r19,hi8(0)
339 01f6 00C0 rjmp .L60
340 .L58:
341 01f8 FD01 movw r30,r26
342 01fa 1296 adiw r26,2
343 01fc 4081 ld r20,Z
344 01fe 5181 ldd r21,Z+1
345 0200 57FF sbrs r21,7
346 0202 00C0 rjmp .L61
347 0204 4FEF ldi r20,lo8(-1)
348 0206 5FEF ldi r21,hi8(-1)
349 .L61:
350 0208 49AB std Y+49,r20
351 020a 3FA7 std Y+47,r19
352 020c 2EA7 std Y+46,r18
353 020e 00C0 rjmp .L175
354 .L62:
355 0210 C901 movw r24,r18
356 0212 03E0 ldi r16,3
357 0214 880F 1: lsl r24
358 0216 991F rol r25
359 0218 0A95 dec r16
360 021a 01F4 brne 1b
361 021c 220F lsl r18
362 021e 331F rol r19
363 0220 280F add r18,r24
364 0222 391F adc r19,r25
365 0224 2B0D add r18,r11
366 0226 311D adc r19,__zero_reg__
367 0228 2053 subi r18,lo8(-(-48))
368 022a 3040 sbci r19,hi8(-(-48))
369 /* #APP */
370 022c B490 lpm r11, Z
371
372 /* #NOAPP */
373 .L60:
374 022e 3196 adiw r30,1
375 0230 8B2D mov r24,r11
376 0232 8053 subi r24,lo8(-(-48))
377 0234 8A30 cpi r24,lo8(10)
378 0236 00F0 brlo .L62
379 0238 FFA7 std Y+47,r31
380 023a EEA7 std Y+46,r30
381 023c A901 movw r20,r18
382 023e 37FF sbrs r19,7
383 0240 00C0 rjmp .L64
384 0242 4FEF ldi r20,lo8(-1)
385 0244 5FEF ldi r21,hi8(-1)
386 .L64:
387 0246 49AB std Y+49,r20
388 0248 00C0 rjmp .L176
389 .L56:
390 024a F0E3 ldi r31,lo8(48)
391 024c BF16 cp r11,r31
392 024e 01F4 brne .L65
393 0250 8BA9 ldd r24,Y+51
394 0252 84FD sbrc r24,4
395 0254 00C0 rjmp .L175
396 0256 8062 ori r24,lo8(32)
397 0258 8BAB std Y+51,r24
398 025a 00C0 rjmp .L175
399 .L65:
400 025c 8B2D mov r24,r11
401 025e 8153 subi r24,lo8(-(-49))
402 0260 8930 cpi r24,lo8(9)
403 0262 00F4 brsh .L68
404 0264 20E0 ldi r18,lo8(0)
405 0266 30E0 ldi r19,hi8(0)
406 .L70:
407 0268 C901 movw r24,r18
408 026a F3E0 ldi r31,3
409 026c 880F 1: lsl r24
410 026e 991F rol r25
411 0270 FA95 dec r31
412 0272 01F4 brne 1b
413 0274 220F lsl r18
414 0276 331F rol r19
415 0278 280F add r18,r24
416 027a 391F adc r19,r25
417 027c 2B0D add r18,r11
418 027e 311D adc r19,__zero_reg__
419 0280 2053 subi r18,lo8(-(-48))
420 0282 3040 sbci r19,hi8(-(-48))
421 0284 EEA5 ldd r30,Y+46
422 0286 FFA5 ldd r31,Y+47
423 0288 CF01 movw r24,r30
424 028a 0196 adiw r24,1
425 028c 9FA7 std Y+47,r25
426 028e 8EA7 std Y+46,r24
427 /* #APP */
428 0290 B490 lpm r11, Z
429
430 /* #NOAPP */
431 0292 8B2D mov r24,r11
432 0294 8053 subi r24,lo8(-(-48))
433 0296 8A30 cpi r24,lo8(10)
434 0298 00F0 brlo .L70
435 029a 2AAB std Y+50,r18
436 029c 00C0 rjmp .L176
437 .L68:
438 029e 98E6 ldi r25,lo8(104)
439 02a0 B916 cp r11,r25
440 02a2 01F4 brne .L72
441 02a4 EBA9 ldd r30,Y+51
442 02a6 E460 ori r30,lo8(4)
443 02a8 EBAB std Y+51,r30
444 02aa 00C0 rjmp .L175
445 .L156:
446 02ac B982 std Y+1,r11
447 02ae 00C0 rjmp .L175
448 .L155:
449 02b0 FBA9 ldd r31,Y+51
450 02b2 F860 ori r31,lo8(8)
451 .L169:
452 02b4 FBAB std Y+51,r31
453 02b6 00C0 rjmp .L175
454 .L72:
455 02b8 8CE6 ldi r24,lo8(108)
456 02ba B816 cp r11,r24
457 02bc 01F4 brne .L74
458 02be 9BA9 ldd r25,Y+51
459 02c0 9160 ori r25,lo8(1)
460 02c2 9BAB std Y+51,r25
461 02c4 00C0 rjmp .L175
462 .L74:
463 02c6 BD83 std Y+5,r27
464 02c8 AC83 std Y+4,r26
465 02ca E3E6 ldi r30,lo8(99)
466 02cc BE16 cp r11,r30
467 02ce 01F4 brne .L76
468 02d0 1296 adiw r26,2
469 02d2 BD83 std Y+5,r27
470 02d4 AC83 std Y+4,r26
471 02d6 1297 sbiw r26,2
472 02d8 8C91 ld r24,X
473 02da 8E83 std Y+6,r24
474 02dc 00C0 rjmp .L174
475 .L76:
476 02de F4E4 ldi r31,lo8(68)
477 02e0 BF16 cp r11,r31
478 02e2 01F0 breq .L79
479 02e4 84E6 ldi r24,lo8(100)
480 02e6 B816 cp r11,r24
481 02e8 01F0 breq .L81
482 02ea 99E6 ldi r25,lo8(105)
483 02ec B916 cp r11,r25
484 02ee 01F4 brne .L166
485 02f0 00C0 rjmp .L81
486 .L79:
487 02f2 EBA9 ldd r30,Y+51
488 02f4 E160 ori r30,lo8(1)
489 02f6 EBAB std Y+51,r30
490 .L81:
491 02f8 FBA9 ldd r31,Y+51
492 02fa F0FF sbrs r31,0
493 02fc 00C0 rjmp .L84
494 02fe 1496 adiw r26,4
495 0300 BD83 std Y+5,r27
496 0302 AC83 std Y+4,r26
497 0304 5E90 ld r5,-X
498 0306 4E90 ld r4,-X
499 0308 3E90 ld r3,-X
500 030a 2E90 ld r2,-X
501 030c 00C0 rjmp .L86
502 .L84:
503 030e 1296 adiw r26,2
504 0310 BD83 std Y+5,r27
505 0312 AC83 std Y+4,r26
506 0314 9E91 ld r25,-X
507 0316 8E91 ld r24,-X
508 0318 1C01 movw r2,r24
509 031a 4424 clr r4
510 031c 37FC sbrc r3,7
511 031e 4094 com r4
512 0320 542C mov r5,r4
513 .L86:
514 0322 57FC sbrc r5,7
515 0324 00C0 rjmp .L87
516 0326 8AE0 ldi r24,lo8(10)
517 0328 88AB std Y+48,r24
518 032a 00C0 rjmp .L89
519 .L87:
520 032c 5094 com r5
521 032e 4094 com r4
522 0330 3094 com r3
523 0332 2094 com r2
524 0334 211C adc r2,__zero_reg__
525 0336 311C adc r3,__zero_reg__
526 0338 411C adc r4,__zero_reg__
527 033a 511C adc r5,__zero_reg__
528 033c 8DE2 ldi r24,lo8(45)
529 033e 8983 std Y+1,r24
530 0340 9AE0 ldi r25,lo8(10)
531 0342 98AB std Y+48,r25
532 0344 00C0 rjmp .L89
533 .L166:
534 0346 EFE4 ldi r30,lo8(79)
535 0348 BE16 cp r11,r30
536 034a 01F0 breq .L90
537 034c FFE6 ldi r31,lo8(111)
538 034e BF16 cp r11,r31
539 0350 01F4 brne .L92
540 0352 88E0 ldi r24,lo8(8)
541 0354 00C0 rjmp .L170
542 .L90:
543 0356 9BA9 ldd r25,Y+51
544 0358 9160 ori r25,lo8(1)
545 035a 9BAB std Y+51,r25
546 035c E8E0 ldi r30,lo8(8)
547 035e 00C0 rjmp .L171
548 .L92:
549 0360 F0E7 ldi r31,lo8(112)
550 0362 BF16 cp r11,r31
551 0364 01F4 brne .L95
552 0366 1296 adiw r26,2
553 0368 BD83 std Y+5,r27
554 036a AC83 std Y+4,r26
555 036c 9E91 ld r25,-X
556 036e 8E91 ld r24,-X
557 0370 1C01 movw r2,r24
558 0372 4424 clr r4
559 0374 5524 clr r5
560 0376 8BA9 ldd r24,Y+51
561 0378 8064 ori r24,lo8(64)
562 037a 8BAB std Y+51,r24
563 037c 78E7 ldi r23,lo8(120)
564 037e B72E mov r11,r23
565 0380 00C0 rjmp .L172
566 .L95:
567 0382 E3E7 ldi r30,lo8(115)
568 0384 BE16 cp r11,r30
569 0386 01F4 brne .L97
570 0388 1296 adiw r26,2
571 038a BD83 std Y+5,r27
572 038c AC83 std Y+4,r26
573 038e DE90 ld r13,-X
574 0390 CE90 ld r12,-X
575 0392 C114 cp r12,__zero_reg__
576 0394 D104 cpc r13,__zero_reg__
577 0396 01F4 brne .L99
578 0398 88E2 ldi r24,lo8(40)
579 039a 8E83 std Y+6,r24
580 039c 8EE6 ldi r24,lo8(110)
581 039e 8F83 std Y+7,r24
582 03a0 85E7 ldi r24,lo8(117)
583 03a2 8887 std Y+8,r24
584 03a4 8CE6 ldi r24,lo8(108)
585 03a6 8987 std Y+9,r24
586 03a8 8A87 std Y+10,r24
587 03aa 89E2 ldi r24,lo8(41)
588 03ac 8B87 std Y+11,r24
589 03ae 1C86 std Y+12,__zero_reg__
590 03b0 66E0 ldi r22,lo8(6)
591 03b2 C62E mov r12,r22
592 03b4 D12C mov r13,__zero_reg__
593 03b6 CC0E add r12,r28
594 03b8 DD1E adc r13,r29
595 .L99:
596 03ba F9A9 ldd r31,Y+49
597 03bc F7FD sbrc r31,7
598 03be 00C0 rjmp .L101
599 03c0 4F2F mov r20,r31
600 03c2 5527 clr r21
601 03c4 47FD sbrc r20,7
602 03c6 5095 com r21
603 03c8 60E0 ldi r22,lo8(0)
604 03ca 70E0 ldi r23,hi8(0)
605 03cc C601 movw r24,r12
606 03ce 0E94 0000 call memchr
607 03d2 0097 sbiw r24,0
608 03d4 01F4 brne .L103
609 03d6 19A9 ldd r17,Y+49
610 03d8 00C0 rjmp .L105
611 .L103:
612 03da 8C19 sub r24,r12
613 03dc 19A9 ldd r17,Y+49
614 03de 8117 cp r24,r17
615 03e0 04F4 brge .L105
616 03e2 182F mov r17,r24
617 03e4 00C0 rjmp .L105
618 .L101:
619 03e6 F601 movw r30,r12
620 03e8 0190 ld __tmp_reg__,Z+
621 03ea 0020 tst __tmp_reg__
622 03ec 01F4 brne .-6
623 03ee 3197 sbiw r30,1
624 03f0 1E2F mov r17,r30
625 03f2 1C19 sub r17,r12
626 .L105:
627 03f4 1982 std Y+1,__zero_reg__
628 03f6 4201 movw r8,r4
629 03f8 3101 movw r6,r2
630 03fa 40E0 ldi r20,lo8(0)
631 03fc 00C0 rjmp .L107
632 .L97:
633 03fe 85E5 ldi r24,lo8(85)
634 0400 B816 cp r11,r24
635 0402 01F0 breq .L108
636 0404 95E7 ldi r25,lo8(117)
637 0406 B916 cp r11,r25
638 0408 01F4 brne .L110
639 040a EAE0 ldi r30,lo8(10)
640 .L171:
641 040c E8AB std Y+48,r30
642 040e 00C0 rjmp .L94
643 .L108:
644 0410 FBA9 ldd r31,Y+51
645 0412 F160 ori r31,lo8(1)
646 0414 FBAB std Y+51,r31
647 0416 8AE0 ldi r24,lo8(10)
648 .L170:
649 0418 88AB std Y+48,r24
650 041a 00C0 rjmp .L94
651 .L110:
652 041c 98E5 ldi r25,lo8(88)
653 041e B916 cp r11,r25
654 0420 01F0 breq .L112
655 0422 E8E7 ldi r30,lo8(120)
656 0424 BE16 cp r11,r30
657 0426 01F0 breq .+2
658 0428 00C0 rjmp .L114
659 .L112:
660 042a FBA9 ldd r31,Y+51
661 042c F3FD sbrc r31,3
662 042e 00C0 rjmp .L115
663 0430 80E1 ldi r24,lo8(16)
664 0432 00C0 rjmp .L170
665 .L115:
666 0434 2114 cp r2,__zero_reg__
667 0436 3104 cpc r3,__zero_reg__
668 0438 4104 cpc r4,__zero_reg__
669 043a 5104 cpc r5,__zero_reg__
670 043c 01F4 brne .L117
671 .L172:
672 043e 90E1 ldi r25,lo8(16)
673 0440 98AB std Y+48,r25
674 0442 00C0 rjmp .L94
675 .L117:
676 0444 EBA9 ldd r30,Y+51
677 0446 E064 ori r30,lo8(64)
678 0448 EBAB std Y+51,r30
679 044a F0E1 ldi r31,lo8(16)
680 044c F8AB std Y+48,r31
681 .L94:
682 044e 1982 std Y+1,__zero_reg__
683 .L89:
684 0450 89A9 ldd r24,Y+49
685 0452 87FD sbrc r24,7
686 0454 00C0 rjmp .L119
687 0456 9BA9 ldd r25,Y+51
688 0458 9F7D andi r25,lo8(-33)
689 045a 9BAB std Y+51,r25
690 .L119:
691 045c 2114 cp r2,__zero_reg__
692 045e 3104 cpc r3,__zero_reg__
693 0460 4104 cpc r4,__zero_reg__
694 0462 5104 cpc r5,__zero_reg__
695 0464 01F4 brne .L121
696 0466 E9A9 ldd r30,Y+49
697 0468 EE23 tst r30
698 046a 01F4 brne .L121
699 046c 6624 clr r6
700 046e 7724 clr r7
701 0470 4301 movw r8,r6
702 0472 5EE2 ldi r21,lo8(46)
703 0474 C52E mov r12,r21
704 0476 D12C mov r13,__zero_reg__
705 0478 CC0E add r12,r28
706 047a DD1E adc r13,r29
707 047c 00C0 rjmp .L124
708 .L121:
709 047e 4EE2 ldi r20,lo8(46)
710 0480 C42E mov r12,r20
711 0482 D12C mov r13,__zero_reg__
712 0484 CC0E add r12,r28
713 0486 DD1E adc r13,r29
714 0488 F8A9 ldd r31,Y+48
715 048a EF2E mov r14,r31
716 048c FF24 clr r15
717 048e 0027 clr r16
718 0490 1127 clr r17
719 .L125:
720 0492 C201 movw r24,r4
721 0494 B101 movw r22,r2
722 0496 A801 movw r20,r16
723 0498 9701 movw r18,r14
724 049a 0E94 0000 call __udivmodsi4
725 049e 6A30 cpi r22,lo8(10)
726 04a0 00F4 brsh .L126
727 04a2 30E3 ldi r19,lo8(48)
728 04a4 A32E mov r10,r19
729 04a6 A60E add r10,r22
730 04a8 00C0 rjmp .L128
731 .L126:
732 04aa 27E5 ldi r18,lo8(87)
733 04ac A22E mov r10,r18
734 04ae A60E add r10,r22
735 04b0 88E5 ldi r24,lo8(88)
736 04b2 B816 cp r11,r24
737 04b4 01F4 brne .L128
738 04b6 9FED ldi r25,lo8(-33)
739 04b8 A922 and r10,r25
740 .L128:
741 04ba F601 movw r30,r12
742 04bc A292 st -Z,r10
743 04be 6F01 movw r12,r30
744 04c0 C201 movw r24,r4
745 04c2 B101 movw r22,r2
746 04c4 A801 movw r20,r16
747 04c6 9701 movw r18,r14
748 04c8 0E94 0000 call __udivmodsi4
749 04cc 3901 movw r6,r18
750 04ce 4A01 movw r8,r20
751 04d0 2E14 cp r2,r14
752 04d2 3F04 cpc r3,r15
753 04d4 4006 cpc r4,r16
754 04d6 5106 cpc r5,r17
755 04d8 00F0 brlo .L130
756 04da 1901 movw r2,r18
757 04dc 2A01 movw r4,r20
758 04de 00C0 rjmp .L125
759 .L130:
760 04e0 F8A9 ldd r31,Y+48
761 04e2 F830 cpi r31,lo8(8)
762 04e4 01F4 brne .L124
763 04e6 8BA9 ldd r24,Y+51
764 04e8 83FF sbrs r24,3
765 04ea 00C0 rjmp .L124
766 04ec 90E3 ldi r25,lo8(48)
767 04ee A916 cp r10,r25
768 04f0 01F0 breq .L124
769 04f2 80E3 ldi r24,lo8(48)
770 04f4 F601 movw r30,r12
771 04f6 8293 st -Z,r24
772 04f8 6F01 movw r12,r30
773 .L124:
774 04fa CE01 movw r24,r28
775 04fc 8C19 sub r24,r12
776 04fe 182F mov r17,r24
777 0500 125D subi r17,lo8(-(46))
778 0502 49A9 ldd r20,Y+49
779 0504 00C0 rjmp .L107
780 .L114:
781 0506 BB20 tst r11
782 0508 01F4 brne .+2
783 050a 00C0 rjmp .L152
784 050c BE82 std Y+6,r11
785 .L174:
786 050e 1982 std Y+1,__zero_reg__
787 0510 4201 movw r8,r4
788 0512 3101 movw r6,r2
789 0514 00E0 ldi r16,lo8(0)
790 0516 96E0 ldi r25,lo8(6)
791 0518 C92E mov r12,r25
792 051a D12C mov r13,__zero_reg__
793 051c CC0E add r12,r28
794 051e DD1E adc r13,r29
795 0520 11E0 ldi r17,lo8(1)
796 0522 21E0 ldi r18,lo8(1)
797 0524 00C0 rjmp .L136
798 .L107:
799 0526 212F mov r18,r17
800 0528 042F mov r16,r20
801 052a 011B sub r16,r17
802 052c 07FD sbrc r16,7
803 052e 00E0 ldi r16,lo8(0)
804 .L136:
805 0530 8981 ldd r24,Y+1
806 0532 8823 tst r24
807 0534 01F0 breq .L138
808 0536 812F mov r24,r17
809 0538 8F5F subi r24,lo8(-(1))
810 053a 00C0 rjmp .L140
811 .L138:
812 053c 9BA9 ldd r25,Y+51
813 053e 96FD sbrc r25,6
814 0540 00C0 rjmp .L141
815 0542 812F mov r24,r17
816 0544 00C0 rjmp .L140
817 .L141:
818 0546 822F mov r24,r18
819 0548 8E5F subi r24,lo8(-(2))
820 .L140:
821 054a A82E mov r10,r24
822 054c A00E add r10,r16
823 054e EBA9 ldd r30,Y+51
824 0550 EE2E mov r14,r30
825 0552 FF24 clr r15
826 0554 80E3 ldi r24,lo8(48)
827 0556 482E mov r4,r24
828 0558 512C mov r5,__zero_reg__
829 055a 4E20 and r4,r14
830 055c 5F20 and r5,r15
831 055e 4114 cp r4,__zero_reg__
832 0560 5104 cpc r5,__zero_reg__
833 0562 01F4 brne .L143
834 0564 8AA9 ldd r24,Y+50
835 0566 8A19 sub r24,r10
836 0568 0E94 0000 call PAD_SP
837 .L143:
838 056c 8981 ldd r24,Y+1
839 056e 8823 tst r24
840 0570 01F0 breq .L145
841 0572 61E0 ldi r22,lo8(1)
842 0574 70E0 ldi r23,hi8(1)
843 0576 CE01 movw r24,r28
844 0578 0196 adiw r24,1
845 057a 00C0 rjmp .L173
846 .L145:
847 057c E6FE sbrs r14,6
848 057e 00C0 rjmp .L147
849 0580 80E3 ldi r24,lo8(48)
850 0582 8A83 std Y+2,r24
851 0584 BB82 std Y+3,r11
852 0586 62E0 ldi r22,lo8(2)
853 0588 70E0 ldi r23,hi8(2)
854 058a CE01 movw r24,r28
855 058c 0296 adiw r24,2
856 .L173:
857 058e 0E94 0000 call PRINT
858 .L147:
859 0592 F0E2 ldi r31,lo8(32)
860 0594 4F16 cp r4,r31
861 0596 5104 cpc r5,__zero_reg__
862 0598 01F4 brne .L149
863 059a 8AA9 ldd r24,Y+50
864 059c 8A19 sub r24,r10
865 059e 0E94 0000 call PAD_0
866 .L149:
867 05a2 802F mov r24,r16
868 05a4 0E94 0000 call PAD_0
869 05a8 612F mov r22,r17
870 05aa 7727 clr r23
871 05ac 67FD sbrc r22,7
872 05ae 7095 com r23
873 05b0 C601 movw r24,r12
874 05b2 0E94 0000 call PRINT
875 05b6 E4FE sbrs r14,4
876 05b8 00C0 rjmp .L28
877 05ba 8AA9 ldd r24,Y+50
878 05bc 8A19 sub r24,r10
879 05be 0E94 0000 call PAD_SP
880 05c2 00C0 rjmp .L28
881 .L35:
882 .L152:
883 /* epilogue: frame size=51 */
884 05c4 E396 adiw r28,51
885 05c6 0FB6 in __tmp_reg__,__SREG__
886 05c8 F894 cli
887 05ca DEBF out __SP_H__,r29
888 05cc 0FBE out __SREG__,__tmp_reg__
889 05ce CDBF out __SP_L__,r28
890 05d0 DF91 pop r29
891 05d2 CF91 pop r28
892 05d4 1F91 pop r17
893 05d6 0F91 pop r16
894 05d8 FF90 pop r15
895 05da EF90 pop r14
896 05dc DF90 pop r13
897 05de CF90 pop r12
898 05e0 BF90 pop r11
899 05e2 AF90 pop r10
900 05e4 9F90 pop r9
901 05e6 8F90 pop r8
902 05e8 7F90 pop r7
903 05ea 6F90 pop r6
904 05ec 5F90 pop r5
905 05ee 4F90 pop r4
906 05f0 3F90 pop r3
907 05f2 2F90 pop r2
908 05f4 0895 ret
909 /* epilogue end (size=25) */
910 /* function _printf_P size 692 (641) */
912 .comm DiffNick,2,1
913 .comm DiffRoll,2,1
914 .comm SenderOkay,1,1
915 .comm CosinusNickWinkel,1,1
916 .comm CosinusRollWinkel,1,1
917 .comm PrintZiel,1,1
918 .comm RemoteTasten,1,1
919 .comm Timeout,1,1
920 .comm IntegralNick,4,1
921 .comm IntegralNick2,4,1
922 .comm IntegralRoll,4,1
923 .comm IntegralRoll2,4,1
924 .comm Mess_IntegralNick,4,1
925 .comm Mess_IntegralNick2,4,1
926 .comm Mess_IntegralRoll,4,1
927 .comm Mess_IntegralRoll2,4,1
928 .comm Integral_Gier,4,1
929 .comm Mess_Integral_Gier,4,1
930 .comm h,1,1
931 .comm m,1,1
932 .comm s,1,1
933 .comm Motor_Vorne,1,1
934 .comm Motor_Hinten,1,1
935 .comm Motor_Rechts,1,1
936 .comm Motor_Links,1,1
937 .comm Count,1,1
938 .comm MotorWert,5,1
939 .comm StickNick,2,1
940 .comm StickRoll,2,1
941 .comm StickGier,2,1
942 .comm MotorenEin,1,1
943 /* File "printf_P.c": code 784 = 0x0310 ( 708), prologues 36, epilogues 40 */
DEFINED SYMBOLS
*ABS*:00000000 printf_P.c
C:\DOKUME~1\peter\LOKALE~1\Temp/ccb7J19T.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\peter\LOKALE~1\Temp/ccb7J19T.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\peter\LOKALE~1\Temp/ccb7J19T.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\peter\LOKALE~1\Temp/ccb7J19T.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\peter\LOKALE~1\Temp/ccb7J19T.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\peter\LOKALE~1\Temp/ccb7J19T.s:13 .text:00000000 Putchar
*COM*:00000001 PrintZiel
C:\DOKUME~1\peter\LOKALE~1\Temp/ccb7J19T.s:45 .text:00000032 PAD_0
C:\DOKUME~1\peter\LOKALE~1\Temp/ccb7J19T.s:66 .text:00000048 PAD_SP
C:\DOKUME~1\peter\LOKALE~1\Temp/ccb7J19T.s:87 .text:0000005e PRINTP
C:\DOKUME~1\peter\LOKALE~1\Temp/ccb7J19T.s:122 .text:0000008a PRINT
C:\DOKUME~1\peter\LOKALE~1\Temp/ccb7J19T.s:152 .text:000000b2 _printf_P
*COM*:00000002 DiffNick
*COM*:00000002 DiffRoll
*COM*:00000001 SenderOkay
*COM*:00000001 CosinusNickWinkel
*COM*:00000001 CosinusRollWinkel
*COM*:00000001 RemoteTasten
*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
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
DispPtr
DisplayBuff
uart_putchar
memchr
__udivmodsi4