0,0 → 1,924 |
1 .file "printf_P.c" |
2 .arch atmega644p |
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 PrintZiel,1,1 |
913 /* File "printf_P.c": code 784 = 0x0310 ( 708), prologues 36, epilogues 40 */ |
DEFINED SYMBOLS |
*ABS*:00000000 printf_P.c |
C:\Users\gunterl\AppData\Local\Temp/ccrgoMQu.s:3 *ABS*:0000003f __SREG__ |
C:\Users\gunterl\AppData\Local\Temp/ccrgoMQu.s:4 *ABS*:0000003e __SP_H__ |
C:\Users\gunterl\AppData\Local\Temp/ccrgoMQu.s:5 *ABS*:0000003d __SP_L__ |
C:\Users\gunterl\AppData\Local\Temp/ccrgoMQu.s:6 *ABS*:00000000 __tmp_reg__ |
C:\Users\gunterl\AppData\Local\Temp/ccrgoMQu.s:7 *ABS*:00000001 __zero_reg__ |
C:\Users\gunterl\AppData\Local\Temp/ccrgoMQu.s:13 .text:00000000 Putchar |
*COM*:00000001 PrintZiel |
C:\Users\gunterl\AppData\Local\Temp/ccrgoMQu.s:45 .text:00000032 PAD_0 |
C:\Users\gunterl\AppData\Local\Temp/ccrgoMQu.s:66 .text:00000048 PAD_SP |
C:\Users\gunterl\AppData\Local\Temp/ccrgoMQu.s:87 .text:0000005e PRINTP |
C:\Users\gunterl\AppData\Local\Temp/ccrgoMQu.s:122 .text:0000008a PRINT |
C:\Users\gunterl\AppData\Local\Temp/ccrgoMQu.s:152 .text:000000b2 _printf_P |
|
UNDEFINED SYMBOLS |
__do_copy_data |
__do_clear_bss |
DispPtr |
DisplayBuff |
uart_putchar |
memchr |
__udivmodsi4 |