Subversion Repositories Projects

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

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