Subversion Repositories FlightCtrl

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2248 - 1
   1               		.file	"printf_P.c"
2
   2               		.arch atmega644
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 01F0      		breq .L5
19
  20 000a 892F      		mov r24,r25
20
  21 000c 0E94 0000 		call uart_putchar
21
  22 0010 282F      		mov r18,r24
22
  23 0012 3327      		clr r19
23
  24 0014 00C0      		rjmp .L1
24
  25               	.L5:
25
  26 0016 8091 0000 		lds r24,DispPtr
26
  27 001a E82F      		mov r30,r24
27
  28 001c FF27      		clr r31
28
  29 001e E050      		subi r30,lo8(-(DisplayBuff))
29
  30 0020 F040      		sbci r31,hi8(-(DisplayBuff))
30
  31 0022 9083      		st Z,r25
31
  32 0024 8F5F      		subi r24,lo8(-(1))
32
  33 0026 8093 0000 		sts DispPtr,r24
33
  34 002a 21E0      		ldi r18,lo8(1)
34
  35 002c 30E0      		ldi r19,hi8(1)
35
  36               	.L1:
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	PRINT
42
  45               	PRINT:
43
  46               	/* prologue: frame size=0 */
44
  47 0032 0F93      		push r16
45
  48 0034 1F93      		push r17
46
  49 0036 CF93      		push r28
47
  50 0038 DF93      		push r29
48
  51               	/* prologue end (size=4) */
49
  52 003a 8C01      		movw r16,r24
50
  53 003c EB01      		movw r28,r22
51
  54 003e 672B      		or r22,r23
52
  55 0040 01F0      		breq .L12
53
  56               	.L10:
54
  57 0042 F801      		movw r30,r16
55
  58 0044 8191      		ld r24,Z+
56
  59 0046 8F01      		movw r16,r30
57
  60 0048 0E94 0000 		call Putchar
58
  61 004c 2197      		sbiw r28,1
59
  62 004e 01F0      		breq .L12
60
  63 0050 F801      		movw r30,r16
61
  64 0052 8191      		ld r24,Z+
62
  65 0054 8F01      		movw r16,r30
63
  66 0056 0E94 0000 		call Putchar
64
  67 005a 2197      		sbiw r28,1
65
  68 005c 01F4      		brne .L10
66
  69               	.L12:
67
  70               	/* epilogue: frame size=0 */
68
  71 005e DF91      		pop r29
69
  72 0060 CF91      		pop r28
70
  73 0062 1F91      		pop r17
71
  74 0064 0F91      		pop r16
72
  75 0066 0895      		ret
73
  76               	/* epilogue end (size=5) */
74
  77               	/* function PRINT size 29 (20) */
75
  79               	.global	PRINTP
76
  81               	PRINTP:
77
  82               	/* prologue: frame size=0 */
78
  83 0068 0F93      		push r16
79
  84 006a 1F93      		push r17
80
  85 006c CF93      		push r28
81
  86 006e DF93      		push r29
82
  87               	/* prologue end (size=4) */
83
  88 0070 8C01      		movw r16,r24
84
  89 0072 EB01      		movw r28,r22
85
  90 0074 672B      		or r22,r23
86
  91 0076 01F0      		breq .L20
87
  92               	.L18:
88
  93 0078 F801      		movw r30,r16
89
  94 007a 0F5F      		subi r16,lo8(-(1))
90
  95 007c 1F4F      		sbci r17,hi8(-(1))
91
  96               	/* #APP */
92
  97 007e 8491      		lpm r24, Z
93
  98
94
  99               	/* #NOAPP */
95
 100 0080 0E94 0000 		call Putchar
96
 101 0084 2197      		sbiw r28,1
97
 102 0086 01F0      		breq .L20
98
 103 0088 F801      		movw r30,r16
99
 104 008a 0F5F      		subi r16,lo8(-(1))
100
 105 008c 1F4F      		sbci r17,hi8(-(1))
101
 106               	/* #APP */
102
 107 008e 8491      		lpm r24, Z
103
 108
104
 109               	/* #NOAPP */
105
 110 0090 0E94 0000 		call Putchar
106
 111 0094 2197      		sbiw r28,1
107
 112 0096 01F4      		brne .L18
108
 113               	.L20:
109
 114               	/* epilogue: frame size=0 */
110
 115 0098 DF91      		pop r29
111
 116 009a CF91      		pop r28
112
 117 009c 1F91      		pop r17
113
 118 009e 0F91      		pop r16
114
 119 00a0 0895      		ret
115
 120               	/* epilogue end (size=5) */
116
 121               	/* function PRINTP size 37 (28) */
117
 123               	.global	PAD_SP
118
 125               	PAD_SP:
119
 126               	/* prologue: frame size=0 */
120
 127 00a2 CF93      		push r28
121
 128               	/* prologue end (size=1) */
122
 129 00a4 C82F      		mov r28,r24
123
 130 00a6 1816      		cp __zero_reg__,r24
124
 131 00a8 04F4      		brge .L28
125
 132               	.L26:
126
 133 00aa 80E2      		ldi r24,lo8(32)
127
 134 00ac 0E94 0000 		call Putchar
128
 135 00b0 C150      		subi r28,lo8(-(-1))
129
 136 00b2 1C16      		cp __zero_reg__,r28
130
 137 00b4 04F0      		brlt .L26
131
 138               	.L28:
132
 139               	/* epilogue: frame size=0 */
133
 140 00b6 CF91      		pop r28
134
 141 00b8 0895      		ret
135
 142               	/* epilogue end (size=2) */
136
 143               	/* function PAD_SP size 12 (9) */
137
 145               	.global	PAD_0
138
 147               	PAD_0:
139
 148               	/* prologue: frame size=0 */
140
 149 00ba CF93      		push r28
141
 150               	/* prologue end (size=1) */
142
 151 00bc C82F      		mov r28,r24
143
 152 00be 1816      		cp __zero_reg__,r24
144
 153 00c0 04F4      		brge .L35
145
 154               	.L33:
146
 155 00c2 80E3      		ldi r24,lo8(48)
147
 156 00c4 0E94 0000 		call Putchar
148
 157 00c8 C150      		subi r28,lo8(-(-1))
149
 158 00ca 1C16      		cp __zero_reg__,r28
150
 159 00cc 04F0      		brlt .L33
151
 160               	.L35:
152
 161               	/* epilogue: frame size=0 */
153
 162 00ce CF91      		pop r28
154
 163 00d0 0895      		ret
155
 164               	/* epilogue end (size=2) */
156
 165               	/* function PAD_0 size 12 (9) */
157
 167               	.global	_printf_P
158
 169               	_printf_P:
159
 170               	/* prologue: frame size=48 */
160
 171 00d2 A0E3      		ldi r26,lo8(48)
161
 172 00d4 B0E0      		ldi r27,hi8(48)
162
 173 00d6 E0E0      		ldi r30,pm_lo8(1f)
163
 174 00d8 F0E0      		ldi r31,pm_hi8(1f)
164
 175 00da 0C94 0000 		jmp __prologue_saves__+0
165
 176               	1:
166
 177               	/* prologue end (size=6) */
167
 178 00de 2696      		adiw r28,69-63
168
 179 00e0 8FAD      		ldd r24,Y+63
169
 180 00e2 2697      		sbiw r28,69-63
170
 181 00e4 2896      		adiw r28,70-62
171
 182 00e6 EEAD      		ldd r30,Y+62
172
 183 00e8 FFAD      		ldd r31,Y+63
173
 184 00ea 2897      		sbiw r28,70-62
174
 185 00ec 8824      		clr r8
175
 186 00ee 9924      		clr r9
176
 187 00f0 5401      		movw r10,r8
177
 188 00f2 8093 0000 		sts PrintZiel,r24
178
 189 00f6 48E4      		ldi r20,lo8(72)
179
 190 00f8 C42E      		mov r12,r20
180
 191 00fa D12C      		mov r13,__zero_reg__
181
 192 00fc CC0E      		add r12,r28
182
 193 00fe DD1E      		adc r13,r29
183
 194 0100 7F01      		movw r14,r30
184
 195               	.L160:
185
 196 0102 C701      		movw r24,r14
186
 197               	.L154:
187
 198 0104 F701      		movw r30,r14
188
 199               	/* #APP */
189
 200 0106 1491      		lpm r17, Z
190
 201
191
 202               	/* #NOAPP */
192
 203 0108 1123      		tst r17
193
 204 010a 01F0      		breq .L40
194
 205 010c 1532      		cpi r17,lo8(37)
195
 206 010e 01F0      		breq .L40
196
 207 0110 0894      		sec
197
 208 0112 E11C      		adc r14,__zero_reg__
198
 209 0114 F11C      		adc r15,__zero_reg__
199
 210 0116 00C0      		rjmp .L154
200
 211               	.L40:
201
 212 0118 B701      		movw r22,r14
202
 213 011a 681B      		sub r22,r24
203
 214 011c 790B      		sbc r23,r25
204
 215 011e 01F0      		breq .+2
205
 216 0120 00C0      		rjmp .L163
206
 217               	.L43:
207
 218 0122 1123      		tst r17
208
 219 0124 01F4      		brne .+2
209
 220 0126 00C0      		rjmp .L45
210
 221 0128 0894      		sec
211
 222 012a E11C      		adc r14,__zero_reg__
212
 223 012c F11C      		adc r15,__zero_reg__
213
 224 012e 1FA6      		std Y+47,__zero_reg__
214
 225 0130 3FA4      		ldd r3,Y+47
215
 226 0132 232C      		mov r2,r3
216
 227 0134 0FEF      		ldi r16,lo8(-1)
217
 228 0136 39A6      		std Y+41,r3
218
 229               	.L46:
219
 230               	.L161:
220
 231 0138 F701      		movw r30,r14
221
 232 013a 0894      		sec
222
 233 013c E11C      		adc r14,__zero_reg__
223
 234 013e F11C      		adc r15,__zero_reg__
224
 235               	/* #APP */
225
 236 0140 1491      		lpm r17, Z
226
 237
227
 238               	.L47:
228
 239               	/* #NOAPP */
229
 240               	.L162:
230
 241 0142 1537      		cpi r17,lo8(117)
231
 242 0144 01F0      		breq .L49
232
 243               	.L168:
233
 244 0146 812F      		mov r24,r17
234
 245 0148 8062      		ori r24,lo8(32)
235
 246 014a 8837      		cpi r24,lo8(120)
236
 247 014c 01F0      		breq .L49
237
 248               	.L48:
238
 249 014e 1032      		cpi r17,lo8(32)
239
 250 0150 01F4      		brne .+2
240
 251 0152 00C0      		rjmp .L164
241
 252               	.L52:
242
 253 0154 1332      		cpi r17,lo8(35)
243
 254 0156 01F4      		brne .+2
244
 255 0158 00C0      		rjmp .L165
245
 256 015a 1A32      		cpi r17,lo8(42)
246
 257 015c 01F4      		brne .+2
247
 258 015e 00C0      		rjmp .L58
248
 259 0160 1D32      		cpi r17,lo8(45)
249
 260 0162 01F4      		brne .+2
250
 261 0164 00C0      		rjmp .L58
251
 262 0166 1B32      		cpi r17,lo8(43)
252
 263 0168 01F0      		breq .L155
253
 264 016a 1E32      		cpi r17,lo8(46)
254
 265 016c 01F0      		breq .L166
255
 266 016e 1033      		cpi r17,lo8(48)
256
 267 0170 01F4      		brne .+2
257
 268 0172 00C0      		rjmp .L167
258
 269 0174 812F      		mov r24,r17
259
 270 0176 8153      		subi r24,lo8(-(-49))
260
 271 0178 8930      		cpi r24,lo8(9)
261
 272 017a 00F0      		brlo .+2
262
 273 017c 00C0      		rjmp .L75
263
 274 017e 60E0      		ldi r22,lo8(0)
264
 275 0180 70E0      		ldi r23,hi8(0)
265
 276               	.L76:
266
 277 0182 CB01      		movw r24,r22
267
 278 0184 880F      		lsl r24
268
 279 0186 991F      		rol r25
269
 280 0188 880F      		lsl r24
270
 281 018a 991F      		rol r25
271
 282 018c 880F      		lsl r24
272
 283 018e 991F      		rol r25
273
 284 0190 860F      		add r24,r22
274
 285 0192 971F      		adc r25,r23
275
 286 0194 680F      		add r22,r24
276
 287 0196 791F      		adc r23,r25
277
 288 0198 610F      		add r22,r17
278
 289 019a 711D      		adc r23,__zero_reg__
279
 290 019c 6053      		subi r22,lo8(-(-48))
280
 291 019e 7040      		sbci r23,hi8(-(-48))
281
 292 01a0 F701      		movw r30,r14
282
 293 01a2 0894      		sec
283
 294 01a4 E11C      		adc r14,__zero_reg__
284
 295 01a6 F11C      		adc r15,__zero_reg__
285
 296               	/* #APP */
286
 297 01a8 1491      		lpm r17, Z
287
 298
288
 299               	/* #NOAPP */
289
 300 01aa 812F      		mov r24,r17
290
 301 01ac 8053      		subi r24,lo8(-(-48))
291
 302 01ae 8A30      		cpi r24,lo8(10)
292
 303 01b0 00F0      		brlo .L76
293
 304 01b2 262E      		mov r2,r22
294
 305 01b4 1537      		cpi r17,lo8(117)
295
 306 01b6 01F4      		brne .L168
296
 307               	.L49:
297
 308 01b8 30FE      		sbrs r3,0
298
 309 01ba 00C0      		rjmp .L50
299
 310 01bc F601      		movw r30,r12
300
 311 01be 84E0      		ldi r24,lo8(4)
301
 312 01c0 90E0      		ldi r25,hi8(4)
302
 313 01c2 C80E      		add r12,r24
303
 314 01c4 D91E      		adc r13,r25
304
 315 01c6 8080      		ld r8,Z
305
 316 01c8 9180      		ldd r9,Z+1
306
 317 01ca A280      		ldd r10,Z+2
307
 318 01cc B380      		ldd r11,Z+3
308
 319 01ce 1032      		cpi r17,lo8(32)
309
 320 01d0 01F0      		breq .+2
310
 321 01d2 00C0      		rjmp .L52
311
 322               	.L164:
312
 323 01d4 89A5      		ldd r24,Y+41
313
 324 01d6 8823      		tst r24
314
 325 01d8 01F0      		breq .+2
315
 326 01da 00C0      		rjmp .L161
316
 327               	.L155:
317
 328 01dc 19A7      		std Y+41,r17
318
 329 01de 00C0      		rjmp .L161
319
 330               	.L166:
320
 331 01e0 F701      		movw r30,r14
321
 332 01e2 0894      		sec
322
 333 01e4 E11C      		adc r14,__zero_reg__
323
 334 01e6 F11C      		adc r15,__zero_reg__
324
 335               	/* #APP */
325
 336 01e8 1491      		lpm r17, Z
326
 337
327
 338               	/* #NOAPP */
328
 339 01ea 1A32      		cpi r17,lo8(42)
329
 340 01ec 01F4      		brne .+2
330
 341 01ee 00C0      		rjmp .L169
331
 342 01f0 60E0      		ldi r22,lo8(0)
332
 343 01f2 70E0      		ldi r23,hi8(0)
333
 344 01f4 00C0      		rjmp .L156
334
 345               	.L170:
335
 346 01f6 CB01      		movw r24,r22
336
 347 01f8 880F      		lsl r24
337
 348 01fa 991F      		rol r25
338
 349 01fc 880F      		lsl r24
339
 350 01fe 991F      		rol r25
340
 351 0200 880F      		lsl r24
341
 352 0202 991F      		rol r25
342
 353 0204 860F      		add r24,r22
343
 354 0206 971F      		adc r25,r23
344
 355 0208 680F      		add r22,r24
345
 356 020a 791F      		adc r23,r25
346
 357 020c 610F      		add r22,r17
347
 358 020e 711D      		adc r23,__zero_reg__
348
 359 0210 6053      		subi r22,lo8(-(-48))
349
 360 0212 7040      		sbci r23,hi8(-(-48))
350
 361 0214 F701      		movw r30,r14
351
 362 0216 0894      		sec
352
 363 0218 E11C      		adc r14,__zero_reg__
353
 364 021a F11C      		adc r15,__zero_reg__
354
 365               	/* #APP */
355
 366 021c 1491      		lpm r17, Z
356
 367
357
 368               	/* #NOAPP */
358
 369               	.L156:
359
 370 021e 812F      		mov r24,r17
360
 371 0220 8053      		subi r24,lo8(-(-48))
361
 372 0222 8A30      		cpi r24,lo8(10)
362
 373 0224 00F0      		brlo .L170
363
 374 0226 EFEF      		ldi r30,hi8(-1)
364
 375 0228 6F3F      		cpi r22,lo8(-1)
365
 376 022a 7E07      		cpc r23,r30
366
 377 022c 04F4      		brge .L70
367
 378 022e 6FEF      		ldi r22,lo8(-1)
368
 379 0230 7FEF      		ldi r23,hi8(-1)
369
 380               	.L70:
370
 381 0232 062F      		mov r16,r22
371
 382 0234 00C0      		rjmp .L162
372
 383               	.L50:
373
 384 0236 F601      		movw r30,r12
374
 385 0238 82E0      		ldi r24,lo8(2)
375
 386 023a 90E0      		ldi r25,hi8(2)
376
 387 023c C80E      		add r12,r24
377
 388 023e D91E      		adc r13,r25
378
 389 0240 8081      		ld r24,Z
379
 390 0242 9181      		ldd r25,Z+1
380
 391 0244 4C01      		movw r8,r24
381
 392 0246 AA24      		clr r10
382
 393 0248 BB24      		clr r11
383
 394 024a 00C0      		rjmp .L48
384
 395               	.L163:
385
 396 024c 0E94 0000 		call PRINTP
386
 397 0250 00C0      		rjmp .L43
387
 398               	.L58:
388
 399 0252 1A32      		cpi r17,lo8(42)
389
 400 0254 01F4      		brne .L59
390
 401 0256 F601      		movw r30,r12
391
 402 0258 82E0      		ldi r24,lo8(2)
392
 403 025a 90E0      		ldi r25,hi8(2)
393
 404 025c C80E      		add r12,r24
394
 405 025e D91E      		adc r13,r25
395
 406 0260 2080      		ld r2,Z
396
 407 0262 2220      		tst r2
397
 408 0264 04F0      		brlt .+2
398
 409 0266 00C0      		rjmp .L161
399
 410 0268 2194      		neg r2
400
 411               	.L59:
401
 412 026a 90E1      		ldi r25,lo8(16)
402
 413 026c 392A      		or r3,r25
403
 414 026e EFED      		ldi r30,lo8(-33)
404
 415 0270 3E22      		and r3,r30
405
 416 0272 00C0      		rjmp .L161
406
 417               	.L165:
407
 418 0274 98E0      		ldi r25,lo8(8)
408
 419 0276 392A      		or r3,r25
409
 420 0278 00C0      		rjmp .L161
410
 421               	.L75:
411
 422 027a 1836      		cpi r17,lo8(104)
412
 423 027c 01F0      		breq .L171
413
 424 027e 1C36      		cpi r17,lo8(108)
414
 425 0280 01F4      		brne .L82
415
 426 0282 81E0      		ldi r24,lo8(1)
416
 427 0284 382A      		or r3,r24
417
 428 0286 00C0      		rjmp .L161
418
 429               	.L167:
419
 430 0288 34FC      		sbrc r3,4
420
 431 028a 00C0      		rjmp .L161
421
 432 028c F0E2      		ldi r31,lo8(32)
422
 433 028e 3F2A      		or r3,r31
423
 434 0290 00C0      		rjmp .L161
424
 435               	.L169:
425
 436 0292 F601      		movw r30,r12
426
 437 0294 82E0      		ldi r24,lo8(2)
427
 438 0296 90E0      		ldi r25,hi8(2)
428
 439 0298 C80E      		add r12,r24
429
 440 029a D91E      		adc r13,r25
430
 441 029c 6081      		ld r22,Z
431
 442 029e 7181      		ldd r23,Z+1
432
 443 02a0 9FEF      		ldi r25,hi8(-1)
433
 444 02a2 6F3F      		cpi r22,lo8(-1)
434
 445 02a4 7907      		cpc r23,r25
435
 446 02a6 04F4      		brge .L66
436
 447 02a8 6FEF      		ldi r22,lo8(-1)
437
 448 02aa 7FEF      		ldi r23,hi8(-1)
438
 449               	.L66:
439
 450 02ac 062F      		mov r16,r22
440
 451 02ae 00C0      		rjmp .L161
441
 452               	.L171:
442
 453 02b0 24E0      		ldi r18,lo8(4)
443
 454 02b2 322A      		or r3,r18
444
 455 02b4 00C0      		rjmp .L161
445
 456               	.L82:
446
 457 02b6 1336      		cpi r17,lo8(99)
447
 458 02b8 01F4      		brne .+2
448
 459 02ba 00C0      		rjmp .L172
449
 460 02bc 1434      		cpi r17,lo8(68)
450
 461 02be 01F4      		brne .+2
451
 462 02c0 00C0      		rjmp .L87
452
 463 02c2 1436      		cpi r17,lo8(100)
453
 464 02c4 01F4      		brne .+2
454
 465 02c6 00C0      		rjmp .L87
455
 466 02c8 1936      		cpi r17,lo8(105)
456
 467 02ca 01F4      		brne .+2
457
 468 02cc 00C0      		rjmp .L87
458
 469 02ce 1F34      		cpi r17,lo8(79)
459
 470 02d0 01F4      		brne .+2
460
 471 02d2 00C0      		rjmp .L95
461
 472 02d4 1F36      		cpi r17,lo8(111)
462
 473 02d6 01F4      		brne .+2
463
 474 02d8 00C0      		rjmp .L95
464
 475 02da 1037      		cpi r17,lo8(112)
465
 476 02dc 01F4      		brne .+2
466
 477 02de 00C0      		rjmp .L173
467
 478 02e0 1337      		cpi r17,lo8(115)
468
 479 02e2 01F4      		brne .+2
469
 480 02e4 00C0      		rjmp .L174
470
 481 02e6 1535      		cpi r17,lo8(85)
471
 482 02e8 01F4      		brne .+2
472
 483 02ea 00C0      		rjmp .L110
473
 484 02ec 1537      		cpi r17,lo8(117)
474
 485 02ee 01F4      		brne .+2
475
 486 02f0 00C0      		rjmp .L110
476
 487 02f2 1835      		cpi r17,lo8(88)
477
 488 02f4 01F4      		brne .+2
478
 489 02f6 00C0      		rjmp .L114
479
 490 02f8 1837      		cpi r17,lo8(120)
480
 491 02fa 01F4      		brne .+2
481
 492 02fc 00C0      		rjmp .L114
482
 493 02fe 1123      		tst r17
483
 494 0300 01F4      		brne .+2
484
 495 0302 00C0      		rjmp .L45
485
 496 0304 CE01      		movw r24,r28
486
 497 0306 0196      		adiw r24,1
487
 498 0308 9DA7      		std Y+45,r25
488
 499 030a 8CA7      		std Y+44,r24
489
 500 030c 1983      		std Y+1,r17
490
 501               	.L159:
491
 502 030e 81E0      		ldi r24,lo8(1)
492
 503 0310 482E      		mov r4,r24
493
 504               	.L157:
494
 505 0312 19A6      		std Y+41,__zero_reg__
495
 506 0314 632C      		mov r6,r3
496
 507 0316 7724      		clr r7
497
 508               	.L54:
498
 509 0318 042D      		mov r16,r4
499
 510 031a 5FA4      		ldd r5,Y+47
500
 511 031c 5418      		sub r5,r4
501
 512 031e 57FC      		sbrc r5,7
502
 513 0320 00C0      		rjmp .L175
503
 514               	.L129:
504
 515 0322 29A5      		ldd r18,Y+41
505
 516 0324 2223      		tst r18
506
 517 0326 01F0      		breq .L130
507
 518 0328 0F5F      		subi r16,lo8(-(1))
508
 519               	.L131:
509
 520 032a 050D      		add r16,r5
510
 521 032c C301      		movw r24,r6
511
 522 032e 8073      		andi r24,lo8(48)
512
 523 0330 9070      		andi r25,hi8(48)
513
 524 0332 892B      		or r24,r25
514
 525 0334 01F4      		brne .+2
515
 526 0336 00C0      		rjmp .L176
516
 527               	.L133:
517
 528 0338 2223      		tst r18
518
 529 033a 01F0      		breq .+2
519
 530 033c 00C0      		rjmp .L177
520
 531 033e 66FC      		sbrc r6,6
521
 532 0340 00C0      		rjmp .L178
522
 533               	.L135:
523
 534 0342 C301      		movw r24,r6
524
 535 0344 8073      		andi r24,lo8(48)
525
 536 0346 9070      		andi r25,hi8(48)
526
 537 0348 8097      		sbiw r24,32
527
 538 034a 01F4      		brne .+2
528
 539 034c 00C0      		rjmp .L179
529
 540               	.L137:
530
 541 034e 852D      		mov r24,r5
531
 542 0350 0E94 0000 		call PAD_0
532
 543 0354 842D      		mov r24,r4
533
 544 0356 9927      		clr r25
534
 545 0358 87FD      		sbrc r24,7
535
 546 035a 9095      		com r25
536
 547 035c BC01      		movw r22,r24
537
 548 035e 8CA5      		ldd r24,Y+44
538
 549 0360 9DA5      		ldd r25,Y+45
539
 550 0362 0E94 0000 		call PRINT
540
 551 0366 64FE      		sbrs r6,4
541
 552 0368 00C0      		rjmp .L160
542
 553 036a 822D      		mov r24,r2
543
 554 036c 801B      		sub r24,r16
544
 555 036e 0E94 0000 		call PAD_SP
545
 556 0372 00C0      		rjmp .L160
546
 557               	.L130:
547
 558 0374 66FE      		sbrs r6,6
548
 559 0376 00C0      		rjmp .L131
549
 560 0378 0E5F      		subi r16,lo8(-(2))
550
 561 037a 00C0      		rjmp .L131
551
 562               	.L175:
552
 563 037c 5524      		clr r5
553
 564 037e 00C0      		rjmp .L129
554
 565               	.L114:
555
 566 0380 E0E1      		ldi r30,lo8(16)
556
 567 0382 EEA7      		std Y+46,r30
557
 568 0384 33FE      		sbrs r3,3
558
 569 0386 00C0      		rjmp .L97
559
 570 0388 8114      		cp r8,__zero_reg__
560
 571 038a 9104      		cpc r9,__zero_reg__
561
 572 038c A104      		cpc r10,__zero_reg__
562
 573 038e B104      		cpc r11,__zero_reg__
563
 574 0390 01F0      		breq .L97
564
 575 0392 F0E4      		ldi r31,lo8(64)
565
 576 0394 3F2A      		or r3,r31
566
 577               	.L97:
567
 578 0396 19A6      		std Y+41,__zero_reg__
568
 579               	.L92:
569
 580 0398 0FA7      		std Y+47,r16
570
 581 039a 07FD      		sbrc r16,7
571
 582 039c 00C0      		rjmp .L116
572
 583 039e 2FED      		ldi r18,lo8(-33)
573
 584 03a0 3222      		and r3,r18
574
 585               	.L116:
575
 586 03a2 CE01      		movw r24,r28
576
 587 03a4 8996      		adiw r24,41
577
 588 03a6 9DA7      		std Y+45,r25
578
 589 03a8 8CA7      		std Y+44,r24
579
 590 03aa 8114      		cp r8,__zero_reg__
580
 591 03ac 9104      		cpc r9,__zero_reg__
581
 592 03ae A104      		cpc r10,__zero_reg__
582
 593 03b0 B104      		cpc r11,__zero_reg__
583
 594 03b2 01F4      		brne .L118
584
 595 03b4 9FA5      		ldd r25,Y+47
585
 596 03b6 9923      		tst r25
586
 597 03b8 01F0      		breq .L143
587
 598               	.L118:
588
 599 03ba EEA5      		ldd r30,Y+46
589
 600 03bc 4E2E      		mov r4,r30
590
 601 03be 5524      		clr r5
591
 602 03c0 6624      		clr r6
592
 603 03c2 7724      		clr r7
593
 604               	.L119:
594
 605 03c4 18AA      		std Y+48,__zero_reg__
595
 606 03c6 8414      		cp r8,r4
596
 607 03c8 9504      		cpc r9,r5
597
 608 03ca A604      		cpc r10,r6
598
 609 03cc B704      		cpc r11,r7
599
 610 03ce 00F0      		brlo .L122
600
 611 03d0 F1E0      		ldi r31,lo8(1)
601
 612 03d2 F8AB      		std Y+48,r31
602
 613               	.L122:
603
 614 03d4 C501      		movw r24,r10
604
 615 03d6 B401      		movw r22,r8
605
 616 03d8 A301      		movw r20,r6
606
 617 03da 9201      		movw r18,r4
607
 618 03dc 0E94 0000 		call __udivmodsi4
608
 619 03e0 DC01      		movw r26,r24
609
 620 03e2 CB01      		movw r24,r22
610
 621 03e4 082F      		mov r16,r24
611
 622 03e6 8A30      		cpi r24,lo8(10)
612
 623 03e8 00F4      		brsh .L123
613
 624 03ea 005D      		subi r16,lo8(-(48))
614
 625               	.L124:
615
 626 03ec ECA5      		ldd r30,Y+44
616
 627 03ee FDA5      		ldd r31,Y+45
617
 628 03f0 0293      		st -Z,r16
618
 629 03f2 FDA7      		std Y+45,r31
619
 630 03f4 ECA7      		std Y+44,r30
620
 631 03f6 C501      		movw r24,r10
621
 632 03f8 B401      		movw r22,r8
622
 633 03fa A301      		movw r20,r6
623
 634 03fc 9201      		movw r18,r4
624
 635 03fe 0E94 0000 		call __udivmodsi4
625
 636 0402 4901      		movw r8,r18
626
 637 0404 5A01      		movw r10,r20
627
 638 0406 F8A9      		ldd r31,Y+48
628
 639 0408 FF23      		tst r31
629
 640 040a 01F4      		brne .L119
630
 641 040c 2EA5      		ldd r18,Y+46
631
 642 040e 2830      		cpi r18,lo8(8)
632
 643 0410 01F0      		breq .L180
633
 644               	.L143:
634
 645 0412 632C      		mov r6,r3
635
 646 0414 7724      		clr r7
636
 647               	.L117:
637
 648 0416 CE01      		movw r24,r28
638
 649 0418 0196      		adiw r24,1
639
 650 041a 482E      		mov r4,r24
640
 651 041c FCA5      		ldd r31,Y+44
641
 652 041e 4F1A      		sub r4,r31
642
 653 0420 28E2      		ldi r18,lo8(40)
643
 654 0422 420E      		add r4,r18
644
 655 0424 00C0      		rjmp .L54
645
 656               	.L123:
646
 657 0426 095A      		subi r16,lo8(-(87))
647
 658 0428 1835      		cpi r17,lo8(88)
648
 659 042a 01F4      		brne .L124
649
 660 042c 0F7D      		andi r16,lo8(-33)
650
 661 042e 00C0      		rjmp .L124
651
 662               	.L180:
652
 663 0430 632C      		mov r6,r3
653
 664 0432 7724      		clr r7
654
 665 0434 63FE      		sbrs r6,3
655
 666 0436 00C0      		rjmp .L117
656
 667 0438 0033      		cpi r16,lo8(48)
657
 668 043a 01F0      		breq .L117
658
 669 043c 80E3      		ldi r24,lo8(48)
659
 670 043e ECA5      		ldd r30,Y+44
660
 671 0440 FDA5      		ldd r31,Y+45
661
 672 0442 8293      		st -Z,r24
662
 673 0444 FDA7      		std Y+45,r31
663
 674 0446 ECA7      		std Y+44,r30
664
 675 0448 00C0      		rjmp .L117
665
 676               	.L174:
666
 677 044a F601      		movw r30,r12
667
 678 044c 82E0      		ldi r24,lo8(2)
668
 679 044e 90E0      		ldi r25,hi8(2)
669
 680 0450 C80E      		add r12,r24
670
 681 0452 D91E      		adc r13,r25
671
 682 0454 0190      		ld __tmp_reg__,Z+
672
 683 0456 F081      		ld r31,Z
673
 684 0458 E02D      		mov r30,__tmp_reg__
674
 685 045a FDA7      		std Y+45,r31
675
 686 045c ECA7      		std Y+44,r30
676
 687 045e EF2B      		or r30,r31
677
 688 0460 01F4      		brne .L102
678
 689 0462 FE01      		movw r30,r28
679
 690 0464 3196      		adiw r30,1
680
 691 0466 FDA7      		std Y+45,r31
681
 692 0468 ECA7      		std Y+44,r30
682
 693 046a 88E2      		ldi r24,lo8(40)
683
 694 046c 8983      		std Y+1,r24
684
 695 046e 8EE6      		ldi r24,lo8(110)
685
 696 0470 8183      		std Z+1,r24
686
 697 0472 85E7      		ldi r24,lo8(117)
687
 698 0474 8B83      		std Y+3,r24
688
 699 0476 8CE6      		ldi r24,lo8(108)
689
 700 0478 8C83      		std Y+4,r24
690
 701 047a 8D83      		std Y+5,r24
691
 702 047c 89E2      		ldi r24,lo8(41)
692
 703 047e 8E83      		std Y+6,r24
693
 704 0480 1F82      		std Y+7,__zero_reg__
694
 705               	.L102:
695
 706 0482 07FD      		sbrc r16,7
696
 707 0484 00C0      		rjmp .L103
697
 708 0486 802F      		mov r24,r16
698
 709 0488 9927      		clr r25
699
 710 048a 87FD      		sbrc r24,7
700
 711 048c 9095      		com r25
701
 712 048e AC01      		movw r20,r24
702
 713 0490 60E0      		ldi r22,lo8(0)
703
 714 0492 70E0      		ldi r23,hi8(0)
704
 715 0494 8CA5      		ldd r24,Y+44
705
 716 0496 9DA5      		ldd r25,Y+45
706
 717 0498 0E94 0000 		call memchr
707
 718 049c 0097      		sbiw r24,0
708
 719 049e 01F0      		breq .L104
709
 720 04a0 482E      		mov r4,r24
710
 721 04a2 FCA5      		ldd r31,Y+44
711
 722 04a4 4F1A      		sub r4,r31
712
 723 04a6 0415      		cp r16,r4
713
 724 04a8 04F0      		brlt .+2
714
 725 04aa 00C0      		rjmp .L157
715
 726               	.L104:
716
 727 04ac 402E      		mov r4,r16
717
 728 04ae 00C0      		rjmp .L157
718
 729               	.L103:
719
 730 04b0 ECA5      		ldd r30,Y+44
720
 731 04b2 FDA5      		ldd r31,Y+45
721
 732 04b4 0190      		ld __tmp_reg__,Z+
722
 733 04b6 0020      		tst __tmp_reg__
723
 734 04b8 01F4      		brne .-6
724
 735 04ba 3197      		sbiw r30,1
725
 736 04bc 4E2E      		mov r4,r30
726
 737 04be 2CA5      		ldd r18,Y+44
727
 738 04c0 421A      		sub r4,r18
728
 739 04c2 00C0      		rjmp .L157
729
 740               	.L110:
730
 741 04c4 1535      		cpi r17,lo8(85)
731
 742 04c6 01F4      		brne .L111
732
 743 04c8 81E0      		ldi r24,lo8(1)
733
 744 04ca 382A      		or r3,r24
734
 745               	.L111:
735
 746 04cc 9AE0      		ldi r25,lo8(10)
736
 747 04ce 9EA7      		std Y+46,r25
737
 748 04d0 00C0      		rjmp .L97
738
 749               	.L173:
739
 750 04d2 F601      		movw r30,r12
740
 751 04d4 82E0      		ldi r24,lo8(2)
741
 752 04d6 90E0      		ldi r25,hi8(2)
742
 753 04d8 C80E      		add r12,r24
743
 754 04da D91E      		adc r13,r25
744
 755 04dc 8081      		ld r24,Z
745
 756 04de 9181      		ldd r25,Z+1
746
 757 04e0 4C01      		movw r8,r24
747
 758 04e2 AA24      		clr r10
748
 759 04e4 BB24      		clr r11
749
 760 04e6 90E1      		ldi r25,lo8(16)
750
 761 04e8 9EA7      		std Y+46,r25
751
 762 04ea E0E4      		ldi r30,lo8(64)
752
 763 04ec 3E2A      		or r3,r30
753
 764 04ee 18E7      		ldi r17,lo8(120)
754
 765 04f0 00C0      		rjmp .L97
755
 766               	.L95:
756
 767 04f2 1F34      		cpi r17,lo8(79)
757
 768 04f4 01F4      		brne .L96
758
 769 04f6 E1E0      		ldi r30,lo8(1)
759
 770 04f8 3E2A      		or r3,r30
760
 771               	.L96:
761
 772 04fa F8E0      		ldi r31,lo8(8)
762
 773 04fc FEA7      		std Y+46,r31
763
 774 04fe 00C0      		rjmp .L97
764
 775               	.L87:
765
 776 0500 1434      		cpi r17,lo8(68)
766
 777 0502 01F4      		brne .L88
767
 778 0504 91E0      		ldi r25,lo8(1)
768
 779 0506 392A      		or r3,r25
769
 780               	.L88:
770
 781 0508 30FE      		sbrs r3,0
771
 782 050a 00C0      		rjmp .L89
772
 783 050c F601      		movw r30,r12
773
 784 050e 84E0      		ldi r24,lo8(4)
774
 785 0510 90E0      		ldi r25,hi8(4)
775
 786 0512 C80E      		add r12,r24
776
 787 0514 D91E      		adc r13,r25
777
 788 0516 8080      		ld r8,Z
778
 789 0518 9180      		ldd r9,Z+1
779
 790 051a A280      		ldd r10,Z+2
780
 791 051c B380      		ldd r11,Z+3
781
 792               	.L90:
782
 793 051e B7FE      		sbrs r11,7
783
 794 0520 00C0      		rjmp .L91
784
 795 0522 B094      		com r11
785
 796 0524 A094      		com r10
786
 797 0526 9094      		com r9
787
 798 0528 8094      		com r8
788
 799 052a 811C      		adc r8,__zero_reg__
789
 800 052c 911C      		adc r9,__zero_reg__
790
 801 052e A11C      		adc r10,__zero_reg__
791
 802 0530 B11C      		adc r11,__zero_reg__
792
 803 0532 8DE2      		ldi r24,lo8(45)
793
 804 0534 89A7      		std Y+41,r24
794
 805               	.L91:
795
 806 0536 9AE0      		ldi r25,lo8(10)
796
 807 0538 9EA7      		std Y+46,r25
797
 808 053a 00C0      		rjmp .L92
798
 809               	.L89:
799
 810 053c F601      		movw r30,r12
800
 811 053e 82E0      		ldi r24,lo8(2)
801
 812 0540 90E0      		ldi r25,hi8(2)
802
 813 0542 C80E      		add r12,r24
803
 814 0544 D91E      		adc r13,r25
804
 815 0546 8081      		ld r24,Z
805
 816 0548 9181      		ldd r25,Z+1
806
 817 054a 4C01      		movw r8,r24
807
 818 054c AA24      		clr r10
808
 819 054e 97FC      		sbrc r9,7
809
 820 0550 A094      		com r10
810
 821 0552 BA2C      		mov r11,r10
811
 822 0554 00C0      		rjmp .L90
812
 823               	.L172:
813
 824 0556 FE01      		movw r30,r28
814
 825 0558 3196      		adiw r30,1
815
 826 055a FDA7      		std Y+45,r31
816
 827 055c ECA7      		std Y+44,r30
817
 828 055e F601      		movw r30,r12
818
 829 0560 82E0      		ldi r24,lo8(2)
819
 830 0562 90E0      		ldi r25,hi8(2)
820
 831 0564 C80E      		add r12,r24
821
 832 0566 D91E      		adc r13,r25
822
 833 0568 8081      		ld r24,Z
823
 834 056a 8983      		std Y+1,r24
824
 835 056c 00C0      		rjmp .L159
825
 836               	.L179:
826
 837 056e 822D      		mov r24,r2
827
 838 0570 801B      		sub r24,r16
828
 839 0572 0E94 0000 		call PAD_0
829
 840 0576 00C0      		rjmp .L137
830
 841               	.L178:
831
 842 0578 80E3      		ldi r24,lo8(48)
832
 843 057a 8AA7      		std Y+42,r24
833
 844 057c 1BA7      		std Y+43,r17
834
 845 057e 62E0      		ldi r22,lo8(2)
835
 846 0580 70E0      		ldi r23,hi8(2)
836
 847 0582 CE01      		movw r24,r28
837
 848 0584 8A96      		adiw r24,42
838
 849               	.L158:
839
 850 0586 0E94 0000 		call PRINT
840
 851 058a 00C0      		rjmp .L135
841
 852               	.L177:
842
 853 058c 61E0      		ldi r22,lo8(1)
843
 854 058e 70E0      		ldi r23,hi8(1)
844
 855 0590 CE01      		movw r24,r28
845
 856 0592 8996      		adiw r24,41
846
 857 0594 00C0      		rjmp .L158
847
 858               	.L176:
848
 859 0596 822D      		mov r24,r2
849
 860 0598 801B      		sub r24,r16
850
 861 059a 0E94 0000 		call PAD_SP
851
 862 059e 29A5      		ldd r18,Y+41
852
 863 05a0 00C0      		rjmp .L133
853
 864               	.L45:
854
 865               	/* epilogue: frame size=48 */
855
 866 05a2 E2E1      		ldi r30,18
856
 867 05a4 C05D      		subi r28,-48
857
 868 05a6 0C94 0000 		jmp __epilogue_restores__+0
858
 869               	/* epilogue end (size=4) */
859
 870               	/* function _printf_P size 639 (629) */
860
 872               		.comm PrintZiel,1,1
861
 873               		.comm Mixer,77,1
862
 874               	/* File "printf_P.c": code  754 = 0x02f2 ( 719), prologues  16, epilogues  19 */
863
DEFINED SYMBOLS
864
                            *ABS*:00000000 printf_P.c
865
C:\Users\Bernd\AppData\Local\Temp/ccF6QCGh.s:3      *ABS*:0000003f __SREG__
866
C:\Users\Bernd\AppData\Local\Temp/ccF6QCGh.s:4      *ABS*:0000003e __SP_H__
867
C:\Users\Bernd\AppData\Local\Temp/ccF6QCGh.s:5      *ABS*:0000003d __SP_L__
868
C:\Users\Bernd\AppData\Local\Temp/ccF6QCGh.s:6      *ABS*:00000000 __tmp_reg__
869
C:\Users\Bernd\AppData\Local\Temp/ccF6QCGh.s:7      *ABS*:00000001 __zero_reg__
870
C:\Users\Bernd\AppData\Local\Temp/ccF6QCGh.s:13     .text:00000000 Putchar
871
                            *COM*:00000001 PrintZiel
872
C:\Users\Bernd\AppData\Local\Temp/ccF6QCGh.s:45     .text:00000032 PRINT
873
C:\Users\Bernd\AppData\Local\Temp/ccF6QCGh.s:81     .text:00000068 PRINTP
874
C:\Users\Bernd\AppData\Local\Temp/ccF6QCGh.s:125    .text:000000a2 PAD_SP
875
C:\Users\Bernd\AppData\Local\Temp/ccF6QCGh.s:147    .text:000000ba PAD_0
876
C:\Users\Bernd\AppData\Local\Temp/ccF6QCGh.s:169    .text:000000d2 _printf_P
877
                            *COM*:0000004d Mixer
878
 
879
UNDEFINED SYMBOLS
880
__do_copy_data
881
__do_clear_bss
882
uart_putchar
883
DispPtr
884
DisplayBuff
885
__prologue_saves__
886
__udivmodsi4
887
memchr
888
__epilogue_restores__