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