Rev 21 | 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 .L174:
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 .L175:
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 .L174
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 .L174
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 .L174
354 .L62:
355 0210 C901 movw r24,r18
356 0212 43E0 ldi r20,3
357 0214 880F 1: lsl r24
358 0216 991F rol r25
359 0218 4A95 dec r20
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 .L175
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 .L174
396 0256 8062 ori r24,lo8(32)
397 0258 8BAB std Y+51,r24
398 025a 00C0 rjmp .L174
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 13E0 ldi r17,3
409 026c 880F 1: lsl r24
410 026e 991F rol r25
411 0270 1A95 dec r17
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 .L175
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 .L174
445 .L156:
446 02ac B982 std Y+1,r11
447 02ae 00C0 rjmp .L174
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 .L174
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 .L174
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 .L173
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 90E1 ldi r25,lo8(16)
564 037e 98AB std Y+48,r25
565 0380 E8E7 ldi r30,lo8(120)
566 0382 BE2E mov r11,r30
567 0384 00C0 rjmp .L94
568 .L95:
569 0386 E3E7 ldi r30,lo8(115)
570 0388 BE16 cp r11,r30
571 038a 01F4 brne .L97
572 038c 1296 adiw r26,2
573 038e BD83 std Y+5,r27
574 0390 AC83 std Y+4,r26
575 0392 DE90 ld r13,-X
576 0394 CE90 ld r12,-X
577 0396 C114 cp r12,__zero_reg__
578 0398 D104 cpc r13,__zero_reg__
579 039a 01F4 brne .L99
580 039c 88E2 ldi r24,lo8(40)
581 039e 8E83 std Y+6,r24
582 03a0 8EE6 ldi r24,lo8(110)
583 03a2 8F83 std Y+7,r24
584 03a4 85E7 ldi r24,lo8(117)
585 03a6 8887 std Y+8,r24
586 03a8 8CE6 ldi r24,lo8(108)
587 03aa 8987 std Y+9,r24
588 03ac 8A87 std Y+10,r24
589 03ae 89E2 ldi r24,lo8(41)
590 03b0 8B87 std Y+11,r24
591 03b2 1C86 std Y+12,__zero_reg__
592 03b4 76E0 ldi r23,lo8(6)
593 03b6 C72E mov r12,r23
594 03b8 D12C mov r13,__zero_reg__
595 03ba CC0E add r12,r28
596 03bc DD1E adc r13,r29
597 .L99:
598 03be F9A9 ldd r31,Y+49
599 03c0 F7FD sbrc r31,7
600 03c2 00C0 rjmp .L101
601 03c4 4F2F mov r20,r31
602 03c6 5527 clr r21
603 03c8 47FD sbrc r20,7
604 03ca 5095 com r21
605 03cc 60E0 ldi r22,lo8(0)
606 03ce 70E0 ldi r23,hi8(0)
607 03d0 C601 movw r24,r12
608 03d2 0E94 0000 call memchr
609 03d6 0097 sbiw r24,0
610 03d8 01F4 brne .L103
611 03da 19A9 ldd r17,Y+49
612 03dc 00C0 rjmp .L105
613 .L103:
614 03de 8C19 sub r24,r12
615 03e0 19A9 ldd r17,Y+49
616 03e2 8117 cp r24,r17
617 03e4 04F4 brge .L105
618 03e6 182F mov r17,r24
619 03e8 00C0 rjmp .L105
620 .L101:
621 03ea F601 movw r30,r12
622 03ec 0190 ld __tmp_reg__,Z+
623 03ee 0020 tst __tmp_reg__
624 03f0 01F4 brne .-6
625 03f2 3197 sbiw r30,1
626 03f4 1E2F mov r17,r30
627 03f6 1C19 sub r17,r12
628 .L105:
629 03f8 1982 std Y+1,__zero_reg__
630 03fa 4201 movw r8,r4
631 03fc 3101 movw r6,r2
632 03fe 63E7 ldi r22,lo8(115)
633 0400 B62E mov r11,r22
634 0402 40E0 ldi r20,lo8(0)
635 0404 00C0 rjmp .L107
636 .L97:
637 0406 85E5 ldi r24,lo8(85)
638 0408 B816 cp r11,r24
639 040a 01F0 breq .L108
640 040c 95E7 ldi r25,lo8(117)
641 040e B916 cp r11,r25
642 0410 01F4 brne .L110
643 0412 EAE0 ldi r30,lo8(10)
644 .L171:
645 0414 E8AB std Y+48,r30
646 0416 00C0 rjmp .L94
647 .L108:
648 0418 FBA9 ldd r31,Y+51
649 041a F160 ori r31,lo8(1)
650 041c FBAB std Y+51,r31
651 041e 8AE0 ldi r24,lo8(10)
652 .L170:
653 0420 88AB std Y+48,r24
654 0422 00C0 rjmp .L94
655 .L110:
656 0424 98E5 ldi r25,lo8(88)
657 0426 B916 cp r11,r25
658 0428 01F0 breq .L112
659 042a E8E7 ldi r30,lo8(120)
660 042c BE16 cp r11,r30
661 042e 01F0 breq .+2
662 0430 00C0 rjmp .L114
663 .L112:
664 0432 FBA9 ldd r31,Y+51
665 0434 F3FD sbrc r31,3
666 0436 00C0 rjmp .L115
667 0438 80E1 ldi r24,lo8(16)
668 043a 00C0 rjmp .L170
669 .L115:
670 043c 2114 cp r2,__zero_reg__
671 043e 3104 cpc r3,__zero_reg__
672 0440 4104 cpc r4,__zero_reg__
673 0442 5104 cpc r5,__zero_reg__
674 0444 01F4 brne .L117
675 0446 90E1 ldi r25,lo8(16)
676 0448 98AB std Y+48,r25
677 044a 00C0 rjmp .L94
678 .L117:
679 044c EBA9 ldd r30,Y+51
680 044e E064 ori r30,lo8(64)
681 0450 EBAB std Y+51,r30
682 0452 F0E1 ldi r31,lo8(16)
683 0454 F8AB std Y+48,r31
684 .L94:
685 0456 1982 std Y+1,__zero_reg__
686 .L89:
687 0458 89A9 ldd r24,Y+49
688 045a 87FD sbrc r24,7
689 045c 00C0 rjmp .L119
690 045e 9BA9 ldd r25,Y+51
691 0460 9F7D andi r25,lo8(-33)
692 0462 9BAB std Y+51,r25
693 .L119:
694 0464 2114 cp r2,__zero_reg__
695 0466 3104 cpc r3,__zero_reg__
696 0468 4104 cpc r4,__zero_reg__
697 046a 5104 cpc r5,__zero_reg__
698 046c 01F4 brne .L121
699 046e E9A9 ldd r30,Y+49
700 0470 EE23 tst r30
701 0472 01F4 brne .L121
702 0474 6624 clr r6
703 0476 7724 clr r7
704 0478 4301 movw r8,r6
705 047a 5EE2 ldi r21,lo8(46)
706 047c C52E mov r12,r21
707 047e D12C mov r13,__zero_reg__
708 0480 CC0E add r12,r28
709 0482 DD1E adc r13,r29
710 0484 00C0 rjmp .L124
711 .L121:
712 0486 4EE2 ldi r20,lo8(46)
713 0488 C42E mov r12,r20
714 048a D12C mov r13,__zero_reg__
715 048c CC0E add r12,r28
716 048e DD1E adc r13,r29
717 0490 F8A9 ldd r31,Y+48
718 0492 EF2E mov r14,r31
719 0494 FF24 clr r15
720 0496 0027 clr r16
721 0498 1127 clr r17
722 .L125:
723 049a C201 movw r24,r4
724 049c B101 movw r22,r2
725 049e A801 movw r20,r16
726 04a0 9701 movw r18,r14
727 04a2 0E94 0000 call __udivmodsi4
728 04a6 6A30 cpi r22,lo8(10)
729 04a8 00F4 brsh .L126
730 04aa 30E3 ldi r19,lo8(48)
731 04ac A32E mov r10,r19
732 04ae A60E add r10,r22
733 04b0 00C0 rjmp .L128
734 .L126:
735 04b2 27E5 ldi r18,lo8(87)
736 04b4 A22E mov r10,r18
737 04b6 A60E add r10,r22
738 04b8 88E5 ldi r24,lo8(88)
739 04ba B816 cp r11,r24
740 04bc 01F4 brne .L128
741 04be 9FED ldi r25,lo8(-33)
742 04c0 A922 and r10,r25
743 .L128:
744 04c2 F601 movw r30,r12
745 04c4 A292 st -Z,r10
746 04c6 6F01 movw r12,r30
747 04c8 C201 movw r24,r4
748 04ca B101 movw r22,r2
749 04cc A801 movw r20,r16
750 04ce 9701 movw r18,r14
751 04d0 0E94 0000 call __udivmodsi4
752 04d4 3901 movw r6,r18
753 04d6 4A01 movw r8,r20
754 04d8 2E14 cp r2,r14
755 04da 3F04 cpc r3,r15
756 04dc 4006 cpc r4,r16
757 04de 5106 cpc r5,r17
758 04e0 00F0 brlo .L130
759 04e2 1901 movw r2,r18
760 04e4 2A01 movw r4,r20
761 04e6 00C0 rjmp .L125
762 .L130:
763 04e8 F8A9 ldd r31,Y+48
764 04ea F830 cpi r31,lo8(8)
765 04ec 01F4 brne .L124
766 04ee 8BA9 ldd r24,Y+51
767 04f0 83FF sbrs r24,3
768 04f2 00C0 rjmp .L124
769 04f4 90E3 ldi r25,lo8(48)
770 04f6 A916 cp r10,r25
771 04f8 01F0 breq .L124
772 04fa 80E3 ldi r24,lo8(48)
773 04fc F601 movw r30,r12
774 04fe 8293 st -Z,r24
775 0500 6F01 movw r12,r30
776 .L124:
777 0502 CE01 movw r24,r28
778 0504 8C19 sub r24,r12
779 0506 182F mov r17,r24
780 0508 125D subi r17,lo8(-(46))
781 050a 49A9 ldd r20,Y+49
782 050c 00C0 rjmp .L107
783 .L114:
784 050e BB20 tst r11
785 0510 01F4 brne .+2
786 0512 00C0 rjmp .L152
787 0514 BE82 std Y+6,r11
788 .L173:
789 0516 1982 std Y+1,__zero_reg__
790 0518 4201 movw r8,r4
791 051a 3101 movw r6,r2
792 051c 00E0 ldi r16,lo8(0)
793 051e 96E0 ldi r25,lo8(6)
794 0520 C92E mov r12,r25
795 0522 D12C mov r13,__zero_reg__
796 0524 CC0E add r12,r28
797 0526 DD1E adc r13,r29
798 0528 11E0 ldi r17,lo8(1)
799 052a 21E0 ldi r18,lo8(1)
800 052c 00C0 rjmp .L136
801 .L107:
802 052e 212F mov r18,r17
803 0530 042F mov r16,r20
804 0532 011B sub r16,r17
805 0534 07FD sbrc r16,7
806 0536 00E0 ldi r16,lo8(0)
807 .L136:
808 0538 8981 ldd r24,Y+1
809 053a 8823 tst r24
810 053c 01F0 breq .L138
811 053e 812F mov r24,r17
812 0540 8F5F subi r24,lo8(-(1))
813 0542 00C0 rjmp .L140
814 .L138:
815 0544 9BA9 ldd r25,Y+51
816 0546 96FD sbrc r25,6
817 0548 00C0 rjmp .L141
818 054a 812F mov r24,r17
819 054c 00C0 rjmp .L140
820 .L141:
821 054e 822F mov r24,r18
822 0550 8E5F subi r24,lo8(-(2))
823 .L140:
824 0552 A82E mov r10,r24
825 0554 A00E add r10,r16
826 0556 EBA9 ldd r30,Y+51
827 0558 EE2E mov r14,r30
828 055a FF24 clr r15
829 055c 80E3 ldi r24,lo8(48)
830 055e 482E mov r4,r24
831 0560 512C mov r5,__zero_reg__
832 0562 4E20 and r4,r14
833 0564 5F20 and r5,r15
834 0566 4114 cp r4,__zero_reg__
835 0568 5104 cpc r5,__zero_reg__
836 056a 01F4 brne .L143
837 056c 8AA9 ldd r24,Y+50
838 056e 8A19 sub r24,r10
839 0570 0E94 0000 call PAD_SP
840 .L143:
841 0574 8981 ldd r24,Y+1
842 0576 8823 tst r24
843 0578 01F0 breq .L145
844 057a 61E0 ldi r22,lo8(1)
845 057c 70E0 ldi r23,hi8(1)
846 057e CE01 movw r24,r28
847 0580 0196 adiw r24,1
848 0582 00C0 rjmp .L172
849 .L145:
850 0584 E6FE sbrs r14,6
851 0586 00C0 rjmp .L147
852 0588 80E3 ldi r24,lo8(48)
853 058a 8A83 std Y+2,r24
854 058c BB82 std Y+3,r11
855 058e 62E0 ldi r22,lo8(2)
856 0590 70E0 ldi r23,hi8(2)
857 0592 CE01 movw r24,r28
858 0594 0296 adiw r24,2
859 .L172:
860 0596 0E94 0000 call PRINT
861 .L147:
862 059a F0E2 ldi r31,lo8(32)
863 059c 4F16 cp r4,r31
864 059e 5104 cpc r5,__zero_reg__
865 05a0 01F4 brne .L149
866 05a2 8AA9 ldd r24,Y+50
867 05a4 8A19 sub r24,r10
868 05a6 0E94 0000 call PAD_0
869 .L149:
870 05aa 802F mov r24,r16
871 05ac 0E94 0000 call PAD_0
872 05b0 612F mov r22,r17
873 05b2 7727 clr r23
874 05b4 67FD sbrc r22,7
875 05b6 7095 com r23
876 05b8 C601 movw r24,r12
877 05ba 0E94 0000 call PRINT
878 05be E4FE sbrs r14,4
879 05c0 00C0 rjmp .L28
880 05c2 8AA9 ldd r24,Y+50
881 05c4 8A19 sub r24,r10
882 05c6 0E94 0000 call PAD_SP
883 05ca 00C0 rjmp .L28
884 .L35:
885 .L152:
886 /* epilogue: frame size=51 */
887 05cc E396 adiw r28,51
888 05ce 0FB6 in __tmp_reg__,__SREG__
889 05d0 F894 cli
890 05d2 DEBF out __SP_H__,r29
891 05d4 0FBE out __SREG__,__tmp_reg__
892 05d6 CDBF out __SP_L__,r28
893 05d8 DF91 pop r29
894 05da CF91 pop r28
895 05dc 1F91 pop r17
896 05de 0F91 pop r16
897 05e0 FF90 pop r15
898 05e2 EF90 pop r14
899 05e4 DF90 pop r13
900 05e6 CF90 pop r12
901 05e8 BF90 pop r11
902 05ea AF90 pop r10
903 05ec 9F90 pop r9
904 05ee 8F90 pop r8
905 05f0 7F90 pop r7
906 05f2 6F90 pop r6
907 05f4 5F90 pop r5
908 05f6 4F90 pop r4
909 05f8 3F90 pop r3
910 05fa 2F90 pop r2
911 05fc 0895 ret
912 /* epilogue end (size=25) */
913 /* function _printf_P size 696 (645) */
915 .comm DiffNick,2,1
916 .comm DiffRoll,2,1
917 .comm SenderOkay,1,1
918 .comm CosinusNickWinkel,1,1
919 .comm CosinusRollWinkel,1,1
920 .comm durchschnitt_northing,4,1
921 .comm durchschnitt_easting,4,1
922 .comm gps_p,2,1
923 .comm gps_d,2,1
924 .comm skal,2,1
925 .comm gps_gethome,2,1
926 .comm PrintZiel,1,1
927 .comm RemoteTasten,1,1
928 .comm Timeout,1,1
929 .comm IntegralNick,4,1
930 .comm IntegralNick2,4,1
931 .comm IntegralRoll,4,1
932 .comm IntegralRoll2,4,1
933 .comm Mess_IntegralNick,4,1
934 .comm Mess_IntegralNick2,4,1
935 .comm Mess_IntegralRoll,4,1
936 .comm Mess_IntegralRoll2,4,1
937 .comm Integral_Gier,4,1
938 .comm Mess_Integral_Gier,4,1
939 .comm h,1,1
940 .comm m,1,1
941 .comm s,1,1
942 .comm Motor_Vorne,1,1
943 .comm Motor_Hinten,1,1
944 .comm Motor_Rechts,1,1
945 .comm Motor_Links,1,1
946 .comm Count,1,1
947 .comm MotorWert,5,1
948 .comm StickNick,2,1
949 .comm StickRoll,2,1
950 .comm StickGier,2,1
951 .comm MotorenEin,1,1
952 /* File "printf_P.c": code 788 = 0x0314 ( 712), prologues 36, epilogues 40 */
DEFINED SYMBOLS
*ABS*:00000000 printf_P.c
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccDOFzml.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccDOFzml.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccDOFzml.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccDOFzml.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccDOFzml.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccDOFzml.s:13 .text:00000000 Putchar
*COM*:00000001 PrintZiel
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccDOFzml.s:45 .text:00000032 PAD_0
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccDOFzml.s:66 .text:00000048 PAD_SP
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccDOFzml.s:87 .text:0000005e PRINTP
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccDOFzml.s:122 .text:0000008a PRINT
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccDOFzml.s:152 .text:000000b2 _printf_P
*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*:00000002 gps_gethome
*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