9 16 .section .text.mem_cpy,"ax",@progbits
16 24 /* prologue: function */
17 25 /* frame size = 0 */
18 26 0004 EC01 movw r28,r24
20 28 0006 20E0 ldi r18,lo8(0)
21 29 0008 30E0 ldi r19,hi8(0)
26 34 000c FE01 movw r30,r28
27 35 000e E20F add r30,r18
28 36 0010 F31F adc r31,r19
29 37 0012 DB01 movw r26,r22
30 38 0014 A20F add r26,r18
31 39 0016 B31F adc r27,r19
34 42 001c 2F5F subi r18,lo8(-(1))
35 43 001e 3F4F sbci r19,hi8(-(1))
38 46 0020 4150 subi r20,lo8(-(-1))
39 47 0022 5040 sbci r21,hi8(-(-1))
40 48 0024 8FEF ldi r24,hi8(-1)
41 49 0026 4F3F cpi r20,lo8(-1)
42 50 0028 5807 cpc r21,r24
44 52 /* epilogue start */
51 60 .section .text.mem_set,"ax",@progbits
56 66 /* prologue: function */
57 67 /* frame size = 0 */
59 69 0000 FC01 movw r30,r24
65 75 0004 6193 st Z+,r22
68 78 0006 4150 subi r20,lo8(-(-1))
69 79 0008 5040 sbci r21,hi8(-(-1))
70 80 000a 8FEF ldi r24,hi8(-1)
71 81 000c 4F3F cpi r20,lo8(-1)
72 82 000e 5807 cpc r21,r24
75 85 /* epilogue start */
79 90 .section .text.clust2sect,"ax",@progbits
88 100 0006 1F93 push r17
89 101 0008 CF93 push r28
90 102 000a DF93 push r29
91 103 /* prologue: function */
92 104 /* frame size = 0 */
93 105 000c EC01 movw r28,r24
94 106 000e 7A01 movw r14,r20
95 107 0010 8B01 movw r16,r22
97 109 0012 8EEF ldi r24,lo8(-2)
98 110 0014 9FEF ldi r25,hi8(-2)
99 111 0016 AFEF ldi r26,hlo8(-2)
100 112 0018 BFEF ldi r27,hhi8(-2)
102 114 001a E80E add r14,r24
103 115 001c F91E adc r15,r25
104 116 001e 0A1F adc r16,r26
105 117 0020 1B1F adc r17,r27
108 120 0022 8A8D ldd r24,Y+26
109 121 0024 9B8D ldd r25,Y+27
110 122 0026 AC8D ldd r26,Y+28
111 123 0028 BD8D ldd r27,Y+29
112 124 002a 0297 sbiw r24,2
113 125 002c A109 sbc r26,__zero_reg__
114 126 002e B109 sbc r27,__zero_reg__
115 127 0030 E816 cp r14,r24
116 128 0032 F906 cpc r15,r25
117 129 0034 0A07 cpc r16,r26
118 130 0036 1B07 cpc r17,r27
119 131 0038 00F0 brlo .L10
120 132 003a 20E0 ldi r18,lo8(0)
121 133 003c 30E0 ldi r19,hi8(0)
122 134 003e 40E0 ldi r20,hlo8(0)
123 135 0040 50E0 ldi r21,hhi8(0)
124 136 0042 00C0 rjmp .L11
127 139 0044 2A81 ldd r18,Y+2
128 140 0046 30E0 ldi r19,lo8(0)
129 141 0048 40E0 ldi r20,lo8(0)
130 142 004a 50E0 ldi r21,hi8(0)
131 143 004c C801 movw r24,r16
132 144 004e B701 movw r22,r14
133 145 0050 0E94 0000 call __mulsi3
134 146 0054 9B01 movw r18,r22
135 147 0056 AC01 movw r20,r24
136 148 0058 8EA1 ldd r24,Y+38
137 149 005a 9FA1 ldd r25,Y+39
138 150 005c A8A5 ldd r26,Y+40
139 151 005e B9A5 ldd r27,Y+41
140 152 0060 280F add r18,r24
141 153 0062 391F adc r19,r25
142 154 0064 4A1F adc r20,r26
143 155 0066 5B1F adc r21,r27
146 158 0068 B901 movw r22,r18
147 159 006a CA01 movw r24,r20
148 160 /* epilogue start */
149 161 006c DF91 pop r29
150 162 006e CF91 pop r28
152 164 0070 1F91 pop r17
153 165 0072 0F91 pop r16
154 166 0074 FF90 pop r15
155 167 0076 EF90 pop r14
159 172 .section .text.f_mount,"ax",@progbits
165 179 /* prologue: function */
166 180 /* frame size = 0 */
167 181 0000 DB01 movw r26,r22
169 183 0002 8823 tst r24
170 184 0004 01F0 breq .L14
172 186 0006 8BE0 ldi r24,lo8(11)
178 192 000a E091 0000 lds r30,FatFs
179 193 000e F091 0000 lds r31,(FatFs)+1
182 196 0012 3097 sbiw r30,0
183 197 0014 01F0 breq .L16
185 199 0016 1082 st Z,__zero_reg__
188 202 0018 1097 sbiw r26,0
189 203 001a 01F0 breq .L17
191 205 001c 1C92 st X,__zero_reg__
194 208 001e B093 0000 sts (FatFs)+1,r27
195 209 0022 A093 0000 sts FatFs,r26
196 210 0026 80E0 ldi r24,lo8(0)
201 216 .section .text.validate,"ax",@progbits
206 222 /* prologue: function */
207 223 /* frame size = 0 */
208 224 0000 FC01 movw r30,r24
210 226 0002 0097 sbiw r24,0
211 227 0004 01F0 breq .L20
212 228 0006 8081 ld r24,Z
214 230 0008 8823 tst r24
215 231 000a 01F0 breq .L20
216 232 000c 8681 ldd r24,Z+6
217 233 000e 9781 ldd r25,Z+7
218 234 0010 8617 cp r24,r22
219 235 0012 9707 cpc r25,r23
220 236 0014 01F4 brne .L20
222 238 0016 8181 ldd r24,Z+1
223 239 0018 0E94 0000 call disk_status
225 241 001c 80FD sbrc r24,0
226 242 001e 00C0 rjmp .L21
227 243 0020 80E0 ldi r24,lo8(0)
230 246 0024 83E0 ldi r24,lo8(3)
234 250 0028 89E0 ldi r24,lo8(9)
238 255 .section .text.move_window,"ax",@progbits
243 261 0000 6F92 push r6
244 262 0002 7F92 push r7
245 263 0004 8F92 push r8
246 264 0006 9F92 push r9
247 265 0008 AF92 push r10
248 266 000a BF92 push r11
249 267 000c CF92 push r12
250 268 000e DF92 push r13
251 269 0010 EF92 push r14
252 270 0012 FF92 push r15
253 271 0014 0F93 push r16
254 272 0016 1F93 push r17
255 273 0018 CF93 push r28
256 274 001a DF93 push r29
257 275 /* prologue: function */
258 276 /* frame size = 0 */
259 277 001c EC01 movw r28,r24
260 278 001e 4A01 movw r8,r20
261 279 0020 5B01 movw r10,r22
263 281 0022 CAA4 ldd r12,Y+42
264 282 0024 DBA4 ldd r13,Y+43
265 283 0026 ECA4 ldd r14,Y+44
266 284 0028 FDA4 ldd r15,Y+45
269 287 002a C416 cp r12,r20
270 288 002c D506 cpc r13,r21
271 289 002e E606 cpc r14,r22
272 290 0030 F706 cpc r15,r23
273 291 0032 01F4 brne .+2
274 292 0034 00C0 rjmp .L25
277 295 0036 8C81 ldd r24,Y+4
278 296 0038 8823 tst r24
279 297 003a 01F0 breq .L26
281 299 003c 8EE2 ldi r24,lo8(46)
282 300 003e 682E mov r6,r24
283 301 0040 712C mov r7,__zero_reg__
284 302 0042 6C0E add r6,r28
285 303 0044 7D1E adc r7,r29
286 304 0046 8981 ldd r24,Y+1
287 305 0048 B301 movw r22,r6
288 306 004a A701 movw r20,r14
289 307 004c 9601 movw r18,r12
290 308 004e 01E0 ldi r16,lo8(1)
291 309 0050 0E94 0000 call disk_write
293 311 0054 8823 tst r24
294 312 0056 01F4 brne .L27
296 314 0058 1C82 std Y+4,__zero_reg__
298 316 005a 8E89 ldd r24,Y+22
299 317 005c 9F89 ldd r25,Y+23
300 318 005e A88D ldd r26,Y+24
301 319 0060 B98D ldd r27,Y+25
302 320 0062 2E8D ldd r18,Y+30
303 321 0064 3F8D ldd r19,Y+31
304 322 0066 48A1 ldd r20,Y+32
305 323 0068 59A1 ldd r21,Y+33
306 324 006a 820F add r24,r18
307 325 006c 931F adc r25,r19
308 326 006e A41F adc r26,r20
309 327 0070 B51F adc r27,r21
310 328 0072 C816 cp r12,r24
311 329 0074 D906 cpc r13,r25
312 330 0076 EA06 cpc r14,r26
313 331 0078 FB06 cpc r15,r27
314 332 007a 00F4 brsh .L26
317 335 007c 1B81 ldd r17,Y+3
319 337 007e 00C0 rjmp .L28
322 340 0080 8E89 ldd r24,Y+22
323 341 0082 9F89 ldd r25,Y+23
324 342 0084 A88D ldd r26,Y+24
325 343 0086 B98D ldd r27,Y+25
326 344 0088 C80E add r12,r24
327 345 008a D91E adc r13,r25
328 346 008c EA1E adc r14,r26
329 347 008e FB1E adc r15,r27
331 349 0090 8981 ldd r24,Y+1
332 350 0092 B301 movw r22,r6
333 351 0094 A701 movw r20,r14
334 352 0096 9601 movw r18,r12
335 353 0098 01E0 ldi r16,lo8(1)
336 354 009a 0E94 0000 call disk_write
338 356 009e 1150 subi r17,lo8(-(-1))
340 358 00a0 1230 cpi r17,lo8(2)
341 359 00a2 00F4 brsh .L29
346 364 00a4 8114 cp r8,__zero_reg__
347 365 00a6 9104 cpc r9,__zero_reg__
348 366 00a8 A104 cpc r10,__zero_reg__
349 367 00aa B104 cpc r11,__zero_reg__
350 368 00ac 01F0 breq .L25
352 370 00ae BE01 movw r22,r28
353 371 00b0 625D subi r22,lo8(-(46))
354 372 00b2 7F4F sbci r23,hi8(-(46))
355 373 00b4 8981 ldd r24,Y+1
356 374 00b6 A501 movw r20,r10
357 375 00b8 9401 movw r18,r8
358 376 00ba 01E0 ldi r16,lo8(1)
359 377 00bc 0E94 0000 call disk_read
360 378 00c0 8823 tst r24
361 379 00c2 01F4 brne .L27
363 381 00c4 8AA6 std Y+42,r8
364 382 00c6 9BA6 std Y+43,r9
365 383 00c8 ACA6 std Y+44,r10
366 384 00ca BDA6 std Y+45,r11
367 385 00cc 00C0 rjmp .L30
369 387 00ce 81E0 ldi r24,lo8(1)
370 388 00d0 00C0 rjmp .L30
373 391 00d2 80E0 ldi r24,lo8(0)
376 394 /* epilogue start */
378 396 00d4 DF91 pop r29
379 397 00d6 CF91 pop r28
381 399 00d8 1F91 pop r17
383 401 00da 0F91 pop r16
384 402 00dc FF90 pop r15
385 403 00de EF90 pop r14
386 404 00e0 DF90 pop r13
387 405 00e2 CF90 pop r12
389 407 00e4 BF90 pop r11
390 408 00e6 AF90 pop r10
398 417 .section .text.put_fat,"ax",@progbits
404 424 0000 2F92 push r2
405 425 0002 3F92 push r3
406 426 0004 4F92 push r4
407 427 0006 5F92 push r5
408 428 0008 6F92 push r6
409 429 000a 7F92 push r7
410 430 000c 8F92 push r8
411 431 000e 9F92 push r9
412 432 0010 AF92 push r10
413 433 0012 BF92 push r11
414 434 0014 CF92 push r12
415 435 0016 DF92 push r13
416 436 0018 EF92 push r14
417 437 001a FF92 push r15
418 438 001c 0F93 push r16
420 440 001e 1F93 push r17
421 441 0020 CF93 push r28
422 442 0022 DF93 push r29
423 443 /* prologue: function */
424 444 /* frame size = 0 */
425 445 0024 5C01 movw r10,r24
426 446 0026 6A01 movw r12,r20
427 447 0028 7B01 movw r14,r22
428 448 002a 3801 movw r6,r16
429 449 002c 4901 movw r8,r18
432 452 002e 4230 cpi r20,lo8(2)
433 453 0030 5105 cpc r21,__zero_reg__
434 454 0032 6105 cpc r22,__zero_reg__
435 455 0034 7105 cpc r23,__zero_reg__
437 457 0036 00F4 brsh .+2
438 458 0038 00C0 rjmp .L33
440 460 003a F501 movw r30,r10
441 461 003c 828D ldd r24,Z+26
442 462 003e 938D ldd r25,Z+27
443 463 0040 A48D ldd r26,Z+28
444 464 0042 B58D ldd r27,Z+29
445 465 0044 4817 cp r20,r24
446 466 0046 5907 cpc r21,r25
447 467 0048 6A07 cpc r22,r26
448 468 004a 7B07 cpc r23,r27
449 469 004c 00F0 brlo .+2
450 470 004e 00C0 rjmp .L33
452 472 0050 268C ldd r2,Z+30
453 473 0052 378C ldd r3,Z+31
454 474 0054 40A0 ldd r4,Z+32
455 475 0056 51A0 ldd r5,Z+33
458 478 0058 8081 ld r24,Z
459 479 005a 8230 cpi r24,lo8(2)
460 480 005c 01F4 brne .+2
461 481 005e 00C0 rjmp .L36
462 482 0060 8330 cpi r24,lo8(3)
463 483 0062 01F4 brne .+2
464 484 0064 00C0 rjmp .L37
465 485 0066 8130 cpi r24,lo8(1)
466 486 0068 01F0 breq .L35
467 487 006a 22E0 ldi r18,lo8(2)
469 489 006c 00C0 rjmp .L38
473 493 006e EA01 movw r28,r20
475 495 0070 D695 lsr r29
476 496 0072 C795 ror r28
478 498 0074 C40F add r28,r20
479 499 0076 D51F adc r29,r21
481 501 0078 AE01 movw r20,r28
483 503 007a 452F mov r20,r21
484 504 007c 5527 clr r21
485 505 007e 4695 lsr r20
486 506 0080 60E0 ldi r22,lo8(0)
487 507 0082 70E0 ldi r23,hi8(0)
488 508 0084 420D add r20,r2
489 509 0086 531D adc r21,r3
490 510 0088 641D adc r22,r4
491 511 008a 751D adc r23,r5
492 512 008c C501 movw r24,r10
493 513 008e 0E94 0000 call move_window
494 514 0092 282F mov r18,r24
497 517 0094 8823 tst r24
498 518 0096 01F0 breq .+2
499 519 0098 00C0 rjmp .L38
502 522 009a DE01 movw r26,r28
503 523 009c B170 andi r27,hi8(511)
505 525 009e 8601 movw r16,r12
507 527 00a0 0170 andi r16,lo8(1)
508 528 00a2 1070 andi r17,hi8(1)
509 529 00a4 0115 cp r16,__zero_reg__
510 530 00a6 1105 cpc r17,__zero_reg__
511 531 00a8 01F0 breq .L39
512 532 00aa F501 movw r30,r10
513 533 00ac EA0F add r30,r26
514 534 00ae FB1F adc r31,r27
515 535 00b0 86A5 ldd r24,Z+46
517 537 00b2 8F70 andi r24,lo8(15)
518 538 00b4 962D mov r25,r6
520 540 00b6 9295 swap r25
521 541 00b8 907F andi r25,lo8(-16)
522 542 00ba 982B or r25,r24
523 543 00bc 00C0 rjmp .L40
526 546 00be 962D mov r25,r6
529 549 00c0 AA0D add r26,r10
530 550 00c2 BB1D adc r27,r11
531 551 00c4 9E96 adiw r26,46
532 552 00c6 9C93 st X,r25
534 554 00c8 2196 adiw r28,1
537 557 00ca 81E0 ldi r24,lo8(1)
538 558 00cc F501 movw r30,r10
539 559 00ce 8483 std Z+4,r24
541 561 00d0 AE01 movw r20,r28
542 562 00d2 452F mov r20,r21
543 563 00d4 5527 clr r21
544 564 00d6 4695 lsr r20
545 565 00d8 60E0 ldi r22,lo8(0)
546 566 00da 70E0 ldi r23,hi8(0)
547 567 00dc 420D add r20,r2
548 568 00de 531D adc r21,r3
549 569 00e0 641D adc r22,r4
550 570 00e2 751D adc r23,r5
551 571 00e4 C501 movw r24,r10
552 572 00e6 0E94 0000 call move_window
554 574 00ea 282F mov r18,r24
557 577 00ec 8823 tst r24
558 578 00ee 01F0 breq .+2
559 579 00f0 00C0 rjmp .L38
562 582 00f2 D170 andi r29,hi8(511)
565 585 00f4 012B or r16,r17
566 586 00f6 01F0 breq .L41
567 587 00f8 64E0 ldi r22,4
568 588 00fa 9694 1: lsr r9
572 592 0102 6A95 dec r22
573 593 0104 01F4 brne 1b
574 594 0106 462D mov r20,r6
575 595 0108 00C0 rjmp .L42
577 597 010a F501 movw r30,r10
578 598 010c EC0F add r30,r28
579 599 010e FD1F adc r31,r29
580 600 0110 46A5 ldd r20,Z+46
581 601 0112 407F andi r20,lo8(-16)
582 602 0114 BB27 clr r27
583 603 0116 A92D mov r26,r9
584 604 0118 982D mov r25,r8
585 605 011a 872D mov r24,r7
587 607 011c 8F70 andi r24,lo8(15)
588 608 011e 482B or r20,r24
591 611 0120 CA0D add r28,r10
592 612 0122 DB1D adc r29,r11
593 613 0124 4EA7 std Y+46,r20
594 614 0126 00C0 rjmp .L38
598 618 0128 7727 clr r23
599 619 012a 6F2D mov r22,r15
600 620 012c 5E2D mov r21,r14
601 621 012e 4D2D mov r20,r13
603 623 0130 420D add r20,r2
604 624 0132 531D adc r21,r3
605 625 0134 641D adc r22,r4
606 626 0136 751D adc r23,r5
607 627 0138 C501 movw r24,r10
608 628 013a 0E94 0000 call move_window
609 629 013e 282F mov r18,r24
612 632 0140 8823 tst r24
613 633 0142 01F4 brne .L38
616 636 0144 F601 movw r30,r12
618 638 0146 EE0F lsl r30
619 639 0148 FF1F rol r31
620 640 014a F170 andi r31,hi8(511)
621 641 014c EA0D add r30,r10
622 642 014e FB1D adc r31,r11
623 643 0150 77A6 std Z+47,r7
624 644 0152 66A6 std Z+46,r6
625 645 0154 00C0 rjmp .L38
629 649 0156 27E0 ldi r18,7
630 650 0158 7695 1: lsr r23
631 651 015a 6795 ror r22
632 652 015c 5795 ror r21
633 653 015e 4795 ror r20
634 654 0160 2A95 dec r18
635 655 0162 01F4 brne 1b
637 657 0164 420D add r20,r2
638 658 0166 531D adc r21,r3
639 659 0168 641D adc r22,r4
640 660 016a 751D adc r23,r5
641 661 016c C501 movw r24,r10
642 662 016e 0E94 0000 call move_window
643 663 0172 282F mov r18,r24
646 666 0174 8823 tst r24
647 667 0176 01F4 brne .L38
650 670 0178 F601 movw r30,r12
652 672 017a EE0F lsl r30
653 673 017c FF1F rol r31
654 674 017e EE0F lsl r30
655 675 0180 FF1F rol r31
656 676 0182 F170 andi r31,hi8(511)
657 677 0184 EA0D add r30,r10
658 678 0186 FB1D adc r31,r11
659 679 0188 66A6 std Z+46,r6
660 680 018a 77A6 std Z+47,r7
661 681 018c 80AA std Z+48,r8
662 682 018e 91AA std Z+49,r9
666 686 0190 81E0 ldi r24,lo8(1)
667 687 0192 F501 movw r30,r10
668 688 0194 8483 std Z+4,r24
669 689 0196 00C0 rjmp .L43
672 692 0198 22E0 ldi r18,lo8(2)
676 696 019a 822F mov r24,r18
677 697 /* epilogue start */
678 698 019c DF91 pop r29
679 699 019e CF91 pop r28
681 701 01a0 1F91 pop r17
682 702 01a2 0F91 pop r16
683 703 01a4 FF90 pop r15
684 704 01a6 EF90 pop r14
685 705 01a8 DF90 pop r13
686 706 01aa CF90 pop r12
687 707 01ac BF90 pop r11
688 708 01ae AF90 pop r10
702 723 .section .text.get_fat,"ax",@progbits
708 730 0000 7F92 push r7
709 731 0002 8F92 push r8
710 732 0004 9F92 push r9
711 733 0006 AF92 push r10
712 734 0008 BF92 push r11
713 735 000a CF92 push r12
714 736 000c DF92 push r13
715 737 000e EF92 push r14
716 738 0010 FF92 push r15
717 739 0012 0F93 push r16
718 740 0014 1F93 push r17
719 741 0016 CF93 push r28
720 742 0018 DF93 push r29
721 743 /* prologue: function */
722 744 /* frame size = 0 */
723 745 001a 4C01 movw r8,r24
724 746 001c 7A01 movw r14,r20
725 747 001e 8B01 movw r16,r22
727 749 0020 4230 cpi r20,lo8(2)
728 750 0022 5105 cpc r21,__zero_reg__
729 751 0024 6105 cpc r22,__zero_reg__
730 752 0026 7105 cpc r23,__zero_reg__
732 754 0028 00F4 brsh .+2
733 755 002a 00C0 rjmp .L46
734 756 002c F401 movw r30,r8
735 757 002e 828D ldd r24,Z+26
736 758 0030 938D ldd r25,Z+27
737 759 0032 A48D ldd r26,Z+28
738 760 0034 B58D ldd r27,Z+29
739 761 0036 4817 cp r20,r24
740 762 0038 5907 cpc r21,r25
741 763 003a 6A07 cpc r22,r26
742 764 003c 7B07 cpc r23,r27
743 765 003e 00F0 brlo .+2
744 766 0040 00C0 rjmp .L46
746 768 0042 A68C ldd r10,Z+30
747 769 0044 B78C ldd r11,Z+31
748 770 0046 C0A0 ldd r12,Z+32
749 771 0048 D1A0 ldd r13,Z+33
752 774 004a 8081 ld r24,Z
753 775 004c 8230 cpi r24,lo8(2)
754 776 004e 01F4 brne .+2
755 777 0050 00C0 rjmp .L49
756 778 0052 8330 cpi r24,lo8(3)
757 779 0054 01F4 brne .+2
758 780 0056 00C0 rjmp .L50
759 781 0058 8130 cpi r24,lo8(1)
760 782 005a 01F0 breq .+2
761 783 005c 00C0 rjmp .L47
763 785 005e EA01 movw r28,r20
765 787 0060 D695 lsr r29
766 788 0062 C795 ror r28
768 790 0064 CE0D add r28,r14
769 791 0066 DF1D adc r29,r15
771 793 0068 AE01 movw r20,r28
772 794 006a 452F mov r20,r21
773 795 006c 5527 clr r21
774 796 006e 4695 lsr r20
775 797 0070 60E0 ldi r22,lo8(0)
776 798 0072 70E0 ldi r23,hi8(0)
777 799 0074 4A0D add r20,r10
778 800 0076 5B1D adc r21,r11
779 801 0078 6C1D adc r22,r12
780 802 007a 7D1D adc r23,r13
781 803 007c C401 movw r24,r8
782 804 007e 0E94 0000 call move_window
783 805 0082 8823 tst r24
784 806 0084 01F0 breq .+2
785 807 0086 00C0 rjmp .L47
787 809 0088 FE01 movw r30,r28
788 810 008a F170 andi r31,hi8(511)
789 811 008c E80D add r30,r8
790 812 008e F91D adc r31,r9
791 813 0090 76A4 ldd r7,Z+46
792 814 0092 2196 adiw r28,1
795 817 0094 AE01 movw r20,r28
796 818 0096 452F mov r20,r21
797 819 0098 5527 clr r21
798 820 009a 4695 lsr r20
799 821 009c 60E0 ldi r22,lo8(0)
800 822 009e 70E0 ldi r23,hi8(0)
801 823 00a0 4A0D add r20,r10
802 824 00a2 5B1D adc r21,r11
803 825 00a4 6C1D adc r22,r12
804 826 00a6 7D1D adc r23,r13
805 827 00a8 C401 movw r24,r8
806 828 00aa 0E94 0000 call move_window
807 829 00ae 8823 tst r24
808 830 00b0 01F0 breq .+2
809 831 00b2 00C0 rjmp .L47
811 833 00b4 672D mov r22,r7
813 835 00b6 70E0 ldi r23,lo8(0)
816 838 00b8 D170 andi r29,hi8(511)
817 839 00ba C80D add r28,r8
818 840 00bc D91D adc r29,r9
819 841 00be 9EA5 ldd r25,Y+46
820 842 00c0 80E0 ldi r24,lo8(0)
821 843 00c2 682B or r22,r24
822 844 00c4 792B or r23,r25
825 847 00c6 C701 movw r24,r14
827 849 00c8 8170 andi r24,lo8(1)
828 850 00ca 9070 andi r25,hi8(1)
829 851 00cc 892B or r24,r25
830 852 00ce 01F0 breq .L51
831 853 00d0 94E0 ldi r25,4
832 854 00d2 7695 1: lsr r23
833 855 00d4 6795 ror r22
834 856 00d6 9A95 dec r25
835 857 00d8 01F4 brne 1b
836 858 00da 9B01 movw r18,r22
837 859 00dc 00C0 rjmp .L54
839 861 00de 9B01 movw r18,r22
840 862 00e0 40E0 ldi r20,lo8(0)
841 863 00e2 50E0 ldi r21,hi8(0)
842 864 00e4 3F70 andi r19,hi8(4095)
843 865 00e6 4070 andi r20,hlo8(4095)
844 866 00e8 5070 andi r21,hhi8(4095)
845 867 00ea 00C0 rjmp .L52
849 871 00ec 452F mov r20,r21
850 872 00ee 562F mov r21,r22
851 873 00f0 672F mov r22,r23
852 874 00f2 7727 clr r23
854 876 00f4 4A0D add r20,r10
855 877 00f6 5B1D adc r21,r11
856 878 00f8 6C1D adc r22,r12
857 879 00fa 7D1D adc r23,r13
858 880 00fc C401 movw r24,r8
859 881 00fe 0E94 0000 call move_window
860 882 0102 8823 tst r24
861 883 0104 01F4 brne .L47
863 885 0106 F701 movw r30,r14
865 887 0108 EE0F lsl r30
866 888 010a FF1F rol r31
867 889 010c F170 andi r31,hi8(511)
868 890 010e E80D add r30,r8
869 891 0110 F91D adc r31,r9
870 892 0112 86A5 ldd r24,Z+46
871 893 0114 97A5 ldd r25,Z+47
872 894 0116 9C01 movw r18,r24
875 897 0118 40E0 ldi r20,lo8(0)
876 898 011a 50E0 ldi r21,hi8(0)
877 899 011c 00C0 rjmp .L52
881 903 011e B7E0 ldi r27,7
882 904 0120 7695 1: lsr r23
883 905 0122 6795 ror r22
884 906 0124 5795 ror r21
885 907 0126 4795 ror r20
886 908 0128 BA95 dec r27
887 909 012a 01F4 brne 1b
889 911 012c 4A0D add r20,r10
890 912 012e 5B1D adc r21,r11
891 913 0130 6C1D adc r22,r12
892 914 0132 7D1D adc r23,r13
893 915 0134 C401 movw r24,r8
894 916 0136 0E94 0000 call move_window
895 917 013a 8823 tst r24
896 918 013c 01F4 brne .L47
898 920 013e F701 movw r30,r14
900 922 0140 EE0F lsl r30
901 923 0142 FF1F rol r31
902 924 0144 EE0F lsl r30
903 925 0146 FF1F rol r31
904 926 0148 F170 andi r31,hi8(511)
905 927 014a E80D add r30,r8
906 928 014c F91D adc r31,r9
907 929 014e 26A5 ldd r18,Z+46
908 930 0150 37A5 ldd r19,Z+47
909 931 0152 40A9 ldd r20,Z+48
910 932 0154 51A9 ldd r21,Z+49
911 933 0156 5F70 andi r21,hhi8(268435455)
912 934 0158 00C0 rjmp .L52
915 937 015a 21E0 ldi r18,lo8(1)
916 938 015c 30E0 ldi r19,hi8(1)
917 939 015e 40E0 ldi r20,hlo8(1)
918 940 0160 50E0 ldi r21,hhi8(1)
919 941 0162 00C0 rjmp .L52
922 944 0164 2FEF ldi r18,lo8(-1)
923 945 0166 3FEF ldi r19,hi8(-1)
924 946 0168 4FEF ldi r20,hlo8(-1)
925 947 016a 5FEF ldi r21,hhi8(-1)
929 951 016c B901 movw r22,r18
931 953 016e CA01 movw r24,r20
932 954 /* epilogue start */
933 955 0170 DF91 pop r29
934 956 0172 CF91 pop r28
936 958 0174 1F91 pop r17
937 959 0176 0F91 pop r16
938 960 0178 FF90 pop r15
939 961 017a EF90 pop r14
941 963 017c DF90 pop r13
942 964 017e CF90 pop r12
943 965 0180 BF90 pop r11
944 966 0182 AF90 pop r10
952 975 .section .text.create_chain,"ax",@progbits
957 981 0000 2F92 push r2
958 982 0002 3F92 push r3
959 983 0004 4F92 push r4
960 984 0006 5F92 push r5
961 985 0008 6F92 push r6
962 986 000a 7F92 push r7
963 987 000c 8F92 push r8
964 988 000e 9F92 push r9
965 989 0010 AF92 push r10
966 990 0012 BF92 push r11
967 991 0014 CF92 push r12
968 992 0016 DF92 push r13
969 993 0018 EF92 push r14
970 994 001a FF92 push r15
971 995 001c 0F93 push r16
972 996 001e 1F93 push r17
973 997 0020 DF93 push r29
974 998 0022 CF93 push r28
975 999 0024 00D0 rcall .
976 1000 0026 00D0 rcall .
977 1001 0028 CDB7 in r28,__SP_L__
978 1002 002a DEB7 in r29,__SP_H__
979 1003 /* prologue: function */
980 1004 /* frame size = 4 */
981 1005 002c 1C01 movw r2,r24
982 1006 002e 2A01 movw r4,r20
983 1007 0030 3B01 movw r6,r22
985 1009 0032 DC01 movw r26,r24
986 1010 0034 5A96 adiw r26,26
987 1011 0036 8D91 ld r24,X+
988 1012 0038 9D91 ld r25,X+
989 1013 003a 0D90 ld __tmp_reg__,X+
990 1014 003c BC91 ld r27,X
991 1015 003e A02D mov r26,__tmp_reg__
993 1017 0040 8983 std Y+1,r24
994 1018 0042 9A83 std Y+2,r25
995 1019 0044 AB83 std Y+3,r26
996 1020 0046 BC83 std Y+4,r27
999 1023 0048 4115 cp r20,__zero_reg__
1000 1024 004a 5105 cpc r21,__zero_reg__
1001 1025 004c 6105 cpc r22,__zero_reg__
1002 1026 004e 7105 cpc r23,__zero_reg__
1003 1027 0050 01F4 brne .L56
1005 1029 0052 F101 movw r30,r2
1006 1030 0054 8284 ldd r8,Z+10
1007 1031 0056 9384 ldd r9,Z+11
1008 1032 0058 A484 ldd r10,Z+12
1009 1033 005a B584 ldd r11,Z+13
1012 1036 005c 8114 cp r8,__zero_reg__
1013 1037 005e 9104 cpc r9,__zero_reg__
1014 1038 0060 A104 cpc r10,__zero_reg__
1015 1039 0062 B104 cpc r11,__zero_reg__
1016 1040 0064 01F0 breq .L57
1017 1041 0066 8816 cp r8,r24
1018 1042 0068 9906 cpc r9,r25
1019 1043 006a AA06 cpc r10,r26
1020 1044 006c BB06 cpc r11,r27
1021 1045 006e 00F4 brsh .L57
1022 1046 0070 00C0 rjmp .L58
1026 1050 0072 C101 movw r24,r2
1027 1051 0074 0E94 0000 call get_fat
1029 1053 0078 9B01 movw r18,r22
1030 1054 007a AC01 movw r20,r24
1033 1057 007c 6230 cpi r22,lo8(2)
1034 1058 007e 7105 cpc r23,__zero_reg__
1035 1059 0080 8105 cpc r24,__zero_reg__
1036 1060 0082 9105 cpc r25,__zero_reg__
1037 1061 0084 00F4 brsh .L59
1039 1063 0086 21E0 ldi r18,lo8(1)
1040 1064 0088 30E0 ldi r19,hi8(1)
1041 1065 008a 40E0 ldi r20,hlo8(1)
1042 1066 008c 50E0 ldi r21,hhi8(1)
1044 1068 008e 00C0 rjmp .L60
1048 1072 0090 8981 ldd r24,Y+1
1049 1073 0092 9A81 ldd r25,Y+2
1050 1074 0094 AB81 ldd r26,Y+3
1051 1075 0096 BC81 ldd r27,Y+4
1052 1076 0098 2817 cp r18,r24
1053 1077 009a 3907 cpc r19,r25
1054 1078 009c 4A07 cpc r20,r26
1055 1079 009e 5B07 cpc r21,r27
1056 1080 00a0 00F4 brsh .+2
1057 1081 00a2 00C0 rjmp .L60
1059 1083 00a4 5301 movw r10,r6
1060 1084 00a6 4201 movw r8,r4
1062 1086 00a8 00C0 rjmp .L58
1065 1089 00aa 61E0 ldi r22,lo8(1)
1066 1090 00ac 862E mov r8,r22
1067 1091 00ae 912C mov r9,__zero_reg__
1068 1092 00b0 A12C mov r10,__zero_reg__
1069 1093 00b2 B12C mov r11,__zero_reg__
1072 1096 00b4 7501 movw r14,r10
1073 1097 00b6 6401 movw r12,r8
1078 1102 00ba C11C adc r12,__zero_reg__
1079 1103 00bc D11C adc r13,__zero_reg__
1080 1104 00be E11C adc r14,__zero_reg__
1081 1105 00c0 F11C adc r15,__zero_reg__
1083 1107 00c2 8981 ldd r24,Y+1
1084 1108 00c4 9A81 ldd r25,Y+2
1085 1109 00c6 AB81 ldd r26,Y+3
1086 1110 00c8 BC81 ldd r27,Y+4
1087 1111 00ca C816 cp r12,r24
1088 1112 00cc D906 cpc r13,r25
1089 1113 00ce EA06 cpc r14,r26
1090 1114 00d0 FB06 cpc r15,r27
1091 1115 00d2 00F0 brlo .L61
1093 1117 00d4 92E0 ldi r25,lo8(2)
1094 1118 00d6 8916 cp r8,r25
1095 1119 00d8 9104 cpc r9,__zero_reg__
1096 1120 00da A104 cpc r10,__zero_reg__
1097 1121 00dc B104 cpc r11,__zero_reg__
1098 1122 00de 00F4 brsh .+2
1099 1123 00e0 00C0 rjmp .L62
1100 1124 00e2 52E0 ldi r21,lo8(2)
1101 1125 00e4 C52E mov r12,r21
1102 1126 00e6 D12C mov r13,__zero_reg__
1103 1127 00e8 E12C mov r14,__zero_reg__
1104 1128 00ea F12C mov r15,__zero_reg__
1107 1131 00ec C101 movw r24,r2
1108 1132 00ee B701 movw r22,r14
1109 1133 00f0 A601 movw r20,r12
1110 1134 00f2 0E94 0000 call get_fat
1112 1136 00f6 9B01 movw r18,r22
1113 1137 00f8 AC01 movw r20,r24
1116 1140 00fa 6115 cp r22,__zero_reg__
1117 1141 00fc 7105 cpc r23,__zero_reg__
1118 1142 00fe 8105 cpc r24,__zero_reg__
1119 1143 0100 9105 cpc r25,__zero_reg__
1120 1144 0102 01F0 breq .L63
1123 1147 0104 6F3F cpi r22,lo8(-1)
1124 1148 0106 AFEF ldi r26,hi8(-1)
1125 1149 0108 7A07 cpc r23,r26
1126 1150 010a AFEF ldi r26,hlo8(-1)
1127 1151 010c 8A07 cpc r24,r26
1128 1152 010e AFEF ldi r26,hhi8(-1)
1129 1153 0110 9A07 cpc r25,r26
1130 1154 0112 01F4 brne .+2
1131 1155 0114 00C0 rjmp .L60
1132 1156 0116 6130 cpi r22,lo8(1)
1133 1157 0118 7105 cpc r23,__zero_reg__
1134 1158 011a 8105 cpc r24,__zero_reg__
1135 1159 011c 9105 cpc r25,__zero_reg__
1136 1160 011e 01F4 brne .+2
1137 1161 0120 00C0 rjmp .L60
1139 1163 0122 C814 cp r12,r8
1140 1164 0124 D904 cpc r13,r9
1141 1165 0126 EA04 cpc r14,r10
1142 1166 0128 FB04 cpc r15,r11
1143 1167 012a 01F4 brne .L64
1144 1168 012c 00C0 rjmp .L62
1146 1170 012e BC2C mov r11,r12
1147 1171 0130 AD2C mov r10,r13
1149 1173 0132 9E2C mov r9,r14
1151 1175 0134 8F2C mov r8,r15
1154 1178 0136 C101 movw r24,r2
1155 1179 0138 A601 movw r20,r12
1157 1181 013a B701 movw r22,r14
1159 1183 013c 0FEF ldi r16,lo8(268435455)
1160 1184 013e 1FEF ldi r17,hi8(268435455)
1161 1185 0140 2FEF ldi r18,hlo8(268435455)
1162 1186 0142 3FE0 ldi r19,hhi8(268435455)
1163 1187 0144 0E94 0000 call put_fat
1165 1189 0148 8823 tst r24
1166 1190 014a 01F4 brne .L65
1169 1193 014c 4114 cp r4,__zero_reg__
1170 1194 014e 5104 cpc r5,__zero_reg__
1171 1195 0150 6104 cpc r6,__zero_reg__
1172 1196 0152 7104 cpc r7,__zero_reg__
1173 1197 0154 01F0 breq .L66
1175 1199 0156 C101 movw r24,r2
1176 1200 0158 B301 movw r22,r6
1177 1201 015a A201 movw r20,r4
1178 1202 015c 8601 movw r16,r12
1179 1203 015e 9701 movw r18,r14
1180 1204 0160 0E94 0000 call put_fat
1181 1205 0164 8823 tst r24
1182 1206 0166 01F4 brne .L65
1185 1209 0168 F101 movw r30,r2
1186 1210 016a B286 std Z+10,r11
1187 1211 016c A386 std Z+11,r10
1188 1212 016e 9486 std Z+12,r9
1189 1213 0170 8586 std Z+13,r8
1191 1215 0172 8685 ldd r24,Z+14
1192 1216 0174 9785 ldd r25,Z+15
1193 1217 0176 A089 ldd r26,Z+16
1194 1218 0178 B189 ldd r27,Z+17
1195 1219 017a 8F3F cpi r24,lo8(-1)
1196 1220 017c FFEF ldi r31,hi8(-1)
1197 1221 017e 9F07 cpc r25,r31
1198 1222 0180 FFEF ldi r31,hlo8(-1)
1199 1223 0182 AF07 cpc r26,r31
1200 1224 0184 FFEF ldi r31,hhi8(-1)
1201 1225 0186 BF07 cpc r27,r31
1202 1226 0188 01F0 breq .L69
1205 1229 018a 0197 sbiw r24,1
1206 1230 018c A109 sbc r26,__zero_reg__
1207 1231 018e B109 sbc r27,__zero_reg__
1208 1232 0190 F101 movw r30,r2
1209 1233 0192 8687 std Z+14,r24
1210 1234 0194 9787 std Z+15,r25
1211 1235 0196 A08B std Z+16,r26
1212 1236 0198 B18B std Z+17,r27
1214 1238 019a 81E0 ldi r24,lo8(1)
1215 1239 019c 8583 std Z+5,r24
1217 1241 019e A701 movw r20,r14
1218 1242 01a0 9601 movw r18,r12
1220 1244 01a2 00C0 rjmp .L60
1223 1247 01a4 20E0 ldi r18,lo8(0)
1224 1248 01a6 30E0 ldi r19,hi8(0)
1225 1249 01a8 40E0 ldi r20,hlo8(0)
1226 1250 01aa 50E0 ldi r21,hhi8(0)
1227 1251 01ac 00C0 rjmp .L60
1230 1254 01ae 2FEF ldi r18,lo8(-1)
1231 1255 01b0 3FEF ldi r19,hi8(-1)
1232 1256 01b2 4FEF ldi r20,hlo8(-1)
1233 1257 01b4 5FEF ldi r21,hhi8(-1)
1237 1261 01b6 B901 movw r22,r18
1239 1263 01b8 CA01 movw r24,r20
1240 1264 /* epilogue start */
1241 1265 01ba 0F90 pop __tmp_reg__
1242 1266 01bc 0F90 pop __tmp_reg__
1243 1267 01be 0F90 pop __tmp_reg__
1244 1268 01c0 0F90 pop __tmp_reg__
1245 1269 01c2 CF91 pop r28
1246 1270 01c4 DF91 pop r29
1247 1271 01c6 1F91 pop r17
1248 1272 01c8 0F91 pop r16
1249 1273 01ca FF90 pop r15
1250 1274 01cc EF90 pop r14
1251 1275 01ce DF90 pop r13
1252 1276 01d0 CF90 pop r12
1254 1278 01d2 BF90 pop r11
1256 1280 01d4 AF90 pop r10
1258 1282 01d6 9F90 pop r9
1260 1284 01d8 8F90 pop r8
1262 1286 01da 7F90 pop r7
1263 1287 01dc 6F90 pop r6
1264 1288 01de 5F90 pop r5
1265 1289 01e0 4F90 pop r4
1267 1291 01e2 3F90 pop r3
1268 1292 01e4 2F90 pop r2
1272 1297 .section .text.f_lseek,"ax",@progbits
1273 1298 .global f_lseek
1278 1304 0000 2F92 push r2
1279 1305 0002 3F92 push r3
1280 1306 0004 4F92 push r4
1281 1307 0006 5F92 push r5
1282 1308 0008 6F92 push r6
1283 1309 000a 7F92 push r7
1284 1310 000c 8F92 push r8
1285 1311 000e 9F92 push r9
1286 1312 0010 AF92 push r10
1287 1313 0012 BF92 push r11
1288 1314 0014 CF92 push r12
1289 1315 0016 DF92 push r13
1290 1316 0018 EF92 push r14
1291 1317 001a FF92 push r15
1292 1318 001c 0F93 push r16
1293 1319 001e 1F93 push r17
1294 1320 0020 DF93 push r29
1295 1321 0022 CF93 push r28
1296 1322 0024 00D0 rcall .
1297 1323 0026 00D0 rcall .
1298 1324 0028 0F92 push __tmp_reg__
1299 1325 002a CDB7 in r28,__SP_L__
1300 1326 002c DEB7 in r29,__SP_H__
1301 1327 /* prologue: function */
1302 1328 /* frame size = 5 */
1303 1329 002e 9D83 std Y+5,r25
1304 1330 0030 8C83 std Y+4,r24
1305 1331 0032 3A01 movw r6,r20
1306 1332 0034 4B01 movw r8,r22
1308 1334 0036 DC01 movw r26,r24
1309 1335 0038 1296 adiw r26,2
1310 1336 003a 6D91 ld r22,X+
1311 1337 003c 7C91 ld r23,X
1312 1338 003e 1397 sbiw r26,2+1
1313 1339 0040 8D91 ld r24,X+
1314 1340 0042 9C91 ld r25,X
1316 1342 0044 0E94 0000 call validate
1318 1344 0048 8B83 std Y+3,r24
1321 1347 004a 8823 tst r24
1322 1348 004c 01F0 breq .+2
1323 1349 004e 00C0 rjmp .L71
1325 1351 0050 EC81 ldd r30,Y+4
1326 1352 0052 FD81 ldd r31,Y+5
1327 1353 0054 8481 ldd r24,Z+4
1328 1354 0056 87FD sbrc r24,7
1329 1355 0058 00C0 rjmp .L94
1332 1358 005a AC81 ldd r26,Y+4
1333 1359 005c BD81 ldd r27,Y+5
1334 1360 005e 1A96 adiw r26,10
1335 1361 0060 AD90 ld r10,X+
1336 1362 0062 BD90 ld r11,X+
1337 1363 0064 CD90 ld r12,X+
1338 1364 0066 DC90 ld r13,X
1339 1365 0068 1D97 sbiw r26,10+3
1341 1367 006a A614 cp r10,r6
1342 1368 006c B704 cpc r11,r7
1343 1369 006e C804 cpc r12,r8
1344 1370 0070 D904 cpc r13,r9
1345 1371 0072 00F4 brsh .L73
1346 1372 0074 81FF sbrs r24,1
1347 1373 0076 00C0 rjmp .L74
1349 1375 0078 6401 movw r12,r8
1350 1376 007a 5301 movw r10,r6
1353 1379 007c EC81 ldd r30,Y+4
1354 1380 007e FD81 ldd r31,Y+5
1355 1381 0080 2681 ldd r18,Z+6
1356 1382 0082 3781 ldd r19,Z+7
1357 1383 0084 4085 ldd r20,Z+8
1358 1384 0086 5185 ldd r21,Z+9
1361 1387 0088 1682 std Z+6,__zero_reg__
1362 1388 008a 1782 std Z+7,__zero_reg__
1363 1389 008c 1086 std Z+8,__zero_reg__
1364 1390 008e 1186 std Z+9,__zero_reg__
1365 1391 0090 8FEF ldi r24,lo8(-1)
1366 1392 0092 8583 std Z+5,r24
1368 1394 0094 A114 cp r10,__zero_reg__
1369 1395 0096 B104 cpc r11,__zero_reg__
1370 1396 0098 C104 cpc r12,__zero_reg__
1371 1397 009a D104 cpc r13,__zero_reg__
1372 1398 009c 01F4 brne .+2
1373 1399 009e 00C0 rjmp .L75
1375 1401 00a0 0190 ld __tmp_reg__,Z+
1376 1402 00a2 F081 ld r31,Z
1377 1403 00a4 E02D mov r30,__tmp_reg__
1378 1404 00a6 FA83 std Y+2,r31
1379 1405 00a8 E983 std Y+1,r30
1380 1406 00aa 8281 ldd r24,Z+2
1381 1407 00ac 682E mov r6,r24
1383 1409 00ae 7724 clr r7
1385 1411 00b0 8824 clr r8
1386 1412 00b2 9924 clr r9
1388 1414 00b4 09E0 ldi r16,9
1389 1415 00b6 660C 1: lsl r6
1390 1416 00b8 771C rol r7
1391 1417 00ba 881C rol r8
1392 1418 00bc 991C rol r9
1393 1419 00be 0A95 dec r16
1394 1420 00c0 01F4 brne 1b
1397 1423 00c2 2115 cp r18,__zero_reg__
1398 1424 00c4 3105 cpc r19,__zero_reg__
1399 1425 00c6 4105 cpc r20,__zero_reg__
1400 1426 00c8 5105 cpc r21,__zero_reg__
1401 1427 00ca 01F0 breq .L76
1402 1428 00cc 1901 movw r2,r18
1403 1429 00ce 2A01 movw r4,r20
1405 1431 00d2 2108 sbc r2,__zero_reg__
1406 1432 00d4 3108 sbc r3,__zero_reg__
1407 1433 00d6 4108 sbc r4,__zero_reg__
1408 1434 00d8 5108 sbc r5,__zero_reg__
1409 1435 00da C601 movw r24,r12
1410 1436 00dc B501 movw r22,r10
1411 1437 00de 6150 subi r22,lo8(-(-1))
1412 1438 00e0 7040 sbci r23,hi8(-(-1))
1413 1439 00e2 8040 sbci r24,hlo8(-(-1))
1414 1440 00e4 9040 sbci r25,hhi8(-(-1))
1415 1441 00e6 A401 movw r20,r8
1416 1442 00e8 9301 movw r18,r6
1418 1444 00ea 0E94 0000 call __udivmodsi4
1419 1445 00ee 7901 movw r14,r18
1420 1446 00f0 8A01 movw r16,r20
1421 1447 00f2 C201 movw r24,r4
1422 1448 00f4 B101 movw r22,r2
1423 1449 00f6 A401 movw r20,r8
1424 1450 00f8 9301 movw r18,r6
1425 1451 00fa 0E94 0000 call __udivmodsi4
1426 1452 00fe E216 cp r14,r18
1427 1453 0100 F306 cpc r15,r19
1428 1454 0102 0407 cpc r16,r20
1429 1455 0104 1507 cpc r17,r21
1430 1456 0106 00F0 brlo .L76
1432 1458 0108 8827 clr r24
1433 1459 010a 9927 clr r25
1434 1460 010c DC01 movw r26,r24
1435 1461 010e 8619 sub r24,r6
1436 1462 0110 9709 sbc r25,r7
1437 1463 0112 A809 sbc r26,r8
1438 1464 0114 B909 sbc r27,r9
1439 1465 0116 8221 and r24,r2
1440 1466 0118 9321 and r25,r3
1441 1467 011a A421 and r26,r4
1442 1468 011c B521 and r27,r5
1443 1469 011e EC81 ldd r30,Y+4
1444 1470 0120 FD81 ldd r31,Y+5
1445 1471 0122 8683 std Z+6,r24
1446 1472 0124 9783 std Z+7,r25
1447 1473 0126 A087 std Z+8,r26
1448 1474 0128 B187 std Z+9,r27
1450 1476 012a A81A sub r10,r24
1451 1477 012c B90A sbc r11,r25
1452 1478 012e CA0A sbc r12,r26
1453 1479 0130 DB0A sbc r13,r27
1455 1481 0132 4289 ldd r20,Z+18
1456 1482 0134 5389 ldd r21,Z+19
1457 1483 0136 6489 ldd r22,Z+20
1458 1484 0138 7589 ldd r23,Z+21
1460 1486 013a 00C0 rjmp .L77
1464 1490 013c AC81 ldd r26,Y+4
1465 1491 013e BD81 ldd r27,Y+5
1466 1492 0140 1E96 adiw r26,14
1467 1493 0142 4D91 ld r20,X+
1468 1494 0144 5D91 ld r21,X+
1469 1495 0146 6D91 ld r22,X+
1470 1496 0148 7C91 ld r23,X
1471 1497 014a 5197 sbiw r26,14+3
1474 1500 014c 4115 cp r20,__zero_reg__
1475 1501 014e 5105 cpc r21,__zero_reg__
1476 1502 0150 6105 cpc r22,__zero_reg__
1477 1503 0152 7105 cpc r23,__zero_reg__
1478 1504 0154 01F4 brne .L78
1480 1506 0156 8981 ldd r24,Y+1
1481 1507 0158 9A81 ldd r25,Y+2
1482 1508 015a 40E0 ldi r20,lo8(0)
1483 1509 015c 50E0 ldi r21,hi8(0)
1484 1510 015e 60E0 ldi r22,hlo8(0)
1485 1511 0160 70E0 ldi r23,hhi8(0)
1487 1513 0162 0E94 0000 call create_chain
1489 1515 0166 AB01 movw r20,r22
1490 1516 0168 BC01 movw r22,r24
1493 1519 016a 4130 cpi r20,lo8(1)
1494 1520 016c 5105 cpc r21,__zero_reg__
1495 1521 016e 6105 cpc r22,__zero_reg__
1496 1522 0170 7105 cpc r23,__zero_reg__
1497 1523 0172 01F4 brne .L79
1499 1525 0174 EC81 ldd r30,Y+4
1500 1526 0176 FD81 ldd r31,Y+5
1501 1527 0178 8481 ldd r24,Z+4
1502 1528 017a 8068 ori r24,lo8(-128)
1503 1529 017c 8483 std Z+4,r24
1506 1532 017e F2E0 ldi r31,lo8(2)
1507 1533 0180 FB83 std Y+3,r31
1509 1535 0182 00C0 rjmp .L71
1513 1539 0184 4F3F cpi r20,lo8(-1)
1514 1540 0186 8FEF ldi r24,hi8(-1)
1515 1541 0188 5807 cpc r21,r24
1516 1542 018a 8FEF ldi r24,hlo8(-1)
1517 1543 018c 6807 cpc r22,r24
1518 1544 018e 8FEF ldi r24,hhi8(-1)
1519 1545 0190 7807 cpc r23,r24
1520 1546 0192 01F0 breq .L97
1523 1549 0194 EC81 ldd r30,Y+4
1524 1550 0196 FD81 ldd r31,Y+5
1525 1551 0198 4687 std Z+14,r20
1526 1552 019a 5787 std Z+15,r21
1527 1553 019c 608B std Z+16,r22
1528 1554 019e 718B std Z+17,r23
1532 1558 01a0 AC81 ldd r26,Y+4
1533 1559 01a2 BD81 ldd r27,Y+5
1534 1560 01a4 5296 adiw r26,18
1535 1561 01a6 4D93 st X+,r20
1536 1562 01a8 5D93 st X+,r21
1537 1563 01aa 6D93 st X+,r22
1538 1564 01ac 7C93 st X,r23
1539 1565 01ae 5597 sbiw r26,18+3
1542 1568 01b0 4115 cp r20,__zero_reg__
1543 1569 01b2 5105 cpc r21,__zero_reg__
1544 1570 01b4 6105 cpc r22,__zero_reg__
1545 1571 01b6 7105 cpc r23,__zero_reg__
1546 1572 01b8 01F0 breq .+2
1547 1573 01ba 00C0 rjmp .L93
1548 1574 01bc 00C0 rjmp .L75
1551 1577 01be EC81 ldd r30,Y+4
1552 1578 01c0 FD81 ldd r31,Y+5
1553 1579 01c2 8481 ldd r24,Z+4
1554 1580 01c4 2081 ld r18,Z
1555 1581 01c6 3181 ldd r19,Z+1
1557 1583 01c8 81FF sbrs r24,1
1558 1584 01ca 00C0 rjmp .L82
1560 1586 01cc C901 movw r24,r18
1561 1587 01ce 0E94 0000 call create_chain
1563 1589 01d2 AB01 movw r20,r22
1564 1590 01d4 BC01 movw r22,r24
1567 1593 01d6 4115 cp r20,__zero_reg__
1568 1594 01d8 5105 cpc r21,__zero_reg__
1569 1595 01da 6105 cpc r22,__zero_reg__
1570 1596 01dc 7105 cpc r23,__zero_reg__
1571 1597 01de 01F4 brne .L83
1572 1598 01e0 6401 movw r12,r8
1573 1599 01e2 5301 movw r10,r6
1574 1600 01e4 00C0 rjmp .L84
1577 1603 01e6 C901 movw r24,r18
1578 1604 01e8 0E94 0000 call get_fat
1580 1606 01ec AB01 movw r20,r22
1581 1607 01ee BC01 movw r22,r24
1585 1611 01f0 4F3F cpi r20,lo8(-1)
1586 1612 01f2 FFEF ldi r31,hi8(-1)
1587 1613 01f4 5F07 cpc r21,r31
1588 1614 01f6 FFEF ldi r31,hlo8(-1)
1589 1615 01f8 6F07 cpc r22,r31
1590 1616 01fa FFEF ldi r31,hhi8(-1)
1591 1617 01fc 7F07 cpc r23,r31
1592 1618 01fe 01F4 brne .L85
1594 1620 0200 AC81 ldd r26,Y+4
1595 1621 0202 BD81 ldd r27,Y+5
1596 1622 0204 1496 adiw r26,4
1597 1623 0206 8C91 ld r24,X
1598 1624 0208 1497 sbiw r26,4
1599 1625 020a 8068 ori r24,lo8(-128)
1600 1626 020c 1496 adiw r26,4
1601 1627 020e 8C93 st X,r24
1602 1628 0210 B1E0 ldi r27,lo8(1)
1603 1629 0212 00C0 rjmp .L95
1606 1632 0214 4230 cpi r20,lo8(2)
1607 1633 0216 5105 cpc r21,__zero_reg__
1608 1634 0218 6105 cpc r22,__zero_reg__
1609 1635 021a 7105 cpc r23,__zero_reg__
1610 1636 021c 00F4 brsh .+2
1611 1637 021e 00C0 rjmp .L96
1612 1638 0220 AC81 ldd r26,Y+4
1613 1639 0222 BD81 ldd r27,Y+5
1614 1640 0224 ED91 ld r30,X+
1615 1641 0226 FC91 ld r31,X
1616 1642 0228 828D ldd r24,Z+26
1617 1643 022a 938D ldd r25,Z+27
1618 1644 022c A48D ldd r26,Z+28
1619 1645 022e B58D ldd r27,Z+29
1620 1646 0230 4817 cp r20,r24
1621 1647 0232 5907 cpc r21,r25
1622 1648 0234 6A07 cpc r22,r26
1623 1649 0236 7B07 cpc r23,r27
1624 1650 0238 00F0 brlo .+2
1625 1651 023a 00C0 rjmp .L96
1628 1654 023c AC81 ldd r26,Y+4
1629 1655 023e BD81 ldd r27,Y+5
1630 1656 0240 5296 adiw r26,18
1631 1657 0242 4D93 st X+,r20
1632 1658 0244 5D93 st X+,r21
1633 1659 0246 6D93 st X+,r22
1634 1660 0248 7C93 st X,r23
1635 1661 024a 5597 sbiw r26,18+3
1637 1663 024c FD01 movw r30,r26
1638 1664 024e 8681 ldd r24,Z+6
1639 1665 0250 9781 ldd r25,Z+7
1640 1666 0252 A085 ldd r26,Z+8
1641 1667 0254 B185 ldd r27,Z+9
1642 1668 0256 860D add r24,r6
1643 1669 0258 971D adc r25,r7
1644 1670 025a A81D adc r26,r8
1645 1671 025c B91D adc r27,r9
1646 1672 025e 8683 std Z+6,r24
1647 1673 0260 9783 std Z+7,r25
1648 1674 0262 A087 std Z+8,r26
1649 1675 0264 B187 std Z+9,r27
1651 1677 0266 A618 sub r10,r6
1652 1678 0268 B708 sbc r11,r7
1653 1679 026a C808 sbc r12,r8
1654 1680 026c D908 sbc r13,r9
1658 1684 026e 6A14 cp r6,r10
1659 1685 0270 7B04 cpc r7,r11
1660 1686 0272 8C04 cpc r8,r12
1661 1687 0274 9D04 cpc r9,r13
1662 1688 0276 00F4 brsh .+2
1663 1689 0278 00C0 rjmp .L88
1666 1692 027a EC81 ldd r30,Y+4
1667 1693 027c FD81 ldd r31,Y+5
1668 1694 027e 8681 ldd r24,Z+6
1669 1695 0280 9781 ldd r25,Z+7
1670 1696 0282 A085 ldd r26,Z+8
1671 1697 0284 B185 ldd r27,Z+9
1672 1698 0286 8A0D add r24,r10
1673 1699 0288 9B1D adc r25,r11
1674 1700 028a AC1D adc r26,r12
1675 1701 028c BD1D adc r27,r13
1676 1702 028e 8683 std Z+6,r24
1677 1703 0290 9783 std Z+7,r25
1678 1704 0292 A087 std Z+8,r26
1679 1705 0294 B187 std Z+9,r27
1681 1707 0296 D601 movw r26,r12
1682 1708 0298 C501 movw r24,r10
1683 1709 029a 19E0 ldi r17,9
1684 1710 029c B695 1: lsr r27
1685 1711 029e A795 ror r26
1686 1712 02a0 9795 ror r25
1687 1713 02a2 8795 ror r24
1688 1714 02a4 1A95 dec r17
1689 1715 02a6 01F4 brne 1b
1690 1716 02a8 E82E mov r14,r24
1691 1717 02aa 8583 std Z+5,r24
1693 1719 02ac 8FEF ldi r24,lo8(511)
1694 1720 02ae 91E0 ldi r25,hi8(511)
1695 1721 02b0 A0E0 ldi r26,hlo8(511)
1696 1722 02b2 B0E0 ldi r27,hhi8(511)
1697 1723 02b4 A822 and r10,r24
1698 1724 02b6 B922 and r11,r25
1699 1725 02b8 CA22 and r12,r26
1700 1726 02ba DB22 and r13,r27
1701 1727 02bc A114 cp r10,__zero_reg__
1702 1728 02be B104 cpc r11,__zero_reg__
1703 1729 02c0 C104 cpc r12,__zero_reg__
1704 1730 02c2 D104 cpc r13,__zero_reg__
1705 1731 02c4 01F0 breq .L75
1707 1733 02c6 8081 ld r24,Z
1708 1734 02c8 9181 ldd r25,Z+1
1709 1735 02ca 0E94 0000 call clust2sect
1712 1738 02ce 6115 cp r22,__zero_reg__
1713 1739 02d0 7105 cpc r23,__zero_reg__
1714 1740 02d2 8105 cpc r24,__zero_reg__
1715 1741 02d4 9105 cpc r25,__zero_reg__
1717 1743 02d6 01F4 brne .L89
1718 1744 02d8 AC81 ldd r26,Y+4
1719 1745 02da BD81 ldd r27,Y+5
1720 1746 02dc 1496 adiw r26,4
1721 1747 02de 8C91 ld r24,X
1722 1748 02e0 1497 sbiw r26,4
1723 1749 02e2 8068 ori r24,lo8(-128)
1724 1750 02e4 1496 adiw r26,4
1725 1751 02e6 8C93 st X,r24
1726 1752 02e8 B2E0 ldi r27,lo8(2)
1729 1755 02ea BB83 std Y+3,r27
1731 1757 02ec 00C0 rjmp .L71
1735 1761 02ee 9B01 movw r18,r22
1736 1762 02f0 AC01 movw r20,r24
1737 1763 02f2 2E0D add r18,r14
1738 1764 02f4 311D adc r19,__zero_reg__
1739 1765 02f6 411D adc r20,__zero_reg__
1740 1766 02f8 511D adc r21,__zero_reg__
1743 1769 02fa E394 inc r14
1744 1770 02fc EC81 ldd r30,Y+4
1745 1771 02fe FD81 ldd r31,Y+5
1746 1772 0300 E582 std Z+5,r14
1747 1773 0302 00C0 rjmp .L90
1750 1776 0304 20E0 ldi r18,lo8(0)
1751 1777 0306 30E0 ldi r19,hi8(0)
1752 1778 0308 40E0 ldi r20,hlo8(0)
1753 1779 030a 50E0 ldi r21,hhi8(0)
1757 1783 030c EC81 ldd r30,Y+4
1758 1784 030e FD81 ldd r31,Y+5
1759 1785 0310 8681 ldd r24,Z+6
1760 1786 0312 9781 ldd r25,Z+7
1761 1787 0314 A085 ldd r26,Z+8
1762 1788 0316 B185 ldd r27,Z+9
1763 1789 0318 9170 andi r25,hi8(511)
1764 1790 031a A070 andi r26,hlo8(511)
1765 1791 031c B070 andi r27,hhi8(511)
1766 1792 031e 0097 sbiw r24,0
1767 1793 0320 A105 cpc r26,__zero_reg__
1768 1794 0322 B105 cpc r27,__zero_reg__
1769 1795 0324 01F0 breq .L91
1770 1796 0326 8689 ldd r24,Z+22
1771 1797 0328 9789 ldd r25,Z+23
1772 1798 032a A08D ldd r26,Z+24
1773 1799 032c B18D ldd r27,Z+25
1774 1800 032e 2817 cp r18,r24
1775 1801 0330 3907 cpc r19,r25
1776 1802 0332 4A07 cpc r20,r26
1777 1803 0334 5B07 cpc r21,r27
1778 1804 0336 01F0 breq .L91
1780 1806 0338 268B std Z+22,r18
1781 1807 033a 378B std Z+23,r19
1782 1808 033c 408F std Z+24,r20
1783 1809 033e 518F std Z+25,r21
1786 1812 0340 EC81 ldd r30,Y+4
1787 1813 0342 FD81 ldd r31,Y+5
1788 1814 0344 2681 ldd r18,Z+6
1789 1815 0346 3781 ldd r19,Z+7
1790 1816 0348 4085 ldd r20,Z+8
1791 1817 034a 5185 ldd r21,Z+9
1793 1819 034c 8285 ldd r24,Z+10
1794 1820 034e 9385 ldd r25,Z+11
1795 1821 0350 A485 ldd r26,Z+12
1796 1822 0352 B585 ldd r27,Z+13
1797 1823 0354 8217 cp r24,r18
1798 1824 0356 9307 cpc r25,r19
1799 1825 0358 A407 cpc r26,r20
1800 1826 035a B507 cpc r27,r21
1801 1827 035c 00F4 brsh .L71
1803 1829 035e 2287 std Z+10,r18
1804 1830 0360 3387 std Z+11,r19
1805 1831 0362 4487 std Z+12,r20
1806 1832 0364 5587 std Z+13,r21
1808 1834 0366 8481 ldd r24,Z+4
1809 1835 0368 8062 ori r24,lo8(32)
1810 1836 036a 8483 std Z+4,r24
1814 1840 036c 8B81 ldd r24,Y+3
1815 1841 /* epilogue start */
1816 1842 036e 0F90 pop __tmp_reg__
1817 1843 0370 0F90 pop __tmp_reg__
1818 1844 0372 0F90 pop __tmp_reg__
1819 1845 0374 0F90 pop __tmp_reg__
1820 1846 0376 0F90 pop __tmp_reg__
1821 1847 0378 CF91 pop r28
1822 1848 037a DF91 pop r29
1823 1849 037c 1F91 pop r17
1824 1850 037e 0F91 pop r16
1825 1851 0380 FF90 pop r15
1826 1852 0382 EF90 pop r14
1827 1853 0384 DF90 pop r13
1828 1854 0386 CF90 pop r12
1829 1855 0388 BF90 pop r11
1830 1856 038a AF90 pop r10
1832 1858 038c 9F90 pop r9
1833 1859 038e 8F90 pop r8
1835 1861 0390 7F90 pop r7
1837 1863 0392 6F90 pop r6
1839 1865 0394 5F90 pop r5
1840 1866 0396 4F90 pop r4
1841 1867 0398 3F90 pop r3
1842 1868 039a 2F90 pop r2
1845 1872 .section .text.dir_seek,"ax",@progbits
1850 1878 0000 EF92 push r14
1851 1879 0002 FF92 push r15
1852 1880 0004 0F93 push r16
1853 1881 0006 1F93 push r17
1854 1882 0008 CF93 push r28
1855 1883 000a DF93 push r29
1856 1884 /* prologue: function */
1857 1885 /* frame size = 0 */
1858 1886 000c 8C01 movw r16,r24
1859 1887 000e EB01 movw r28,r22
1861 1889 0010 DC01 movw r26,r24
1862 1890 0012 1596 adiw r26,4+1
1863 1891 0014 7C93 st X,r23
1864 1892 0016 6E93 st -X,r22
1865 1893 0018 1497 sbiw r26,4
1867 1895 001a 1696 adiw r26,6
1868 1896 001c 4D91 ld r20,X+
1869 1897 001e 5D91 ld r21,X+
1870 1898 0020 6D91 ld r22,X+
1871 1899 0022 7C91 ld r23,X
1872 1900 0024 1997 sbiw r26,6+3
1875 1903 0026 4130 cpi r20,lo8(1)
1876 1904 0028 5105 cpc r21,__zero_reg__
1877 1905 002a 6105 cpc r22,__zero_reg__
1878 1906 002c 7105 cpc r23,__zero_reg__
1879 1907 002e 01F4 brne .+2
1880 1908 0030 00C0 rjmp .L99
1881 1909 0032 ED91 ld r30,X+
1882 1910 0034 FC91 ld r31,X
1883 1911 0036 828D ldd r24,Z+26
1884 1912 0038 938D ldd r25,Z+27
1885 1913 003a A48D ldd r26,Z+28
1886 1914 003c B58D ldd r27,Z+29
1888 1916 003e 4817 cp r20,r24
1889 1917 0040 5907 cpc r21,r25
1890 1918 0042 6A07 cpc r22,r26
1891 1919 0044 7B07 cpc r23,r27
1892 1920 0046 00F0 brlo .+2
1893 1921 0048 00C0 rjmp .L99
1895 1923 004a 4115 cp r20,__zero_reg__
1896 1924 004c 5105 cpc r21,__zero_reg__
1897 1925 004e 6105 cpc r22,__zero_reg__
1898 1926 0050 7105 cpc r23,__zero_reg__
1899 1927 0052 01F4 brne .L100
1900 1928 0054 8081 ld r24,Z
1901 1929 0056 8330 cpi r24,lo8(3)
1902 1930 0058 01F4 brne .L101
1904 1932 005a 42A1 ldd r20,Z+34
1905 1933 005c 53A1 ldd r21,Z+35
1906 1934 005e 64A1 ldd r22,Z+36
1907 1935 0060 75A1 ldd r23,Z+37
1909 1937 0062 4115 cp r20,__zero_reg__
1910 1938 0064 5105 cpc r21,__zero_reg__
1911 1939 0066 6105 cpc r22,__zero_reg__
1912 1940 0068 7105 cpc r23,__zero_reg__
1913 1941 006a 01F4 brne .L100
1916 1944 006c F801 movw r30,r16
1917 1945 006e 1286 std Z+10,__zero_reg__
1918 1946 0070 1386 std Z+11,__zero_reg__
1919 1947 0072 1486 std Z+12,__zero_reg__
1920 1948 0074 1586 std Z+13,__zero_reg__
1922 1950 0076 0190 ld __tmp_reg__,Z+
1923 1951 0078 F081 ld r31,Z
1924 1952 007a E02D mov r30,__tmp_reg__
1925 1953 007c 8085 ldd r24,Z+8
1926 1954 007e 9185 ldd r25,Z+9
1927 1955 0080 C817 cp r28,r24
1928 1956 0082 D907 cpc r29,r25
1929 1957 0084 00F0 brlo .+2
1930 1958 0086 00C0 rjmp .L99
1933 1961 0088 CE01 movw r24,r28
1934 1962 008a A4E0 ldi r26,4
1935 1963 008c 9695 1: lsr r25
1936 1964 008e 8795 ror r24
1937 1965 0090 AA95 dec r26
1938 1966 0092 01F4 brne 1b
1939 1967 0094 A0E0 ldi r26,lo8(0)
1940 1968 0096 B0E0 ldi r27,hi8(0)
1941 1969 0098 22A1 ldd r18,Z+34
1942 1970 009a 33A1 ldd r19,Z+35
1943 1971 009c 44A1 ldd r20,Z+36
1944 1972 009e 55A1 ldd r21,Z+37
1945 1973 00a0 820F add r24,r18
1946 1974 00a2 931F adc r25,r19
1947 1975 00a4 A41F adc r26,r20
1948 1976 00a6 B51F adc r27,r21
1949 1977 00a8 F801 movw r30,r16
1950 1978 00aa 8687 std Z+14,r24
1951 1979 00ac 9787 std Z+15,r25
1952 1980 00ae A08B std Z+16,r26
1953 1981 00b0 B18B std Z+17,r27
1954 1982 00b2 00C0 rjmp .L102
1958 1986 00b4 8281 ldd r24,Z+2
1959 1987 00b6 E82E mov r14,r24
1961 1989 00b8 FF24 clr r15
1963 1991 00ba E4E0 ldi r30,4
1964 1992 00bc EE0C 1: lsl r14
1965 1993 00be FF1C rol r15
1966 1994 00c0 EA95 dec r30
1967 1995 00c2 01F4 brne 1b
1969 1997 00c4 00C0 rjmp .L103
1973 2001 00c6 0E94 0000 call get_fat
1975 2003 00ca AB01 movw r20,r22
1976 2004 00cc BC01 movw r22,r24
1979 2007 00ce 4F3F cpi r20,lo8(-1)
1980 2008 00d0 FFEF ldi r31,hi8(-1)
1981 2009 00d2 5F07 cpc r21,r31
1982 2010 00d4 FFEF ldi r31,hlo8(-1)
1983 2011 00d6 6F07 cpc r22,r31
1984 2012 00d8 FFEF ldi r31,hhi8(-1)
1985 2013 00da 7F07 cpc r23,r31
1986 2014 00dc 01F4 brne .L104
1987 2015 00de 81E0 ldi r24,lo8(1)
1988 2016 00e0 00C0 rjmp .L105
1991 2019 00e2 4230 cpi r20,lo8(2)
1992 2020 00e4 5105 cpc r21,__zero_reg__
1993 2021 00e6 6105 cpc r22,__zero_reg__
1994 2022 00e8 7105 cpc r23,__zero_reg__
1995 2023 00ea 00F4 brsh .+2
1996 2024 00ec 00C0 rjmp .L99
1997 2025 00ee D801 movw r26,r16
1998 2026 00f0 ED91 ld r30,X+
1999 2027 00f2 FC91 ld r31,X
2000 2028 00f4 828D ldd r24,Z+26
2001 2029 00f6 938D ldd r25,Z+27
2002 2030 00f8 A48D ldd r26,Z+28
2003 2031 00fa B58D ldd r27,Z+29
2004 2032 00fc 4817 cp r20,r24
2005 2033 00fe 5907 cpc r21,r25
2006 2034 0100 6A07 cpc r22,r26
2007 2035 0102 7B07 cpc r23,r27
2008 2036 0104 00F4 brsh .L99
2010 2038 0106 CE19 sub r28,r14
2011 2039 0108 DF09 sbc r29,r15
2014 2042 010a F801 movw r30,r16
2015 2043 010c 8081 ld r24,Z
2016 2044 010e 9181 ldd r25,Z+1
2018 2046 0110 CE15 cp r28,r14
2019 2047 0112 DF05 cpc r29,r15
2020 2048 0114 00F4 brsh .L106
2022 2050 0116 D801 movw r26,r16
2023 2051 0118 1A96 adiw r26,10
2024 2052 011a 4D93 st X+,r20
2025 2053 011c 5D93 st X+,r21
2026 2054 011e 6D93 st X+,r22
2027 2055 0120 7C93 st X,r23
2028 2056 0122 1D97 sbiw r26,10+3
2030 2058 0124 0E94 0000 call clust2sect
2032 2060 0128 9E01 movw r18,r28
2033 2061 012a 44E0 ldi r20,4
2034 2062 012c 3695 1: lsr r19
2035 2063 012e 2795 ror r18
2036 2064 0130 4A95 dec r20
2037 2065 0132 01F4 brne 1b
2038 2066 0134 40E0 ldi r20,lo8(0)
2039 2067 0136 50E0 ldi r21,hi8(0)
2040 2068 0138 260F add r18,r22
2041 2069 013a 371F adc r19,r23
2042 2070 013c 481F adc r20,r24
2043 2071 013e 591F adc r21,r25
2044 2072 0140 F801 movw r30,r16
2045 2073 0142 2687 std Z+14,r18
2046 2074 0144 3787 std Z+15,r19
2047 2075 0146 408B std Z+16,r20
2048 2076 0148 518B std Z+17,r21
2052 2080 014a CF70 andi r28,lo8(15)
2053 2081 014c D070 andi r29,hi8(15)
2054 2082 014e 85E0 ldi r24,5
2055 2083 0150 CC0F 1: lsl r28
2056 2084 0152 DD1F rol r29
2057 2085 0154 8A95 dec r24
2058 2086 0156 01F4 brne 1b
2059 2087 0158 AE96 adiw r28,46
2060 2088 015a D801 movw r26,r16
2061 2089 015c 8D91 ld r24,X+
2062 2090 015e 9C91 ld r25,X
2063 2091 0160 1197 sbiw r26,1
2064 2092 0162 8C0F add r24,r28
2065 2093 0164 9D1F adc r25,r29
2066 2094 0166 5396 adiw r26,18+1
2067 2095 0168 9C93 st X,r25
2068 2096 016a 8E93 st -X,r24
2069 2097 016c 5297 sbiw r26,18
2070 2098 016e 80E0 ldi r24,lo8(0)
2071 2099 0170 00C0 rjmp .L105
2075 2103 0172 82E0 ldi r24,lo8(2)
2077 2105 /* epilogue start */
2079 2107 0174 DF91 pop r29
2080 2108 0176 CF91 pop r28
2082 2110 0178 1F91 pop r17
2083 2111 017a 0F91 pop r16
2085 2113 017c FF90 pop r15
2087 2115 017e EF90 pop r14
2091 2120 .section .text.f_write,"ax",@progbits
2092 2121 .global f_write
2097 2127 0000 2F92 push r2
2098 2128 0002 3F92 push r3
2099 2129 0004 4F92 push r4
2100 2130 0006 5F92 push r5
2101 2131 0008 6F92 push r6
2102 2132 000a 7F92 push r7
2103 2133 000c 8F92 push r8
2104 2134 000e 9F92 push r9
2105 2135 0010 AF92 push r10
2106 2136 0012 BF92 push r11
2107 2137 0014 CF92 push r12
2108 2138 0016 DF92 push r13
2109 2139 0018 EF92 push r14
2110 2140 001a FF92 push r15
2111 2141 001c 0F93 push r16
2112 2142 001e 1F93 push r17
2113 2143 0020 CF93 push r28
2114 2144 0022 DF93 push r29
2115 2145 /* prologue: function */
2116 2146 /* frame size = 0 */
2117 2147 0024 EC01 movw r28,r24
2118 2148 0026 162F mov r17,r22
2119 2149 0028 072F mov r16,r23
2121 2151 002a 4A01 movw r8,r20
2122 2152 002c 1901 movw r2,r18
2124 2154 002e F901 movw r30,r18
2125 2155 0030 1182 std Z+1,__zero_reg__
2126 2156 0032 1082 st Z,__zero_reg__
2128 2158 0034 6A81 ldd r22,Y+2
2129 2159 0036 7B81 ldd r23,Y+3
2131 2161 0038 8881 ld r24,Y
2132 2162 003a 9981 ldd r25,Y+1
2134 2164 003c 0E94 0000 call validate
2136 2166 0040 782E mov r7,r24
2139 2169 0042 8823 tst r24
2140 2170 0044 01F0 breq .+2
2141 2171 0046 00C0 rjmp .L109
2144 2174 0048 8C81 ldd r24,Y+4
2146 2176 004a 87FD sbrc r24,7
2147 2177 004c 00C0 rjmp .L136
2150 2180 004e 81FD sbrc r24,1
2151 2181 0050 00C0 rjmp .L111
2152 2182 0052 27E0 ldi r18,lo8(7)
2153 2183 0054 722E mov r7,r18
2154 2184 0056 00C0 rjmp .L109
2157 2187 0058 2A85 ldd r18,Y+10
2158 2188 005a 3B85 ldd r19,Y+11
2159 2189 005c 4C85 ldd r20,Y+12
2160 2190 005e 5D85 ldd r21,Y+13
2161 2191 0060 C401 movw r24,r8
2162 2192 0062 A0E0 ldi r26,lo8(0)
2163 2193 0064 B0E0 ldi r27,hi8(0)
2165 2195 0066 820F add r24,r18
2166 2196 0068 931F adc r25,r19
2167 2197 006a A41F adc r26,r20
2168 2198 006c B51F adc r27,r21
2170 2200 006e 8217 cp r24,r18
2171 2201 0070 9307 cpc r25,r19
2172 2202 0072 A407 cpc r26,r20
2173 2203 0074 B507 cpc r27,r21
2174 2204 0076 00F4 brsh .L112
2175 2205 0078 8824 clr r8
2176 2206 007a 9924 clr r9
2180 2210 007c 812F mov r24,r17
2182 2212 007e 902F mov r25,r16
2184 2214 0080 9C01 movw r18,r24
2186 2216 0082 2901 movw r4,r18
2189 2219 0084 6624 clr r6
2190 2220 0086 6394 inc r6
2191 2221 0088 00C0 rjmp .L113
2195 2225 008a 2E81 ldd r18,Y+6
2196 2226 008c 3F81 ldd r19,Y+7
2197 2227 008e 4885 ldd r20,Y+8
2198 2228 0090 5985 ldd r21,Y+9
2199 2229 0092 DA01 movw r26,r20
2200 2230 0094 C901 movw r24,r18
2201 2231 0096 9170 andi r25,hi8(511)
2202 2232 0098 A070 andi r26,hlo8(511)
2203 2233 009a B070 andi r27,hhi8(511)
2204 2234 009c 0097 sbiw r24,0
2205 2235 009e A105 cpc r26,__zero_reg__
2206 2236 00a0 B105 cpc r27,__zero_reg__
2207 2237 00a2 01F0 breq .+2
2208 2238 00a4 00C0 rjmp .L114
2210 2240 00a6 E881 ld r30,Y
2211 2241 00a8 F981 ldd r31,Y+1
2212 2242 00aa 9D81 ldd r25,Y+5
2214 2244 00ac 8281 ldd r24,Z+2
2215 2245 00ae 9817 cp r25,r24
2216 2246 00b0 00F4 brsh .+2
2217 2247 00b2 00C0 rjmp .L115
2219 2249 00b4 2115 cp r18,__zero_reg__
2220 2250 00b6 3105 cpc r19,__zero_reg__
2221 2251 00b8 4105 cpc r20,__zero_reg__
2222 2252 00ba 5105 cpc r21,__zero_reg__
2223 2253 00bc 01F4 brne .L116
2225 2255 00be 6E85 ldd r22,Y+14
2226 2256 00c0 7F85 ldd r23,Y+15
2227 2257 00c2 8889 ldd r24,Y+16
2228 2258 00c4 9989 ldd r25,Y+17
2231 2261 00c6 6115 cp r22,__zero_reg__
2232 2262 00c8 7105 cpc r23,__zero_reg__
2233 2263 00ca 8105 cpc r24,__zero_reg__
2234 2264 00cc 9105 cpc r25,__zero_reg__
2235 2265 00ce 01F4 brne .L117
2237 2267 00d0 CF01 movw r24,r30
2238 2268 00d2 40E0 ldi r20,lo8(0)
2239 2269 00d4 50E0 ldi r21,hi8(0)
2240 2270 00d6 60E0 ldi r22,hlo8(0)
2241 2271 00d8 70E0 ldi r23,hhi8(0)
2242 2272 00da 0E94 0000 call create_chain
2244 2274 00de 6E87 std Y+14,r22
2245 2275 00e0 7F87 std Y+15,r23
2246 2276 00e2 888B std Y+16,r24
2247 2277 00e4 998B std Y+17,r25
2249 2279 00e6 00C0 rjmp .L118
2253 2283 00e8 4A89 ldd r20,Y+18
2254 2284 00ea 5B89 ldd r21,Y+19
2255 2285 00ec 6C89 ldd r22,Y+20
2256 2286 00ee 7D89 ldd r23,Y+21
2257 2287 00f0 CF01 movw r24,r30
2258 2288 00f2 0E94 0000 call create_chain
2262 2292 00f6 6115 cp r22,__zero_reg__
2263 2293 00f8 7105 cpc r23,__zero_reg__
2264 2294 00fa 8105 cpc r24,__zero_reg__
2265 2295 00fc 9105 cpc r25,__zero_reg__
2266 2296 00fe 01F4 brne .+2
2267 2297 0100 00C0 rjmp .L119
2271 2301 0102 6130 cpi r22,lo8(1)
2272 2302 0104 7105 cpc r23,__zero_reg__
2273 2303 0106 8105 cpc r24,__zero_reg__
2274 2304 0108 9105 cpc r25,__zero_reg__
2275 2305 010a 01F4 brne .L120
2278 2308 010c 8C81 ldd r24,Y+4
2279 2309 010e 8068 ori r24,lo8(-128)
2280 2310 0110 8C83 std Y+4,r24
2282 2312 0112 92E0 ldi r25,lo8(2)
2283 2313 0114 792E mov r7,r25
2284 2314 0116 00C0 rjmp .L109
2288 2318 0118 6F3F cpi r22,lo8(-1)
2289 2319 011a FFEF ldi r31,hi8(-1)
2290 2320 011c 7F07 cpc r23,r31
2291 2321 011e FFEF ldi r31,hlo8(-1)
2292 2322 0120 8F07 cpc r24,r31
2293 2323 0122 FFEF ldi r31,hhi8(-1)
2294 2324 0124 9F07 cpc r25,r31
2295 2325 0126 01F4 brne .+2
2296 2326 0128 00C0 rjmp .L137
2299 2329 012a 6A8B std Y+18,r22
2300 2330 012c 7B8B std Y+19,r23
2301 2331 012e 8C8B std Y+20,r24
2302 2332 0130 9D8B std Y+21,r25
2304 2334 0132 1D82 std Y+5,__zero_reg__
2307 2337 0134 E881 ld r30,Y
2308 2338 0136 F981 ldd r31,Y+1
2309 2339 0138 22A5 ldd r18,Z+42
2310 2340 013a 33A5 ldd r19,Z+43
2311 2341 013c 44A5 ldd r20,Z+44
2312 2342 013e 55A5 ldd r21,Z+45
2313 2343 0140 8E89 ldd r24,Y+22
2314 2344 0142 9F89 ldd r25,Y+23
2315 2345 0144 A88D ldd r26,Y+24
2316 2346 0146 B98D ldd r27,Y+25
2317 2347 0148 2817 cp r18,r24
2318 2348 014a 3907 cpc r19,r25
2319 2349 014c 4A07 cpc r20,r26
2320 2350 014e 5B07 cpc r21,r27
2321 2351 0150 01F4 brne .L122
2322 2352 0152 CF01 movw r24,r30
2323 2353 0154 40E0 ldi r20,lo8(0)
2324 2354 0156 50E0 ldi r21,hi8(0)
2325 2355 0158 60E0 ldi r22,hlo8(0)
2326 2356 015a 70E0 ldi r23,hhi8(0)
2327 2357 015c 0E94 0000 call move_window
2329 2359 0160 8823 tst r24
2330 2360 0162 01F0 breq .+2
2331 2361 0164 00C0 rjmp .L137
2335 2365 0166 0881 ld r16,Y
2336 2366 0168 1981 ldd r17,Y+1
2338 2368 016a 4A89 ldd r20,Y+18
2339 2369 016c 5B89 ldd r21,Y+19
2340 2370 016e 6C89 ldd r22,Y+20
2341 2371 0170 7D89 ldd r23,Y+21
2342 2372 0172 C801 movw r24,r16
2343 2373 0174 0E94 0000 call clust2sect
2346 2376 0178 6115 cp r22,__zero_reg__
2347 2377 017a 7105 cpc r23,__zero_reg__
2348 2378 017c 8105 cpc r24,__zero_reg__
2349 2379 017e 9105 cpc r25,__zero_reg__
2350 2380 0180 01F0 breq .L138
2354 2384 0182 3D81 ldd r19,Y+5
2355 2385 0184 5B01 movw r10,r22
2356 2386 0186 6C01 movw r12,r24
2357 2387 0188 A30E add r10,r19
2358 2388 018a B11C adc r11,__zero_reg__
2359 2389 018c C11C adc r12,__zero_reg__
2360 2390 018e D11C adc r13,__zero_reg__
2363 2393 0190 7401 movw r14,r8
2364 2394 0192 EF2C mov r14,r15
2365 2395 0194 FF24 clr r15
2366 2396 0196 E694 lsr r14
2368 2398 0198 E114 cp r14,__zero_reg__
2369 2399 019a F104 cpc r15,__zero_reg__
2370 2400 019c 01F4 brne .+2
2371 2401 019e 00C0 rjmp .L124
2373 2403 01a0 F801 movw r30,r16
2374 2404 01a2 2281 ldd r18,Z+2
2375 2405 01a4 432F mov r20,r19
2376 2406 01a6 50E0 ldi r21,lo8(0)
2377 2407 01a8 C701 movw r24,r14
2378 2408 01aa 840F add r24,r20
2379 2409 01ac 951F adc r25,r21
2380 2410 01ae 30E0 ldi r19,lo8(0)
2381 2411 01b0 2817 cp r18,r24
2382 2412 01b2 3907 cpc r19,r25
2383 2413 01b4 00F4 brsh .L125
2385 2415 01b6 7901 movw r14,r18
2386 2416 01b8 E41A sub r14,r20
2387 2417 01ba F50A sbc r15,r21
2390 2420 01bc F801 movw r30,r16
2391 2421 01be 8181 ldd r24,Z+1
2392 2422 01c0 B201 movw r22,r4
2393 2423 01c2 A601 movw r20,r12
2394 2424 01c4 9501 movw r18,r10
2395 2425 01c6 0E2D mov r16,r14
2396 2426 01c8 0E94 0000 call disk_write
2397 2427 01cc 8823 tst r24
2398 2428 01ce 01F0 breq .+2
2399 2429 01d0 00C0 rjmp .L137
2402 2432 01d2 E881 ld r30,Y
2403 2433 01d4 F981 ldd r31,Y+1
2404 2434 01d6 22A5 ldd r18,Z+42
2405 2435 01d8 33A5 ldd r19,Z+43
2406 2436 01da 44A5 ldd r20,Z+44
2407 2437 01dc 55A5 ldd r21,Z+45
2408 2438 01de 2A19 sub r18,r10
2409 2439 01e0 3B09 sbc r19,r11
2410 2440 01e2 4C09 sbc r20,r12
2411 2441 01e4 5D09 sbc r21,r13
2412 2442 01e6 C701 movw r24,r14
2413 2443 01e8 A0E0 ldi r26,lo8(0)
2414 2444 01ea B0E0 ldi r27,hi8(0)
2416 2446 01ec 2817 cp r18,r24
2417 2447 01ee 3907 cpc r19,r25
2418 2448 01f0 4A07 cpc r20,r26
2419 2449 01f2 5B07 cpc r21,r27
2420 2450 01f4 00F4 brsh .L127
2423 2453 01f6 19E0 ldi r17,9
2424 2454 01f8 220F 1: lsl r18
2425 2455 01fa 331F rol r19
2426 2456 01fc 441F rol r20
2427 2457 01fe 551F rol r21
2428 2458 0200 1A95 dec r17
2429 2459 0202 01F4 brne 1b
2431 2461 0204 B201 movw r22,r4
2432 2462 0206 620F add r22,r18
2433 2463 0208 731F adc r23,r19
2434 2464 020a CF01 movw r24,r30
2436 2466 020c 8E96 adiw r24,46
2437 2467 020e 40E0 ldi r20,lo8(512)
2438 2468 0210 52E0 ldi r21,hi8(512)
2439 2469 0212 0E94 0000 call mem_cpy
2442 2472 0216 E881 ld r30,Y
2443 2473 0218 F981 ldd r31,Y+1
2444 2474 021a 1482 std Z+4,__zero_reg__
2448 2478 021c 8D81 ldd r24,Y+5
2449 2479 021e 8E0D add r24,r14
2450 2480 0220 8D83 std Y+5,r24
2452 2482 0222 8701 movw r16,r14
2454 2484 0224 102F mov r17,r16
2455 2485 0226 0027 clr r16
2456 2486 0228 110F lsl r17
2457 2487 022a 00C0 rjmp .L128
2461 2491 022c 2E81 ldd r18,Y+6
2462 2492 022e 3F81 ldd r19,Y+7
2463 2493 0230 4885 ldd r20,Y+8
2464 2494 0232 5985 ldd r21,Y+9
2465 2495 0234 8A85 ldd r24,Y+10
2466 2496 0236 9B85 ldd r25,Y+11
2467 2497 0238 AC85 ldd r26,Y+12
2468 2498 023a BD85 ldd r27,Y+13
2469 2499 023c 2817 cp r18,r24
2470 2500 023e 3907 cpc r19,r25
2471 2501 0240 4A07 cpc r20,r26
2472 2502 0242 5B07 cpc r21,r27
2473 2503 0244 00F0 brlo .L129
2475 2505 0246 C801 movw r24,r16
2476 2506 0248 40E0 ldi r20,lo8(0)
2477 2507 024a 50E0 ldi r21,hi8(0)
2478 2508 024c 60E0 ldi r22,hlo8(0)
2479 2509 024e 70E0 ldi r23,hhi8(0)
2480 2510 0250 0E94 0000 call move_window
2481 2511 0254 8823 tst r24
2482 2512 0256 01F4 brne .L137
2485 2515 0258 E881 ld r30,Y
2486 2516 025a F981 ldd r31,Y+1
2487 2517 025c A2A6 std Z+42,r10
2488 2518 025e B3A6 std Z+43,r11
2489 2519 0260 C4A6 std Z+44,r12
2490 2520 0262 D5A6 std Z+45,r13
2493 2523 0264 AE8A std Y+22,r10
2494 2524 0266 BF8A std Y+23,r11
2495 2525 0268 C88E std Y+24,r12
2496 2526 026a D98E std Y+25,r13
2498 2528 026c 8D81 ldd r24,Y+5
2499 2529 026e 8F5F subi r24,lo8(-(1))
2500 2530 0270 8D83 std Y+5,r24
2504 2534 0272 EE80 ldd r14,Y+6
2505 2535 0274 FF80 ldd r15,Y+7
2506 2536 0276 0885 ldd r16,Y+8
2507 2537 0278 1985 ldd r17,Y+9
2510 2540 027a 4E89 ldd r20,Y+22
2511 2541 027c 5F89 ldd r21,Y+23
2512 2542 027e 688D ldd r22,Y+24
2513 2543 0280 798D ldd r23,Y+25
2514 2544 0282 8881 ld r24,Y
2515 2545 0284 9981 ldd r25,Y+1
2516 2546 0286 0E94 0000 call move_window
2518 2548 028a 8823 tst r24
2519 2549 028c 01F0 breq .L131
2523 2553 028e 8C81 ldd r24,Y+4
2524 2554 0290 8068 ori r24,lo8(-128)
2525 2555 0292 8C83 std Y+4,r24
2526 2556 0294 7724 clr r7
2527 2557 0296 7394 inc r7
2528 2558 0298 00C0 rjmp .L109
2532 2562 029a C701 movw r24,r14
2533 2563 029c 9170 andi r25,hi8(511)
2534 2564 029e 20E0 ldi r18,lo8(512)
2535 2565 02a0 32E0 ldi r19,hi8(512)
2536 2566 02a2 281B sub r18,r24
2537 2567 02a4 390B sbc r19,r25
2538 2568 02a6 8401 movw r16,r8
2540 2570 02a8 2815 cp r18,r8
2541 2571 02aa 3905 cpc r19,r9
2542 2572 02ac 00F4 brsh .L132
2544 2574 02ae 8901 movw r16,r18
2547 2577 02b0 2E81 ldd r18,Y+6
2548 2578 02b2 3F81 ldd r19,Y+7
2550 2580 02b4 3170 andi r19,hi8(511)
2551 2581 02b6 225D subi r18,lo8(-(46))
2552 2582 02b8 3F4F sbci r19,hi8(-(46))
2553 2583 02ba 8881 ld r24,Y
2554 2584 02bc 9981 ldd r25,Y+1
2555 2585 02be 820F add r24,r18
2556 2586 02c0 931F adc r25,r19
2557 2587 02c2 B201 movw r22,r4
2558 2588 02c4 A801 movw r20,r16
2559 2589 02c6 0E94 0000 call mem_cpy
2561 2591 02ca E881 ld r30,Y
2562 2592 02cc F981 ldd r31,Y+1
2563 2593 02ce 6482 std Z+4,r6
2567 2597 02d0 400E add r4,r16
2568 2598 02d2 511E adc r5,r17
2569 2599 02d4 C801 movw r24,r16
2570 2600 02d6 A0E0 ldi r26,lo8(0)
2571 2601 02d8 B0E0 ldi r27,hi8(0)
2573 2603 02da 2E81 ldd r18,Y+6
2574 2604 02dc 3F81 ldd r19,Y+7
2575 2605 02de 4885 ldd r20,Y+8
2576 2606 02e0 5985 ldd r21,Y+9
2577 2607 02e2 280F add r18,r24
2578 2608 02e4 391F adc r19,r25
2579 2609 02e6 4A1F adc r20,r26
2580 2610 02e8 5B1F adc r21,r27
2581 2611 02ea 2E83 std Y+6,r18
2582 2612 02ec 3F83 std Y+7,r19
2583 2613 02ee 4887 std Y+8,r20
2584 2614 02f0 5987 std Y+9,r21
2585 2615 02f2 F101 movw r30,r2
2586 2616 02f4 8081 ld r24,Z
2587 2617 02f6 9181 ldd r25,Z+1
2588 2618 02f8 800F add r24,r16
2589 2619 02fa 911F adc r25,r17
2590 2620 02fc 9183 std Z+1,r25
2591 2621 02fe 8083 st Z,r24
2592 2622 0300 801A sub r8,r16
2593 2623 0302 910A sbc r9,r17
2597 2627 0304 8114 cp r8,__zero_reg__
2598 2628 0306 9104 cpc r9,__zero_reg__
2599 2629 0308 01F0 breq .+2
2600 2630 030a 00C0 rjmp .L133
2604 2634 030c 2E81 ldd r18,Y+6
2605 2635 030e 3F81 ldd r19,Y+7
2606 2636 0310 4885 ldd r20,Y+8
2607 2637 0312 5985 ldd r21,Y+9
2608 2638 0314 8A85 ldd r24,Y+10
2609 2639 0316 9B85 ldd r25,Y+11
2610 2640 0318 AC85 ldd r26,Y+12
2611 2641 031a BD85 ldd r27,Y+13
2612 2642 031c 8217 cp r24,r18
2613 2643 031e 9307 cpc r25,r19
2614 2644 0320 A407 cpc r26,r20
2615 2645 0322 B507 cpc r27,r21
2616 2646 0324 00F4 brsh .L134
2617 2647 0326 2A87 std Y+10,r18
2618 2648 0328 3B87 std Y+11,r19
2619 2649 032a 4C87 std Y+12,r20
2620 2650 032c 5D87 std Y+13,r21
2623 2653 032e 8C81 ldd r24,Y+4
2624 2654 0330 8062 ori r24,lo8(32)
2625 2655 0332 8C83 std Y+4,r24
2629 2659 0334 872D mov r24,r7
2630 2660 /* epilogue start */
2631 2661 0336 DF91 pop r29
2632 2662 0338 CF91 pop r28
2634 2664 033a 1F91 pop r17
2636 2666 033c 0F91 pop r16
2638 2668 033e FF90 pop r15
2639 2669 0340 EF90 pop r14
2641 2671 0342 DF90 pop r13
2642 2672 0344 CF90 pop r12
2643 2673 0346 BF90 pop r11
2644 2674 0348 AF90 pop r10
2646 2676 034a 9F90 pop r9
2647 2677 034c 8F90 pop r8
2649 2679 034e 7F90 pop r7
2651 2681 0350 6F90 pop r6
2652 2682 0352 5F90 pop r5
2653 2683 0354 4F90 pop r4
2655 2685 0356 3F90 pop r3
2656 2686 0358 2F90 pop r2
2660 2691 .section .text.f_putc,"ax",@progbits
2666 2698 0000 0F93 push r16
2667 2699 0002 1F93 push r17
2668 2700 0004 DF93 push r29
2669 2701 0006 CF93 push r28
2670 2702 0008 00D0 rcall .
2671 2703 000a 0F92 push __tmp_reg__
2672 2704 000c CDB7 in r28,__SP_L__
2673 2705 000e DEB7 in r29,__SP_H__
2674 2706 /* prologue: function */
2675 2707 /* frame size = 3 */
2676 2708 0010 8C01 movw r16,r24
2678 2710 0012 6115 cp r22,__zero_reg__
2679 2711 0014 7105 cpc r23,__zero_reg__
2680 2712 0016 01F0 breq .L140
2683 2715 0018 8983 std Y+1,r24
2686 2718 001a CB01 movw r24,r22
2687 2719 001c BE01 movw r22,r28
2689 2721 001e 6F5F subi r22,lo8(-(1))
2690 2722 0020 7F4F sbci r23,hi8(-(1))
2691 2723 0022 41E0 ldi r20,lo8(1)
2692 2724 0024 50E0 ldi r21,hi8(1)
2693 2725 0026 9E01 movw r18,r28
2694 2726 0028 2E5F subi r18,lo8(-(2))
2695 2727 002a 3F4F sbci r19,hi8(-(2))
2696 2728 002c 0E94 0000 call f_write
2698 2730 0030 8A81 ldd r24,Y+2
2699 2731 0032 9B81 ldd r25,Y+3
2701 2733 0034 892B or r24,r25
2702 2734 0036 01F4 brne .L140
2704 2736 0038 0FEF ldi r16,lo8(-1)
2705 2737 003a 1FEF ldi r17,hi8(-1)
2709 2741 003c C801 movw r24,r16
2711 2743 /* epilogue start */
2712 2744 003e 0F90 pop __tmp_reg__
2713 2745 0040 0F90 pop __tmp_reg__
2714 2746 0042 0F90 pop __tmp_reg__
2715 2747 0044 CF91 pop r28
2716 2748 0046 DF91 pop r29
2717 2749 0048 1F91 pop r17
2718 2750 004a 0F91 pop r16
2721 2754 .section .text.f_puts,"ax",@progbits
2727 2761 0000 EF92 push r14
2728 2762 0002 FF92 push r15
2729 2763 0004 0F93 push r16
2730 2764 0006 1F93 push r17
2731 2765 0008 CF93 push r28
2732 2766 000a DF93 push r29
2733 2767 /* prologue: function */
2734 2768 /* frame size = 0 */
2735 2769 000c 8C01 movw r16,r24
2736 2770 000e 7B01 movw r14,r22
2738 2772 0010 C0E0 ldi r28,lo8(0)
2739 2773 0012 D0E0 ldi r29,hi8(0)
2741 2775 0014 00C0 rjmp .L143
2745 2779 0016 90E0 ldi r25,lo8(0)
2746 2780 0018 B701 movw r22,r14
2747 2781 001a 0E94 0000 call f_putc
2748 2782 001e 8F5F subi r24,lo8(-1)
2749 2783 0020 9F4F sbci r25,hi8(-1)
2750 2784 0022 01F4 brne .L144
2751 2785 0024 CFEF ldi r28,lo8(-1)
2752 2786 0026 DFEF ldi r29,hi8(-1)
2753 2787 0028 00C0 rjmp .L145
2756 2790 002a 0F5F subi r16,lo8(-(1))
2757 2791 002c 1F4F sbci r17,hi8(-(1))
2758 2792 002e 2196 adiw r28,1
2761 2795 0030 F801 movw r30,r16
2762 2796 0032 8081 ld r24,Z
2763 2797 0034 8823 tst r24
2764 2798 0036 01F4 brne .L146
2767 2801 0038 CE01 movw r24,r28
2769 2803 /* epilogue start */
2770 2804 003a DF91 pop r29
2771 2805 003c CF91 pop r28
2772 2806 003e 1F91 pop r17
2773 2807 0040 0F91 pop r16
2775 2809 0042 FF90 pop r15
2776 2810 0044 EF90 pop r14
2780 2815 .section .text.f_printf,"ax",@progbits
2781 2816 .global f_printf
2786 2822 0000 2F92 push r2
2787 2823 0002 3F92 push r3
2788 2824 0004 4F92 push r4
2789 2825 0006 5F92 push r5
2790 2826 0008 6F92 push r6
2791 2827 000a 7F92 push r7
2792 2828 000c 8F92 push r8
2793 2829 000e 9F92 push r9
2794 2830 0010 AF92 push r10
2795 2831 0012 BF92 push r11
2796 2832 0014 CF92 push r12
2797 2833 0016 DF92 push r13
2798 2834 0018 EF92 push r14
2799 2835 001a FF92 push r15
2800 2836 001c 0F93 push r16
2801 2837 001e 1F93 push r17
2802 2838 0020 DF93 push r29
2803 2839 0022 CF93 push r28
2804 2840 0024 CDB7 in r28,__SP_L__
2805 2841 0026 DEB7 in r29,__SP_H__
2806 2842 0028 6397 sbiw r28,19
2807 2843 002a 0FB6 in __tmp_reg__,__SREG__
2809 2845 002e DEBF out __SP_H__,r29
2810 2846 0030 0FBE out __SREG__,__tmp_reg__
2811 2847 0032 CDBF out __SP_L__,r28
2812 2848 /* prologue: function */
2813 2849 /* frame size = 19 */
2814 2850 0034 6AA4 ldd r6,Y+42
2815 2851 0036 7BA4 ldd r7,Y+43
2817 2853 0038 8E01 movw r16,r28
2819 2855 003a 045D subi r16,lo8(-(44))
2820 2856 003c 1F4F sbci r17,hi8(-(44))
2821 2857 003e 1A8A std Y+18,__zero_reg__
2822 2858 0040 198A std Y+17,__zero_reg__
2824 2860 0042 20E0 ldi r18,lo8(0)
2825 2861 0044 30E0 ldi r19,hi8(0)
2830 2866 0046 D301 movw r26,r6
2831 2867 0048 8C91 ld r24,X
2834 2870 004a 8823 tst r24
2835 2871 004c 01F4 brne .+2
2836 2872 004e 00C0 rjmp .L149
2839 2875 0052 611C adc r6,__zero_reg__
2840 2876 0054 711C adc r7,__zero_reg__
2842 2878 0056 8532 cpi r24,lo8(37)
2843 2879 0058 01F0 breq .L150
2845 2881 005a 90E0 ldi r25,lo8(0)
2846 2882 005c 68A5 ldd r22,Y+40
2847 2883 005e 79A5 ldd r23,Y+41
2848 2884 0060 0E94 0000 call f_putc
2850 2886 0064 9C01 movw r18,r24
2853 2889 0066 BFEF ldi r27,hi8(-1)
2854 2890 0068 8F3F cpi r24,lo8(-1)
2855 2891 006a 9B07 cpc r25,r27
2856 2892 006c 01F4 brne .L151
2858 2894 006e 4801 movw r8,r16
2859 2895 0070 00C0 rjmp .L152
2861 2897 0072 4801 movw r8,r16
2862 2898 0074 00C0 rjmp .L179
2866 2902 0076 D301 movw r26,r6
2867 2903 0078 ED91 ld r30,X+
2869 2905 007a 3D01 movw r6,r26
2871 2907 007c E033 cpi r30,lo8(48)
2872 2908 007e 01F0 breq .L153
2873 2909 0080 1B8A std Y+19,__zero_reg__
2875 2911 0082 00C0 rjmp .L154
2878 2914 0084 ED91 ld r30,X+
2879 2915 0086 3D01 movw r6,r26
2880 2916 0088 B1E0 ldi r27,lo8(1)
2881 2917 008a BB8B std Y+19,r27
2884 2920 008c AA24 clr r10
2885 2921 008e BB24 clr r11
2886 2922 0090 00C0 rjmp .L155
2889 2925 0092 C501 movw r24,r10
2890 2926 0094 F3E0 ldi r31,3
2891 2927 0096 880F 1: lsl r24
2892 2928 0098 991F rol r25
2893 2929 009a FA95 dec r31
2894 2930 009c 01F4 brne 1b
2895 2931 009e AA0C lsl r10
2896 2932 00a0 BB1C rol r11
2897 2933 00a2 A80E add r10,r24
2898 2934 00a4 B91E adc r11,r25
2899 2935 00a6 AE0E add r10,r30
2900 2936 00a8 B11C adc r11,__zero_reg__
2901 2937 00aa E0ED ldi r30,lo8(-48)
2902 2938 00ac FFEF ldi r31,hi8(-48)
2904 2940 00ae AE0E add r10,r30
2905 2941 00b0 BF1E adc r11,r31
2907 2943 00b2 D301 movw r26,r6
2908 2944 00b4 ED91 ld r30,X+
2910 2946 00b6 3D01 movw r6,r26
2913 2949 00b8 8E2F mov r24,r30
2914 2950 00ba 8053 subi r24,lo8(-(-48))
2915 2951 00bc 8A30 cpi r24,lo8(10)
2916 2952 00be 00F0 brlo .L156
2918 2954 00c0 EC36 cpi r30,lo8(108)
2919 2955 00c2 01F4 brne .L157
2921 2957 00c4 BB89 ldd r27,Y+19
2922 2958 00c6 B260 ori r27,lo8(2)
2923 2959 00c8 BB8B std Y+19,r27
2925 2961 00ca D301 movw r26,r6
2926 2962 00cc ED91 ld r30,X+
2927 2963 00ce 3D01 movw r6,r26
2930 2966 00d0 E337 cpi r30,lo8(115)
2931 2967 00d2 01F4 brne .L158
2933 2969 00d4 62E0 ldi r22,lo8(2)
2934 2970 00d6 862E mov r8,r22
2935 2971 00d8 912C mov r9,__zero_reg__
2937 2973 00da 800E add r8,r16
2938 2974 00dc 911E adc r9,r17
2939 2975 00de F801 movw r30,r16
2941 2977 00e0 8081 ld r24,Z
2942 2978 00e2 9181 ldd r25,Z+1
2943 2979 00e4 00C0 rjmp .L180
2947 2983 00e6 E336 cpi r30,lo8(99)
2948 2984 00e8 01F4 brne .L159
2950 2986 00ea 52E0 ldi r21,lo8(2)
2951 2987 00ec 852E mov r8,r21
2952 2988 00ee 912C mov r9,__zero_reg__
2954 2990 00f0 800E add r8,r16
2955 2991 00f2 911E adc r9,r17
2956 2992 00f4 D801 movw r26,r16
2957 2993 00f6 8D91 ld r24,X+
2958 2994 00f8 9C91 ld r25,X
2959 2995 00fa 68A5 ldd r22,Y+40
2960 2996 00fc 79A5 ldd r23,Y+41
2961 2997 00fe 0E94 0000 call f_putc
2963 2999 0102 9C01 movw r18,r24
2966 3002 0104 BFEF ldi r27,hi8(-1)
2967 3003 0106 8F3F cpi r24,lo8(-1)
2968 3004 0108 9B07 cpc r25,r27
2969 3005 010a 01F4 brne .+2
2970 3006 010c 00C0 rjmp .L152
2973 3009 010e 21E0 ldi r18,lo8(1)
2974 3010 0110 30E0 ldi r19,hi8(1)
2976 3012 0112 00C0 rjmp .L152
2980 3016 0114 E436 cpi r30,lo8(100)
2981 3017 0116 01F0 breq .L160
2983 3019 0118 E537 cpi r30,lo8(117)
2984 3020 011a 01F0 breq .L160
2986 3022 011c E835 cpi r30,lo8(88)
2987 3023 011e 01F0 breq .+2
2988 3024 0120 00C0 rjmp .L149
2989 3025 0122 20E1 ldi r18,lo8(16)
2991 3027 0124 00C0 rjmp .L161
2994 3030 0126 2AE0 ldi r18,lo8(10)
2998 3034 0128 FB89 ldd r31,Y+19
2999 3035 012a F1FF sbrs r31,1
3000 3036 012c 00C0 rjmp .L162
3002 3038 012e 44E0 ldi r20,lo8(4)
3003 3039 0130 842E mov r8,r20
3004 3040 0132 912C mov r9,__zero_reg__
3006 3042 0134 800E add r8,r16
3007 3043 0136 911E adc r9,r17
3008 3044 0138 D801 movw r26,r16
3009 3045 013a ED90 ld r14,X+
3010 3046 013c FD90 ld r15,X+
3011 3047 013e 0D91 ld r16,X+
3012 3048 0140 1C91 ld r17,X
3014 3050 0142 E436 cpi r30,lo8(100)
3015 3051 0144 01F4 brne .L164
3017 3053 0146 00C0 rjmp .L163
3019 3055 0148 C801 movw r24,r16
3020 3056 014a 0296 adiw r24,2
3022 3058 014c D801 movw r26,r16
3023 3059 014e 6D91 ld r22,X+
3024 3060 0150 7C91 ld r23,X
3026 3062 0152 E436 cpi r30,lo8(100)
3027 3063 0154 01F4 brne .L165
3029 3065 0156 4C01 movw r8,r24
3030 3066 0158 7B01 movw r14,r22
3031 3067 015a 0027 clr r16
3032 3068 015c F7FC sbrc r15,7
3033 3069 015e 0095 com r16
3034 3070 0160 102F mov r17,r16
3035 3071 0162 00C0 rjmp .L163
3038 3074 0164 4C01 movw r8,r24
3039 3075 0166 7B01 movw r14,r22
3041 3077 0168 00E0 ldi r16,lo8(0)
3042 3078 016a 10E0 ldi r17,hi8(0)
3044 3080 016c 00C0 rjmp .L164
3048 3084 016e 17FF sbrs r17,7
3049 3085 0170 00C0 rjmp .L164
3051 3087 0172 1095 com r17
3052 3088 0174 0095 com r16
3053 3089 0176 F094 com r15
3054 3090 0178 E094 com r14
3055 3091 017a E11C adc r14,__zero_reg__
3056 3092 017c F11C adc r15,__zero_reg__
3057 3093 017e 011D adc r16,__zero_reg__
3058 3094 0180 111D adc r17,__zero_reg__
3060 3096 0182 BB89 ldd r27,Y+19
3061 3097 0184 B460 ori r27,lo8(4)
3062 3098 0186 BB8B std Y+19,r27
3066 3102 0188 188A std Y+16,__zero_reg__
3067 3103 018a 3FE0 ldi r19,lo8(15)
3068 3104 018c C32E mov r12,r19
3069 3105 018e D12C mov r13,__zero_reg__
3071 3107 0190 222E mov r2,r18
3072 3108 0192 3324 clr r3
3073 3109 0194 4424 clr r4
3074 3110 0196 5524 clr r5
3077 3113 0198 C801 movw r24,r16
3078 3114 019a B701 movw r22,r14
3079 3115 019c A201 movw r20,r4
3080 3116 019e 9101 movw r18,r2
3082 3118 01a0 0E94 0000 call __udivmodsi4
3084 3120 01a4 862F mov r24,r22
3086 3122 01a6 805D subi r24,lo8(-(48))
3088 3124 01a8 8A33 cpi r24,lo8(58)
3089 3125 01aa 00F0 brlo .L166
3090 3126 01ac 895F subi r24,lo8(-(7))
3094 3130 01b0 C108 sbc r12,__zero_reg__
3095 3131 01b2 D108 sbc r13,__zero_reg__
3096 3132 01b4 E1E0 ldi r30,lo8(1)
3097 3133 01b6 F0E0 ldi r31,hi8(1)
3098 3134 01b8 EC0F add r30,r28
3099 3135 01ba FD1F adc r31,r29
3100 3136 01bc EC0D add r30,r12
3101 3137 01be FD1D adc r31,r13
3102 3138 01c0 8083 st Z,r24
3104 3140 01c2 C114 cp r12,__zero_reg__
3105 3141 01c4 D104 cpc r13,__zero_reg__
3106 3142 01c6 01F0 breq .L168
3108 3144 01c8 C801 movw r24,r16
3109 3145 01ca B701 movw r22,r14
3110 3146 01cc A201 movw r20,r4
3111 3147 01ce 9101 movw r18,r2
3112 3148 01d0 0E94 0000 call __udivmodsi4
3113 3149 01d4 C901 movw r24,r18
3115 3151 01d6 DA01 movw r26,r20
3116 3152 01d8 7C01 movw r14,r24
3117 3153 01da 8D01 movw r16,r26
3119 3155 01dc E114 cp r14,__zero_reg__
3120 3156 01de F104 cpc r15,__zero_reg__
3121 3157 01e0 0105 cpc r16,__zero_reg__
3122 3158 01e2 1105 cpc r17,__zero_reg__
3123 3159 01e4 01F4 brne .L169
3125 3161 01e6 EB89 ldd r30,Y+19
3126 3162 01e8 E2FF sbrs r30,2
3127 3163 01ea 00C0 rjmp .L168
3129 3165 01ee C108 sbc r12,__zero_reg__
3130 3166 01f0 D108 sbc r13,__zero_reg__
3131 3167 01f2 E1E0 ldi r30,lo8(1)
3132 3168 01f4 F0E0 ldi r31,hi8(1)
3133 3169 01f6 EC0F add r30,r28
3134 3170 01f8 FD1F adc r31,r29
3135 3171 01fa EC0D add r30,r12
3136 3172 01fc FD1D adc r31,r13
3137 3173 01fe 4DE2 ldi r20,lo8(45)
3138 3174 0200 4083 st Z,r20
3142 3178 0202 8FE0 ldi r24,lo8(15)
3143 3179 0204 90E0 ldi r25,hi8(15)
3145 3181 0206 8A19 sub r24,r10
3146 3182 0208 9B09 sbc r25,r11
3148 3184 020c C108 sbc r12,__zero_reg__
3149 3185 020e D108 sbc r13,__zero_reg__
3150 3186 0210 E1E0 ldi r30,lo8(1)
3151 3187 0212 F0E0 ldi r31,hi8(1)
3152 3188 0214 EC0F add r30,r28
3153 3189 0216 FD1F adc r31,r29
3154 3190 0218 EC0D add r30,r12
3155 3191 021a FD1D adc r31,r13
3157 3193 021e C11C adc r12,__zero_reg__
3158 3194 0220 D11C adc r13,__zero_reg__
3160 3196 0222 AB89 ldd r26,Y+19
3161 3197 0224 2A2F mov r18,r26
3162 3198 0226 30E0 ldi r19,lo8(0)
3163 3199 0228 2170 andi r18,lo8(1)
3164 3200 022a 3070 andi r19,hi8(1)
3165 3201 022c 00C0 rjmp .L170
3168 3204 0230 C108 sbc r12,__zero_reg__
3169 3205 0232 D108 sbc r13,__zero_reg__
3170 3206 0234 2115 cp r18,__zero_reg__
3171 3207 0236 3105 cpc r19,__zero_reg__
3172 3208 0238 01F4 brne .L171
3173 3209 023a 40E2 ldi r20,lo8(32)
3174 3210 023c 00C0 rjmp .L172
3176 3212 023e 40E3 ldi r20,lo8(48)
3178 3214 0240 4083 st Z,r20
3179 3215 0242 3197 sbiw r30,1
3181 3217 0244 C114 cp r12,__zero_reg__
3182 3218 0246 D104 cpc r13,__zero_reg__
3183 3219 0248 01F0 breq .L173
3184 3220 024a 8C15 cp r24,r12
3185 3221 024c 9D05 cpc r25,r13
3186 3222 024e 04F0 brlt .L174
3189 3225 0250 81E0 ldi r24,lo8(1)
3190 3226 0252 90E0 ldi r25,hi8(1)
3192 3228 0254 8C0F add r24,r28
3193 3229 0256 9D1F adc r25,r29
3194 3230 0258 8C0D add r24,r12
3195 3231 025a 9D1D adc r25,r13
3198 3234 025c 68A5 ldd r22,Y+40
3199 3235 025e 79A5 ldd r23,Y+41
3200 3236 0260 0E94 0000 call f_puts
3202 3238 0264 9C01 movw r18,r24
3206 3242 0266 E989 ldd r30,Y+17
3207 3243 0268 FA89 ldd r31,Y+18
3208 3244 026a E20F add r30,r18
3209 3245 026c F31F adc r31,r19
3210 3246 026e FA8B std Y+18,r31
3211 3247 0270 E98B std Y+17,r30
3213 3249 0272 FFEF ldi r31,hi8(-1)
3214 3250 0274 2F3F cpi r18,lo8(-1)
3215 3251 0276 3F07 cpc r19,r31
3216 3252 0278 01F0 breq .L175
3217 3253 027a 8401 movw r16,r8
3219 3255 027c 00C0 rjmp .L176
3223 3259 027e 4FEF ldi r20,hi8(-1)
3224 3260 0280 2F3F cpi r18,lo8(-1)
3225 3261 0282 3407 cpc r19,r20
3226 3262 0284 01F0 breq .L175
3227 3263 0286 2989 ldd r18,Y+17
3228 3264 0288 3A89 ldd r19,Y+18
3232 3268 028a C901 movw r24,r18
3234 3270 /* epilogue start */
3235 3271 028c 6396 adiw r28,19
3236 3272 028e 0FB6 in __tmp_reg__,__SREG__
3238 3274 0292 DEBF out __SP_H__,r29
3239 3275 0294 0FBE out __SREG__,__tmp_reg__
3240 3276 0296 CDBF out __SP_L__,r28
3241 3277 0298 CF91 pop r28
3242 3278 029a DF91 pop r29
3243 3279 029c 1F91 pop r17
3244 3280 029e 0F91 pop r16
3246 3282 02a0 FF90 pop r15
3247 3283 02a2 EF90 pop r14
3249 3285 02a4 DF90 pop r13
3250 3286 02a6 CF90 pop r12
3252 3288 02a8 BF90 pop r11
3253 3289 02aa AF90 pop r10
3255 3291 02ac 9F90 pop r9
3256 3292 02ae 8F90 pop r8
3258 3294 02b0 7F90 pop r7
3259 3295 02b2 6F90 pop r6
3261 3297 02b4 5F90 pop r5
3262 3298 02b6 4F90 pop r4
3263 3299 02b8 3F90 pop r3
3264 3300 02ba 2F90 pop r2
3267 3304 .section .text.dir_next,"ax",@progbits
3272 3310 0000 8F92 push r8
3273 3311 0002 9F92 push r9
3274 3312 0004 AF92 push r10
3275 3313 0006 BF92 push r11
3276 3314 0008 CF92 push r12
3277 3315 000a DF92 push r13
3278 3316 000c EF92 push r14
3279 3317 000e FF92 push r15
3280 3318 0010 0F93 push r16
3281 3319 0012 1F93 push r17
3282 3320 0014 CF93 push r28
3283 3321 0016 DF93 push r29
3284 3322 /* prologue: function */
3285 3323 /* frame size = 0 */
3286 3324 0018 EC01 movw r28,r24
3287 3325 001a 162F mov r17,r22
3289 3327 001c AC80 ldd r10,Y+4
3290 3328 001e BD80 ldd r11,Y+5
3293 3331 0022 A11C adc r10,__zero_reg__
3294 3332 0024 B11C adc r11,__zero_reg__
3296 3334 0026 A114 cp r10,__zero_reg__
3297 3335 0028 B104 cpc r11,__zero_reg__
3298 3336 002a 01F4 brne .+2
3299 3337 002c 00C0 rjmp .L182
3301 3339 002e 8E85 ldd r24,Y+14
3302 3340 0030 9F85 ldd r25,Y+15
3303 3341 0032 A889 ldd r26,Y+16
3304 3342 0034 B989 ldd r27,Y+17
3305 3343 0036 0097 sbiw r24,0
3306 3344 0038 A105 cpc r26,__zero_reg__
3307 3345 003a B105 cpc r27,__zero_reg__
3308 3346 003c 01F4 brne .+2
3309 3347 003e 00C0 rjmp .L182
3311 3349 0040 0FE0 ldi r16,lo8(15)
3312 3350 0042 802E mov r8,r16
3313 3351 0044 912C mov r9,__zero_reg__
3314 3352 0046 8A20 and r8,r10
3315 3353 0048 9B20 and r9,r11
3316 3354 004a 8114 cp r8,__zero_reg__
3317 3355 004c 9104 cpc r9,__zero_reg__
3318 3356 004e 01F0 breq .+2
3319 3357 0050 00C0 rjmp .L183
3321 3359 0052 0196 adiw r24,1
3322 3360 0054 A11D adc r26,__zero_reg__
3323 3361 0056 B11D adc r27,__zero_reg__
3324 3362 0058 8E87 std Y+14,r24
3325 3363 005a 9F87 std Y+15,r25
3326 3364 005c A88B std Y+16,r26
3327 3365 005e B98B std Y+17,r27
3329 3367 0060 4A85 ldd r20,Y+10
3330 3368 0062 5B85 ldd r21,Y+11
3331 3369 0064 6C85 ldd r22,Y+12
3332 3370 0066 7D85 ldd r23,Y+13
3333 3371 0068 E881 ld r30,Y
3334 3372 006a F981 ldd r31,Y+1
3335 3373 006c 4115 cp r20,__zero_reg__
3336 3374 006e 5105 cpc r21,__zero_reg__
3337 3375 0070 6105 cpc r22,__zero_reg__
3338 3376 0072 7105 cpc r23,__zero_reg__
3339 3377 0074 01F4 brne .L184
3341 3379 0076 8085 ldd r24,Z+8
3342 3380 0078 9185 ldd r25,Z+9
3343 3381 007a A816 cp r10,r24
3344 3382 007c B906 cpc r11,r25
3345 3383 007e 00F4 brsh .+2
3346 3384 0080 00C0 rjmp .L183
3347 3385 0082 00C0 rjmp .L182
3350 3388 0084 8281 ldd r24,Z+2
3351 3389 0086 90E0 ldi r25,lo8(0)
3352 3390 0088 0197 sbiw r24,1
3353 3391 008a 9501 movw r18,r10
3354 3392 008c B4E0 ldi r27,4
3355 3393 008e 3695 1: lsr r19
3356 3394 0090 2795 ror r18
3357 3395 0092 BA95 dec r27
3358 3396 0094 01F4 brne 1b
3359 3397 0096 8223 and r24,r18
3360 3398 0098 9323 and r25,r19
3361 3399 009a 892B or r24,r25
3362 3400 009c 01F0 breq .+2
3363 3401 009e 00C0 rjmp .L183
3365 3403 00a0 CF01 movw r24,r30
3366 3404 00a2 0E94 0000 call get_fat
3367 3405 00a6 6B01 movw r12,r22
3368 3406 00a8 7C01 movw r14,r24
3371 3409 00aa 82E0 ldi r24,lo8(2)
3372 3410 00ac C816 cp r12,r24
3373 3411 00ae D104 cpc r13,__zero_reg__
3374 3412 00b0 E104 cpc r14,__zero_reg__
3375 3413 00b2 F104 cpc r15,__zero_reg__
3376 3414 00b4 00F4 brsh .+2
3377 3415 00b6 00C0 rjmp .L185
3379 3417 00b8 9FEF ldi r25,lo8(-1)
3380 3418 00ba C916 cp r12,r25
3381 3419 00bc 9FEF ldi r25,hi8(-1)
3382 3420 00be D906 cpc r13,r25
3383 3421 00c0 9FEF ldi r25,hlo8(-1)
3384 3422 00c2 E906 cpc r14,r25
3385 3423 00c4 9FEF ldi r25,hhi8(-1)
3386 3424 00c6 F906 cpc r15,r25
3387 3425 00c8 01F4 brne .+2
3388 3426 00ca 00C0 rjmp .L186
3390 3428 00cc E881 ld r30,Y
3391 3429 00ce F981 ldd r31,Y+1
3392 3430 00d0 828D ldd r24,Z+26
3393 3431 00d2 938D ldd r25,Z+27
3394 3432 00d4 A48D ldd r26,Z+28
3395 3433 00d6 B58D ldd r27,Z+29
3396 3434 00d8 C816 cp r12,r24
3397 3435 00da D906 cpc r13,r25
3398 3436 00dc EA06 cpc r14,r26
3399 3437 00de FB06 cpc r15,r27
3400 3438 00e0 00F4 brsh .+2
3401 3439 00e2 00C0 rjmp .L187
3404 3442 00e4 1123 tst r17
3405 3443 00e6 01F4 brne .+2
3406 3444 00e8 00C0 rjmp .L182
3408 3446 00ea 4A85 ldd r20,Y+10
3409 3447 00ec 5B85 ldd r21,Y+11
3410 3448 00ee 6C85 ldd r22,Y+12
3411 3449 00f0 7D85 ldd r23,Y+13
3412 3450 00f2 CF01 movw r24,r30
3413 3451 00f4 0E94 0000 call create_chain
3414 3452 00f8 6B01 movw r12,r22
3415 3453 00fa 7C01 movw r14,r24
3417 3455 00fc 6115 cp r22,__zero_reg__
3418 3456 00fe 7105 cpc r23,__zero_reg__
3419 3457 0100 8105 cpc r24,__zero_reg__
3420 3458 0102 9105 cpc r25,__zero_reg__
3421 3459 0104 01F4 brne .L188
3423 3461 0106 87E0 ldi r24,lo8(7)
3424 3462 0108 00C0 rjmp .L189
3427 3465 010a 6130 cpi r22,lo8(1)
3428 3466 010c 7105 cpc r23,__zero_reg__
3429 3467 010e 8105 cpc r24,__zero_reg__
3430 3468 0110 9105 cpc r25,__zero_reg__
3431 3469 0112 01F4 brne .+2
3432 3470 0114 00C0 rjmp .L185
3434 3472 0116 6F3F cpi r22,lo8(-1)
3435 3473 0118 FFEF ldi r31,hi8(-1)
3436 3474 011a 7F07 cpc r23,r31
3437 3475 011c FFEF ldi r31,hlo8(-1)
3438 3476 011e 8F07 cpc r24,r31
3439 3477 0120 FFEF ldi r31,hhi8(-1)
3440 3478 0122 9F07 cpc r25,r31
3441 3479 0124 01F4 brne .+2
3442 3480 0126 00C0 rjmp .L186
3444 3482 0128 8881 ld r24,Y
3445 3483 012a 9981 ldd r25,Y+1
3446 3484 012c 40E0 ldi r20,lo8(0)
3447 3485 012e 50E0 ldi r21,hi8(0)
3448 3486 0130 60E0 ldi r22,hlo8(0)
3449 3487 0132 70E0 ldi r23,hhi8(0)
3450 3488 0134 0E94 0000 call move_window
3452 3490 0138 8823 tst r24
3453 3491 013a 01F0 breq .+2
3454 3492 013c 00C0 rjmp .L186
3456 3494 013e 8881 ld r24,Y
3457 3495 0140 9981 ldd r25,Y+1
3458 3496 0142 8E96 adiw r24,46
3459 3497 0144 60E0 ldi r22,lo8(0)
3460 3498 0146 70E0 ldi r23,hi8(0)
3461 3499 0148 40E0 ldi r20,lo8(512)
3462 3500 014a 52E0 ldi r21,hi8(512)
3463 3501 014c 0E94 0000 call mem_set
3465 3503 0150 0881 ld r16,Y
3466 3504 0152 1981 ldd r17,Y+1
3467 3505 0154 C801 movw r24,r16
3468 3506 0156 B701 movw r22,r14
3469 3507 0158 A601 movw r20,r12
3470 3508 015a 0E94 0000 call clust2sect
3471 3509 015e F801 movw r30,r16
3472 3510 0160 62A7 std Z+42,r22
3473 3511 0162 73A7 std Z+43,r23
3474 3512 0164 84A7 std Z+44,r24
3475 3513 0166 95A7 std Z+45,r25
3476 3514 0168 00E0 ldi r16,lo8(0)
3479 3517 016a 11E0 ldi r17,lo8(1)
3481 3519 016c 00C0 rjmp .L190
3483 3521 016e 1483 std Z+4,r17
3485 3523 0170 8881 ld r24,Y
3486 3524 0172 9981 ldd r25,Y+1
3487 3525 0174 40E0 ldi r20,lo8(0)
3488 3526 0176 50E0 ldi r21,hi8(0)
3489 3527 0178 60E0 ldi r22,hlo8(0)
3490 3528 017a 70E0 ldi r23,hhi8(0)
3491 3529 017c 0E94 0000 call move_window
3492 3530 0180 8823 tst r24
3493 3531 0182 01F0 breq .+2
3494 3532 0184 00C0 rjmp .L186
3496 3534 0186 E881 ld r30,Y
3497 3535 0188 F981 ldd r31,Y+1
3498 3536 018a 82A5 ldd r24,Z+42
3499 3537 018c 93A5 ldd r25,Z+43
3500 3538 018e A4A5 ldd r26,Z+44
3501 3539 0190 B5A5 ldd r27,Z+45
3502 3540 0192 0196 adiw r24,1
3503 3541 0194 A11D adc r26,__zero_reg__
3504 3542 0196 B11D adc r27,__zero_reg__
3505 3543 0198 82A7 std Z+42,r24
3506 3544 019a 93A7 std Z+43,r25
3507 3545 019c A4A7 std Z+44,r26
3508 3546 019e B5A7 std Z+45,r27
3510 3548 01a0 0F5F subi r16,lo8(-(1))
3512 3550 01a2 E881 ld r30,Y
3513 3551 01a4 F981 ldd r31,Y+1
3514 3552 01a6 8281 ldd r24,Z+2
3515 3553 01a8 0817 cp r16,r24
3516 3554 01aa 00F0 brlo .L191
3518 3556 01ac 82A5 ldd r24,Z+42
3519 3557 01ae 93A5 ldd r25,Z+43
3520 3558 01b0 A4A5 ldd r26,Z+44
3521 3559 01b2 B5A5 ldd r27,Z+45
3522 3560 01b4 801B sub r24,r16
3523 3561 01b6 9109 sbc r25,__zero_reg__
3524 3562 01b8 A109 sbc r26,__zero_reg__
3525 3563 01ba B109 sbc r27,__zero_reg__
3526 3564 01bc 82A7 std Z+42,r24
3527 3565 01be 93A7 std Z+43,r25
3528 3566 01c0 A4A7 std Z+44,r26
3529 3567 01c2 B5A7 std Z+45,r27
3534 3572 01c4 CA86 std Y+10,r12
3535 3573 01c6 DB86 std Y+11,r13
3536 3574 01c8 EC86 std Y+12,r14
3537 3575 01ca FD86 std Y+13,r15
3539 3577 01cc 8881 ld r24,Y
3540 3578 01ce 9981 ldd r25,Y+1
3541 3579 01d0 B701 movw r22,r14
3542 3580 01d2 A601 movw r20,r12
3543 3581 01d4 0E94 0000 call clust2sect
3544 3582 01d8 6E87 std Y+14,r22
3545 3583 01da 7F87 std Y+15,r23
3546 3584 01dc 888B std Y+16,r24
3547 3585 01de 998B std Y+17,r25
3551 3589 01e0 BD82 std Y+5,r11
3552 3590 01e2 AC82 std Y+4,r10
3554 3592 01e4 A5E0 ldi r26,5
3555 3593 01e6 880C 1: lsl r8
3556 3594 01e8 991C rol r9
3557 3595 01ea AA95 dec r26
3558 3596 01ec 01F4 brne 1b
3559 3597 01ee 8EE2 ldi r24,lo8(46)
3560 3598 01f0 90E0 ldi r25,hi8(46)
3561 3599 01f2 880E add r8,r24
3562 3600 01f4 991E adc r9,r25
3563 3601 01f6 8881 ld r24,Y
3564 3602 01f8 9981 ldd r25,Y+1
3565 3603 01fa 880D add r24,r8
3566 3604 01fc 991D adc r25,r9
3567 3605 01fe 9B8B std Y+19,r25
3568 3606 0200 8A8B std Y+18,r24
3569 3607 0202 80E0 ldi r24,lo8(0)
3570 3608 0204 00C0 rjmp .L189
3574 3612 0206 84E0 ldi r24,lo8(4)
3575 3613 0208 00C0 rjmp .L189
3578 3616 020a 82E0 ldi r24,lo8(2)
3579 3617 020c 00C0 rjmp .L189
3582 3620 020e 81E0 ldi r24,lo8(1)
3585 3623 /* epilogue start */
3587 3625 0210 DF91 pop r29
3588 3626 0212 CF91 pop r28
3590 3628 0214 1F91 pop r17
3592 3630 0216 0F91 pop r16
3594 3632 0218 FF90 pop r15
3595 3633 021a EF90 pop r14
3596 3634 021c DF90 pop r13
3597 3635 021e CF90 pop r12
3599 3637 0220 BF90 pop r11
3600 3638 0222 AF90 pop r10
3602 3640 0224 9F90 pop r9
3603 3641 0226 8F90 pop r8
3606 3645 .section .text.f_read,"ax",@progbits
3612 3652 0000 2F92 push r2
3613 3653 0002 3F92 push r3
3614 3654 0004 5F92 push r5
3615 3655 0006 6F92 push r6
3616 3656 0008 7F92 push r7
3617 3657 000a 8F92 push r8
3618 3658 000c 9F92 push r9
3619 3659 000e AF92 push r10
3620 3660 0010 BF92 push r11
3621 3661 0012 CF92 push r12
3622 3662 0014 DF92 push r13
3623 3663 0016 EF92 push r14
3624 3664 0018 FF92 push r15
3625 3665 001a 0F93 push r16
3626 3666 001c 1F93 push r17
3627 3667 001e CF93 push r28
3628 3668 0020 DF93 push r29
3629 3669 /* prologue: function */
3630 3670 /* frame size = 0 */
3631 3671 0022 EC01 movw r28,r24
3632 3672 0024 162F mov r17,r22
3633 3673 0026 072F mov r16,r23
3635 3675 0028 4A01 movw r8,r20
3636 3676 002a 1901 movw r2,r18
3638 3678 002c F901 movw r30,r18
3639 3679 002e 1182 std Z+1,__zero_reg__
3640 3680 0030 1082 st Z,__zero_reg__
3642 3682 0032 6A81 ldd r22,Y+2
3643 3683 0034 7B81 ldd r23,Y+3
3645 3685 0036 8881 ld r24,Y
3646 3686 0038 9981 ldd r25,Y+1
3648 3688 003a 0E94 0000 call validate
3650 3690 003e 582E mov r5,r24
3653 3693 0040 8823 tst r24
3654 3694 0042 01F0 breq .+2
3655 3695 0044 00C0 rjmp .L194
3658 3698 0046 8C81 ldd r24,Y+4
3660 3700 0048 87FD sbrc r24,7
3661 3701 004a 00C0 rjmp .L215
3664 3704 004c 80FD sbrc r24,0
3665 3705 004e 00C0 rjmp .L196
3666 3706 0050 47E0 ldi r20,lo8(7)
3667 3707 0052 542E mov r5,r20
3668 3708 0054 00C0 rjmp .L194
3671 3711 0056 2A85 ldd r18,Y+10
3672 3712 0058 3B85 ldd r19,Y+11
3673 3713 005a 4C85 ldd r20,Y+12
3674 3714 005c 5D85 ldd r21,Y+13
3676 3716 005e 8E81 ldd r24,Y+6
3677 3717 0060 9F81 ldd r25,Y+7
3678 3718 0062 A885 ldd r26,Y+8
3679 3719 0064 B985 ldd r27,Y+9
3680 3720 0066 281B sub r18,r24
3681 3721 0068 390B sbc r19,r25
3682 3722 006a 4A0B sbc r20,r26
3683 3723 006c 5B0B sbc r21,r27
3685 3725 006e C401 movw r24,r8
3686 3726 0070 A0E0 ldi r26,lo8(0)
3687 3727 0072 B0E0 ldi r27,hi8(0)
3689 3729 0074 2817 cp r18,r24
3690 3730 0076 3907 cpc r19,r25
3691 3731 0078 4A07 cpc r20,r26
3692 3732 007a 5B07 cpc r21,r27
3693 3733 007c 00F4 brsh .L197
3695 3735 007e 4901 movw r8,r18
3699 3739 0080 812F mov r24,r17
3701 3741 0082 902F mov r25,r16
3703 3743 0084 9C01 movw r18,r24
3705 3745 0086 3901 movw r6,r18
3707 3747 0088 00C0 rjmp .L198
3711 3751 008a 2E81 ldd r18,Y+6
3712 3752 008c 3F81 ldd r19,Y+7
3713 3753 008e 4885 ldd r20,Y+8
3714 3754 0090 5985 ldd r21,Y+9
3715 3755 0092 DA01 movw r26,r20
3716 3756 0094 C901 movw r24,r18
3717 3757 0096 9170 andi r25,hi8(511)
3718 3758 0098 A070 andi r26,hlo8(511)
3719 3759 009a B070 andi r27,hhi8(511)
3720 3760 009c 0097 sbiw r24,0
3721 3761 009e A105 cpc r26,__zero_reg__
3722 3762 00a0 B105 cpc r27,__zero_reg__
3723 3763 00a2 01F0 breq .+2
3724 3764 00a4 00C0 rjmp .L199
3726 3766 00a6 E881 ld r30,Y
3727 3767 00a8 F981 ldd r31,Y+1
3728 3768 00aa 9D81 ldd r25,Y+5
3730 3770 00ac 8281 ldd r24,Z+2
3731 3771 00ae 9817 cp r25,r24
3732 3772 00b0 00F0 brlo .L200
3734 3774 00b2 2115 cp r18,__zero_reg__
3735 3775 00b4 3105 cpc r19,__zero_reg__
3736 3776 00b6 4105 cpc r20,__zero_reg__
3737 3777 00b8 5105 cpc r21,__zero_reg__
3738 3778 00ba 01F4 brne .L201
3739 3779 00bc 6E85 ldd r22,Y+14
3740 3780 00be 7F85 ldd r23,Y+15
3741 3781 00c0 8889 ldd r24,Y+16
3742 3782 00c2 9989 ldd r25,Y+17
3744 3784 00c4 00C0 rjmp .L202
3747 3787 00c6 4A89 ldd r20,Y+18
3748 3788 00c8 5B89 ldd r21,Y+19
3749 3789 00ca 6C89 ldd r22,Y+20
3750 3790 00cc 7D89 ldd r23,Y+21
3751 3791 00ce CF01 movw r24,r30
3752 3792 00d0 0E94 0000 call get_fat
3756 3796 00d4 6230 cpi r22,lo8(2)
3757 3797 00d6 7105 cpc r23,__zero_reg__
3758 3798 00d8 8105 cpc r24,__zero_reg__
3759 3799 00da 9105 cpc r25,__zero_reg__
3760 3800 00dc 00F4 brsh .L203
3763 3803 00de 8C81 ldd r24,Y+4
3764 3804 00e0 8068 ori r24,lo8(-128)
3765 3805 00e2 8C83 std Y+4,r24
3767 3807 00e4 32E0 ldi r19,lo8(2)
3768 3808 00e6 532E mov r5,r19
3769 3809 00e8 00C0 rjmp .L194
3773 3813 00ea 6F3F cpi r22,lo8(-1)
3774 3814 00ec FFEF ldi r31,hi8(-1)
3775 3815 00ee 7F07 cpc r23,r31
3776 3816 00f0 FFEF ldi r31,hlo8(-1)
3777 3817 00f2 8F07 cpc r24,r31
3778 3818 00f4 FFEF ldi r31,hhi8(-1)
3779 3819 00f6 9F07 cpc r25,r31
3780 3820 00f8 01F4 brne .+2
3781 3821 00fa 00C0 rjmp .L216
3784 3824 00fc 6A8B std Y+18,r22
3785 3825 00fe 7B8B std Y+19,r23
3786 3826 0100 8C8B std Y+20,r24
3787 3827 0102 9D8B std Y+21,r25
3789 3829 0104 1D82 std Y+5,__zero_reg__
3792 3832 0106 0881 ld r16,Y
3793 3833 0108 1981 ldd r17,Y+1
3795 3835 010a 4A89 ldd r20,Y+18
3796 3836 010c 5B89 ldd r21,Y+19
3797 3837 010e 6C89 ldd r22,Y+20
3798 3838 0110 7D89 ldd r23,Y+21
3799 3839 0112 C801 movw r24,r16
3800 3840 0114 0E94 0000 call clust2sect
3803 3843 0118 6115 cp r22,__zero_reg__
3804 3844 011a 7105 cpc r23,__zero_reg__
3805 3845 011c 8105 cpc r24,__zero_reg__
3806 3846 011e 9105 cpc r25,__zero_reg__
3807 3847 0120 01F0 breq .L217
3811 3851 0122 3D81 ldd r19,Y+5
3812 3852 0124 5B01 movw r10,r22
3813 3853 0126 6C01 movw r12,r24
3814 3854 0128 A30E add r10,r19
3815 3855 012a B11C adc r11,__zero_reg__
3816 3856 012c C11C adc r12,__zero_reg__
3817 3857 012e D11C adc r13,__zero_reg__
3820 3860 0130 7401 movw r14,r8
3821 3861 0132 EF2C mov r14,r15
3822 3862 0134 FF24 clr r15
3823 3863 0136 E694 lsr r14
3825 3865 0138 E114 cp r14,__zero_reg__
3826 3866 013a F104 cpc r15,__zero_reg__
3827 3867 013c 01F4 brne .+2
3828 3868 013e 00C0 rjmp .L206
3830 3870 0140 F801 movw r30,r16
3831 3871 0142 2281 ldd r18,Z+2
3832 3872 0144 432F mov r20,r19
3833 3873 0146 50E0 ldi r21,lo8(0)
3834 3874 0148 C701 movw r24,r14
3835 3875 014a 840F add r24,r20
3836 3876 014c 951F adc r25,r21
3837 3877 014e 30E0 ldi r19,lo8(0)
3838 3878 0150 2817 cp r18,r24
3839 3879 0152 3907 cpc r19,r25
3840 3880 0154 00F4 brsh .L207
3842 3882 0156 7901 movw r14,r18
3843 3883 0158 E41A sub r14,r20
3844 3884 015a F50A sbc r15,r21
3847 3887 015c F801 movw r30,r16
3848 3888 015e 8181 ldd r24,Z+1
3849 3889 0160 B301 movw r22,r6
3850 3890 0162 A601 movw r20,r12
3851 3891 0164 9501 movw r18,r10
3852 3892 0166 0E2D mov r16,r14
3853 3893 0168 0E94 0000 call disk_read
3854 3894 016c 8823 tst r24
3855 3895 016e 01F0 breq .+2
3856 3896 0170 00C0 rjmp .L216
3859 3899 0172 E881 ld r30,Y
3860 3900 0174 F981 ldd r31,Y+1
3861 3901 0176 8481 ldd r24,Z+4
3862 3902 0178 8823 tst r24
3863 3903 017a 01F0 breq .L209
3864 3904 017c 22A5 ldd r18,Z+42
3865 3905 017e 33A5 ldd r19,Z+43
3866 3906 0180 44A5 ldd r20,Z+44
3867 3907 0182 55A5 ldd r21,Z+45
3868 3908 0184 2A19 sub r18,r10
3869 3909 0186 3B09 sbc r19,r11
3870 3910 0188 4C09 sbc r20,r12
3871 3911 018a 5D09 sbc r21,r13
3872 3912 018c C701 movw r24,r14
3873 3913 018e A0E0 ldi r26,lo8(0)
3874 3914 0190 B0E0 ldi r27,hi8(0)
3876 3916 0192 2817 cp r18,r24
3877 3917 0194 3907 cpc r19,r25
3878 3918 0196 4A07 cpc r20,r26
3879 3919 0198 5B07 cpc r21,r27
3880 3920 019a 00F4 brsh .L209
3883 3923 019c 99E0 ldi r25,9
3884 3924 019e 220F 1: lsl r18
3885 3925 01a0 331F rol r19
3886 3926 01a2 441F rol r20
3887 3927 01a4 551F rol r21
3888 3928 01a6 9A95 dec r25
3889 3929 01a8 01F4 brne 1b
3890 3930 01aa C301 movw r24,r6
3892 3932 01ac 820F add r24,r18
3893 3933 01ae 931F adc r25,r19
3894 3934 01b0 BE96 adiw r30,46
3895 3935 01b2 BF01 movw r22,r30
3896 3936 01b4 40E0 ldi r20,lo8(512)
3897 3937 01b6 52E0 ldi r21,hi8(512)
3898 3938 01b8 0E94 0000 call mem_cpy
3902 3942 01bc 8D81 ldd r24,Y+5
3903 3943 01be 8E0D add r24,r14
3904 3944 01c0 8D83 std Y+5,r24
3906 3946 01c2 8701 movw r16,r14
3908 3948 01c4 102F mov r17,r16
3909 3949 01c6 0027 clr r16
3910 3950 01c8 110F lsl r17
3911 3951 01ca 00C0 rjmp .L210
3915 3955 01cc AE8A std Y+22,r10
3916 3956 01ce BF8A std Y+23,r11
3917 3957 01d0 C88E std Y+24,r12
3918 3958 01d2 D98E std Y+25,r13
3920 3960 01d4 3F5F subi r19,lo8(-(1))
3921 3961 01d6 3D83 std Y+5,r19
3925 3965 01d8 EE80 ldd r14,Y+6
3926 3966 01da FF80 ldd r15,Y+7
3927 3967 01dc 0885 ldd r16,Y+8
3928 3968 01de 1985 ldd r17,Y+9
3931 3971 01e0 4E89 ldd r20,Y+22
3932 3972 01e2 5F89 ldd r21,Y+23
3933 3973 01e4 688D ldd r22,Y+24
3934 3974 01e6 798D ldd r23,Y+25
3935 3975 01e8 8881 ld r24,Y
3936 3976 01ea 9981 ldd r25,Y+1
3937 3977 01ec 0E94 0000 call move_window
3939 3979 01f0 8823 tst r24
3940 3980 01f2 01F0 breq .L211
3944 3984 01f4 8C81 ldd r24,Y+4
3945 3985 01f6 8068 ori r24,lo8(-128)
3946 3986 01f8 8C83 std Y+4,r24
3947 3987 01fa 5524 clr r5
3948 3988 01fc 5394 inc r5
3949 3989 01fe 00C0 rjmp .L194
3953 3993 0200 C701 movw r24,r14
3954 3994 0202 9170 andi r25,hi8(511)
3955 3995 0204 20E0 ldi r18,lo8(512)
3956 3996 0206 32E0 ldi r19,hi8(512)
3957 3997 0208 281B sub r18,r24
3958 3998 020a 390B sbc r19,r25
3959 3999 020c 8401 movw r16,r8
3961 4001 020e 2815 cp r18,r8
3962 4002 0210 3905 cpc r19,r9
3963 4003 0212 00F4 brsh .L212
3965 4005 0214 8901 movw r16,r18
3968 4008 0216 8E81 ldd r24,Y+6
3969 4009 0218 9F81 ldd r25,Y+7
3970 4010 021a 9170 andi r25,hi8(511)
3971 4011 021c 8E96 adiw r24,46
3972 4012 021e 6881 ld r22,Y
3973 4013 0220 7981 ldd r23,Y+1
3974 4014 0222 680F add r22,r24
3975 4015 0224 791F adc r23,r25
3976 4016 0226 C301 movw r24,r6
3977 4017 0228 A801 movw r20,r16
3978 4018 022a 0E94 0000 call mem_cpy
3982 4022 022e 600E add r6,r16
3983 4023 0230 711E adc r7,r17
3984 4024 0232 C801 movw r24,r16
3985 4025 0234 A0E0 ldi r26,lo8(0)
3986 4026 0236 B0E0 ldi r27,hi8(0)
3988 4028 0238 2E81 ldd r18,Y+6
3989 4029 023a 3F81 ldd r19,Y+7
3990 4030 023c 4885 ldd r20,Y+8
3991 4031 023e 5985 ldd r21,Y+9
3992 4032 0240 280F add r18,r24
3993 4033 0242 391F adc r19,r25
3994 4034 0244 4A1F adc r20,r26
3995 4035 0246 5B1F adc r21,r27
3996 4036 0248 2E83 std Y+6,r18
3997 4037 024a 3F83 std Y+7,r19
3998 4038 024c 4887 std Y+8,r20
3999 4039 024e 5987 std Y+9,r21
4000 4040 0250 F101 movw r30,r2
4001 4041 0252 8081 ld r24,Z
4002 4042 0254 9181 ldd r25,Z+1
4003 4043 0256 800F add r24,r16
4004 4044 0258 911F adc r25,r17
4005 4045 025a 9183 std Z+1,r25
4006 4046 025c 8083 st Z,r24
4007 4047 025e 801A sub r8,r16
4008 4048 0260 910A sbc r9,r17
4012 4052 0262 8114 cp r8,__zero_reg__
4013 4053 0264 9104 cpc r9,__zero_reg__
4014 4054 0266 01F0 breq .+2
4015 4055 0268 00C0 rjmp .L213
4019 4059 026a 852D mov r24,r5
4020 4060 /* epilogue start */
4021 4061 026c DF91 pop r29
4022 4062 026e CF91 pop r28
4024 4064 0270 1F91 pop r17
4026 4066 0272 0F91 pop r16
4028 4068 0274 FF90 pop r15
4029 4069 0276 EF90 pop r14
4031 4071 0278 DF90 pop r13
4032 4072 027a CF90 pop r12
4033 4073 027c BF90 pop r11
4034 4074 027e AF90 pop r10
4036 4076 0280 9F90 pop r9
4037 4077 0282 8F90 pop r8
4039 4079 0284 7F90 pop r7
4040 4080 0286 6F90 pop r6
4042 4082 0288 5F90 pop r5
4044 4084 028a 3F90 pop r3
4045 4085 028c 2F90 pop r2
4049 4090 .section .text.f_gets,"ax",@progbits
4055 4097 0000 6F92 push r6
4056 4098 0002 7F92 push r7
4057 4099 0004 8F92 push r8
4058 4100 0006 9F92 push r9
4059 4101 0008 AF92 push r10
4060 4102 000a BF92 push r11
4061 4103 000c CF92 push r12
4062 4104 000e DF92 push r13
4063 4105 0010 EF92 push r14
4064 4106 0012 FF92 push r15
4065 4107 0014 0F93 push r16
4066 4108 0016 1F93 push r17
4067 4109 0018 DF93 push r29
4068 4110 001a CF93 push r28
4069 4111 001c 00D0 rcall .
4070 4112 001e CDB7 in r28,__SP_L__
4071 4113 0020 DEB7 in r29,__SP_H__
4072 4114 /* prologue: function */
4073 4115 /* frame size = 2 */
4074 4116 0022 5C01 movw r10,r24
4075 4117 0024 6B01 movw r12,r22
4076 4118 0026 4A01 movw r8,r20
4078 4120 0028 8C01 movw r16,r24
4080 4122 002a EE24 clr r14
4081 4123 002c FF24 clr r15
4085 4127 0030 C108 sbc r12,__zero_reg__
4086 4128 0032 D108 sbc r13,__zero_reg__
4088 4130 0034 3E01 movw r6,r28
4090 4132 0038 611C adc r6,__zero_reg__
4091 4133 003a 711C adc r7,__zero_reg__
4092 4134 003c 00C0 rjmp .L219
4095 4137 003e C401 movw r24,r8
4096 4138 0040 B801 movw r22,r16
4098 4140 0042 41E0 ldi r20,lo8(1)
4099 4141 0044 50E0 ldi r21,hi8(1)
4100 4142 0046 9301 movw r18,r6
4101 4143 0048 0E94 0000 call f_read
4103 4145 004c 8981 ldd r24,Y+1
4104 4146 004e 9A81 ldd r25,Y+2
4105 4147 0050 0197 sbiw r24,1
4106 4148 0052 01F4 brne .L220
4110 4152 0056 E11C adc r14,__zero_reg__
4111 4153 0058 F11C adc r15,__zero_reg__
4113 4155 005a F801 movw r30,r16
4114 4156 005c 8191 ld r24,Z+
4116 4158 005e 8F01 movw r16,r30
4117 4159 0060 8A30 cpi r24,lo8(10)
4118 4160 0062 01F0 breq .L220
4122 4164 0064 EC14 cp r14,r12
4123 4165 0066 FD04 cpc r15,r13
4124 4166 0068 04F0 brlt .L221
4128 4170 006a F801 movw r30,r16
4129 4171 006c 1082 st Z,__zero_reg__
4131 4173 006e EF28 or r14,r15
4132 4174 0070 01F4 brne .L222
4133 4175 0072 AA24 clr r10
4134 4176 0074 BB24 clr r11
4138 4180 0076 C501 movw r24,r10
4140 4182 /* epilogue start */
4141 4183 0078 0F90 pop __tmp_reg__
4142 4184 007a 0F90 pop __tmp_reg__
4143 4185 007c CF91 pop r28
4144 4186 007e DF91 pop r29
4145 4187 0080 1F91 pop r17
4146 4188 0082 0F91 pop r16
4148 4190 0084 FF90 pop r15
4149 4191 0086 EF90 pop r14
4151 4193 0088 DF90 pop r13
4152 4194 008a CF90 pop r12
4153 4195 008c BF90 pop r11
4154 4196 008e AF90 pop r10
4155 4197 0090 9F90 pop r9
4156 4198 0092 8F90 pop r8
4158 4200 0094 7F90 pop r7
4159 4201 0096 6F90 pop r6
4162 4205 .section .text.check_fs,"ax",@progbits
4167 4211 0000 0F93 push r16
4168 4212 0002 CF93 push r28
4169 4213 0004 DF93 push r29
4170 4214 /* prologue: function */
4171 4215 /* frame size = 0 */
4172 4216 0006 EC01 movw r28,r24
4173 4217 0008 9A01 movw r18,r20
4174 4218 000a AB01 movw r20,r22
4176 4220 000c BC01 movw r22,r24
4177 4221 000e 625D subi r22,lo8(-(46))
4178 4222 0010 7F4F sbci r23,hi8(-(46))
4179 4223 0012 8981 ldd r24,Y+1
4181 4225 0014 01E0 ldi r16,lo8(1)
4182 4226 0016 0E94 0000 call disk_read
4184 4228 001a 8823 tst r24
4185 4229 001c 01F0 breq .L225
4186 4230 001e 23E0 ldi r18,lo8(3)
4187 4231 0020 00C0 rjmp .L226
4190 4234 0022 C45D subi r28,lo8(-(556))
4191 4235 0024 DD4F sbci r29,hi8(-(556))
4192 4236 0026 8881 ld r24,Y
4193 4237 0028 9981 ldd r25,Y+1
4194 4238 002a CC52 subi r28,lo8(-(-556))
4195 4239 002c D240 sbci r29,hi8(-(-556))
4196 4240 002e 8555 subi r24,lo8(-21931)
4197 4241 0030 9A4A sbci r25,hi8(-21931)
4198 4242 0032 01F0 breq .L227
4199 4243 0034 22E0 ldi r18,lo8(2)
4200 4244 0036 00C0 rjmp .L226
4203 4247 0038 CC59 subi r28,lo8(-(100))
4204 4248 003a DF4F sbci r29,hi8(-(100))
4205 4249 003c 8881 ld r24,Y
4206 4250 003e 9981 ldd r25,Y+1
4207 4251 0040 AA81 ldd r26,Y+2
4208 4252 0042 BB81 ldd r27,Y+3
4209 4253 0044 C456 subi r28,lo8(-(-100))
4210 4254 0046 D040 sbci r29,hi8(-(-100))
4211 4255 0048 B070 andi r27,hhi8(16777215)
4212 4256 004a 8654 subi r24,lo8(5521734)
4213 4257 004c 9144 sbci r25,hi8(5521734)
4214 4258 004e A445 sbci r26,hlo8(5521734)
4215 4259 0050 B040 sbci r27,hhi8(5521734)
4216 4260 0052 01F4 brne .L228
4217 4261 0054 20E0 ldi r18,lo8(0)
4218 4262 0056 00C0 rjmp .L226
4220 4264 0058 20E0 ldi r18,lo8(0)
4221 4265 005a C058 subi r28,lo8(-(128))
4222 4266 005c DF4F sbci r29,hi8(-(128))
4223 4267 005e 8881 ld r24,Y
4224 4268 0060 9981 ldd r25,Y+1
4225 4269 0062 AA81 ldd r26,Y+2
4226 4270 0064 BB81 ldd r27,Y+3
4227 4271 0066 B070 andi r27,hhi8(16777215)
4228 4272 0068 8654 subi r24,lo8(5521734)
4229 4273 006a 9144 sbci r25,hi8(5521734)
4230 4274 006c A445 sbci r26,hlo8(5521734)
4231 4275 006e B040 sbci r27,hhi8(5521734)
4232 4276 0070 01F0 breq .L226
4233 4277 0072 21E0 ldi r18,lo8(1)
4236 4280 0074 822F mov r24,r18
4237 4281 /* epilogue start */
4238 4282 0076 DF91 pop r29
4239 4283 0078 CF91 pop r28
4241 4285 007a 0F91 pop r16
4244 4289 .section .text.f_sync,"ax",@progbits
4250 4296 0000 0F93 push r16
4251 4297 0002 1F93 push r17
4252 4298 0004 CF93 push r28
4253 4299 0006 DF93 push r29
4254 4300 /* prologue: function */
4255 4301 /* frame size = 0 */
4256 4302 0008 EC01 movw r28,r24
4258 4304 000a 6A81 ldd r22,Y+2
4259 4305 000c 7B81 ldd r23,Y+3
4260 4306 000e 8881 ld r24,Y
4261 4307 0010 9981 ldd r25,Y+1
4263 4309 0012 0E94 0000 call validate
4264 4310 0016 982F mov r25,r24
4267 4313 0018 8823 tst r24
4268 4314 001a 01F0 breq .+2
4269 4315 001c 00C0 rjmp .L232
4272 4318 001e 8C81 ldd r24,Y+4
4274 4320 0020 85FF sbrs r24,5
4275 4321 0022 00C0 rjmp .L232
4277 4323 0024 4A8D ldd r20,Y+26
4278 4324 0026 5B8D ldd r21,Y+27
4279 4325 0028 6C8D ldd r22,Y+28
4280 4326 002a 7D8D ldd r23,Y+29
4281 4327 002c 8881 ld r24,Y
4282 4328 002e 9981 ldd r25,Y+1
4283 4329 0030 0E94 0000 call move_window
4285 4331 0034 982F mov r25,r24
4288 4334 0036 8823 tst r24
4289 4335 0038 01F0 breq .+2
4290 4336 003a 00C0 rjmp .L232
4293 4339 003c 0E8D ldd r16,Y+30
4294 4340 003e 1F8D ldd r17,Y+31
4297 4343 0040 F801 movw r30,r16
4298 4344 0042 8385 ldd r24,Z+11
4300 4346 0044 8062 ori r24,lo8(32)
4301 4347 0046 8387 std Z+11,r24
4303 4349 0048 8A85 ldd r24,Y+10
4304 4350 004a 9B85 ldd r25,Y+11
4305 4351 004c AC85 ldd r26,Y+12
4306 4352 004e BD85 ldd r27,Y+13
4307 4353 0050 848F std Z+28,r24
4308 4354 0052 958F std Z+29,r25
4309 4355 0054 A68F std Z+30,r26
4310 4356 0056 B78F std Z+31,r27
4312 4358 0058 8E85 ldd r24,Y+14
4313 4359 005a 9F85 ldd r25,Y+15
4314 4360 005c 938F std Z+27,r25
4315 4361 005e 828F std Z+26,r24
4317 4363 0060 8E85 ldd r24,Y+14
4318 4364 0062 9F85 ldd r25,Y+15
4319 4365 0064 A889 ldd r26,Y+16
4320 4366 0066 B989 ldd r27,Y+17
4321 4367 0068 CD01 movw r24,r26
4322 4368 006a AA27 clr r26
4323 4369 006c BB27 clr r27
4324 4370 006e 958B std Z+21,r25
4325 4371 0070 848B std Z+20,r24
4327 4373 0072 0E94 0000 call get_fattime
4330 4376 0076 F801 movw r30,r16
4331 4377 0078 668B std Z+22,r22
4332 4378 007a 778B std Z+23,r23
4333 4379 007c 808F std Z+24,r24
4334 4380 007e 918F std Z+25,r25
4337 4383 0080 8C81 ldd r24,Y+4
4338 4384 0082 8F7D andi r24,lo8(-33)
4339 4385 0084 8C83 std Y+4,r24
4341 4387 0086 E881 ld r30,Y
4342 4388 0088 F981 ldd r31,Y+1
4343 4389 008a 81E0 ldi r24,lo8(1)
4344 4390 008c 8483 std Z+4,r24
4346 4392 008e 0990 ld __tmp_reg__,Y+
4347 4393 0090 D881 ld r29,Y
4348 4394 0092 C02D mov r28,__tmp_reg__
4352 4398 0094 CE01 movw r24,r28
4353 4399 0096 40E0 ldi r20,lo8(0)
4354 4400 0098 50E0 ldi r21,hi8(0)
4355 4401 009a 60E0 ldi r22,hlo8(0)
4356 4402 009c 70E0 ldi r23,hhi8(0)
4357 4403 009e 0E94 0000 call move_window
4359 4405 00a2 982F mov r25,r24
4363 4409 00a4 8823 tst r24
4364 4410 00a6 01F0 breq .+2
4365 4411 00a8 00C0 rjmp .L232
4368 4414 00aa 8881 ld r24,Y
4370 4416 00ac 8330 cpi r24,lo8(3)
4371 4417 00ae 01F0 breq .+2
4372 4418 00b0 00C0 rjmp .L233
4373 4419 00b2 8D81 ldd r24,Y+5
4374 4420 00b4 8823 tst r24
4375 4421 00b6 01F4 brne .+2
4376 4422 00b8 00C0 rjmp .L233
4378 4424 00ba 1AA6 std Y+42,__zero_reg__
4379 4425 00bc 1BA6 std Y+43,__zero_reg__
4380 4426 00be 1CA6 std Y+44,__zero_reg__
4381 4427 00c0 1DA6 std Y+45,__zero_reg__
4383 4429 00c2 8E01 movw r16,r28
4385 4431 00c4 025D subi r16,lo8(-(46))
4386 4432 00c6 1F4F sbci r17,hi8(-(46))
4387 4433 00c8 C801 movw r24,r16
4388 4434 00ca 60E0 ldi r22,lo8(0)
4389 4435 00cc 70E0 ldi r23,hi8(0)
4390 4436 00ce 40E0 ldi r20,lo8(512)
4391 4437 00d0 52E0 ldi r21,hi8(512)
4392 4438 00d2 0E94 0000 call mem_set
4395 4441 00d6 C45D subi r28,lo8(-(556))
4396 4442 00d8 DD4F sbci r29,hi8(-(556))
4397 4443 00da 85E5 ldi r24,lo8(-21931)
4398 4444 00dc 9AEA ldi r25,hi8(-21931)
4399 4445 00de 9983 std Y+1,r25
4400 4446 00e0 8883 st Y,r24
4401 4447 00e2 CC52 subi r28,lo8(-(-556))
4402 4448 00e4 D240 sbci r29,hi8(-(-556))
4404 4450 00e6 82E5 ldi r24,lo8(1096897106)
4405 4451 00e8 92E5 ldi r25,hi8(1096897106)
4406 4452 00ea A1E6 ldi r26,hlo8(1096897106)
4407 4453 00ec B1E4 ldi r27,hhi8(1096897106)
4408 4454 00ee 8EA7 std Y+46,r24
4409 4455 00f0 9FA7 std Y+47,r25
4410 4456 00f2 A8AB std Y+48,r26
4411 4457 00f4 B9AB std Y+49,r27
4413 4459 00f6 CE5E subi r28,lo8(-(530))
4414 4460 00f8 DD4F sbci r29,hi8(-(530))
4415 4461 00fa 82E7 ldi r24,lo8(1631679090)
4416 4462 00fc 92E7 ldi r25,hi8(1631679090)
4417 4463 00fe A1E4 ldi r26,hlo8(1631679090)
4418 4464 0100 B1E6 ldi r27,hhi8(1631679090)
4419 4465 0102 8883 st Y,r24
4420 4466 0104 9983 std Y+1,r25
4421 4467 0106 AA83 std Y+2,r26
4422 4468 0108 BB83 std Y+3,r27
4423 4469 010a C251 subi r28,lo8(-(-530))
4424 4470 010c D240 sbci r29,hi8(-(-530))
4426 4472 010e 8E85 ldd r24,Y+14
4427 4473 0110 9F85 ldd r25,Y+15
4428 4474 0112 A889 ldd r26,Y+16
4429 4475 0114 B989 ldd r27,Y+17
4430 4476 0116 CA5E subi r28,lo8(-(534))
4431 4477 0118 DD4F sbci r29,hi8(-(534))
4432 4478 011a 8883 st Y,r24
4433 4479 011c 9983 std Y+1,r25
4434 4480 011e AA83 std Y+2,r26
4435 4481 0120 BB83 std Y+3,r27
4436 4482 0122 C651 subi r28,lo8(-(-534))
4437 4483 0124 D240 sbci r29,hi8(-(-534))
4439 4485 0126 8A85 ldd r24,Y+10
4440 4486 0128 9B85 ldd r25,Y+11
4441 4487 012a AC85 ldd r26,Y+12
4442 4488 012c BD85 ldd r27,Y+13
4443 4489 012e C65E subi r28,lo8(-(538))
4444 4490 0130 DD4F sbci r29,hi8(-(538))
4445 4491 0132 8883 st Y,r24
4446 4492 0134 9983 std Y+1,r25
4447 4493 0136 AA83 std Y+2,r26
4448 4494 0138 BB83 std Y+3,r27
4449 4495 013a CA51 subi r28,lo8(-(-538))
4450 4496 013c D240 sbci r29,hi8(-(-538))
4452 4498 013e 2A89 ldd r18,Y+18
4453 4499 0140 3B89 ldd r19,Y+19
4454 4500 0142 4C89 ldd r20,Y+20
4455 4501 0144 5D89 ldd r21,Y+21
4456 4502 0146 8981 ldd r24,Y+1
4457 4503 0148 B801 movw r22,r16
4458 4504 014a 01E0 ldi r16,lo8(1)
4459 4505 014c 0E94 0000 call disk_write
4461 4507 0150 1D82 std Y+5,__zero_reg__
4466 4512 0152 8981 ldd r24,Y+1
4467 4513 0154 60E0 ldi r22,lo8(0)
4468 4514 0156 40E0 ldi r20,lo8(0)
4469 4515 0158 50E0 ldi r21,hi8(0)
4470 4516 015a 0E94 0000 call disk_ioctl
4472 4518 015e 8111 cpse r24,__zero_reg__
4473 4519 0160 81E0 ldi r24,lo8(1)
4475 4521 0162 982F mov r25,r24
4480 4526 0164 892F mov r24,r25
4481 4527 /* epilogue start */
4482 4528 0166 DF91 pop r29
4483 4529 0168 CF91 pop r28
4485 4531 016a 1F91 pop r17
4486 4532 016c 0F91 pop r16
4490 4537 .section .text.f_close,"ax",@progbits
4491 4538 .global f_close
4496 4544 0000 CF93 push r28
4497 4545 0002 DF93 push r29
4498 4546 /* prologue: function */
4499 4547 /* frame size = 0 */
4500 4548 0004 EC01 movw r28,r24
4502 4550 0006 0E94 0000 call f_sync
4505 4553 000a 8823 tst r24
4507 4555 000c 01F4 brne .L237
4508 4556 000e 1982 std Y+1,__zero_reg__
4509 4557 0010 1882 st Y,__zero_reg__
4512 4560 /* epilogue start */
4514 4562 0012 DF91 pop r29
4515 4563 0014 CF91 pop r28
4519 4568 .section .text.chk_mounted,"ax",@progbits
4520 4569 .global chk_mounted
4525 4575 0000 6F92 push r6
4526 4576 0002 7F92 push r7
4527 4577 0004 8F92 push r8
4528 4578 0006 9F92 push r9
4529 4579 0008 AF92 push r10
4530 4580 000a BF92 push r11
4531 4581 000c CF92 push r12
4532 4582 000e DF92 push r13
4533 4583 0010 EF92 push r14
4534 4584 0012 FF92 push r15
4535 4585 0014 0F93 push r16
4536 4586 0016 1F93 push r17
4537 4587 0018 CF93 push r28
4538 4588 001a DF93 push r29
4539 4589 /* prologue: function */
4540 4590 /* frame size = 0 */
4541 4591 001c DC01 movw r26,r24
4542 4592 001e 142F mov r17,r20
4544 4594 0020 ED91 ld r30,X+
4545 4595 0022 FC91 ld r31,X
4546 4596 0024 1197 sbiw r26,1
4549 4599 0026 8081 ld r24,Z
4551 4601 0028 282F mov r18,r24
4553 4603 002a 30E0 ldi r19,lo8(0)
4555 4605 002c 2053 subi r18,lo8(-(-48))
4556 4606 002e 3040 sbci r19,hi8(-(-48))
4559 4609 0030 2A30 cpi r18,10
4560 4610 0032 3105 cpc r19,__zero_reg__
4561 4611 0034 00F4 brsh .L240
4563 4613 0036 8181 ldd r24,Z+1
4564 4614 0038 8A33 cpi r24,lo8(58)
4565 4615 003a 01F4 brne .L240
4567 4617 003c 3296 adiw r30,2
4568 4618 003e ED93 st X+,r30
4569 4619 0040 FC93 st X,r31
4571 4621 0042 232B or r18,r19
4572 4622 0044 01F0 breq .L240
4573 4623 0046 8BE0 ldi r24,lo8(11)
4574 4624 0048 00C0 rjmp .L241
4577 4627 004a C091 0000 lds r28,FatFs
4578 4628 004e D091 0000 lds r29,(FatFs)+1
4580 4630 0052 FB01 movw r30,r22
4582 4632 0054 D183 std Z+1,r29
4583 4633 0056 C083 st Z,r28
4585 4635 0058 2097 sbiw r28,0
4586 4636 005a 01F4 brne .L242
4587 4637 005c 8CE0 ldi r24,lo8(12)
4588 4638 005e 00C0 rjmp .L241
4591 4641 0060 8881 ld r24,Y
4592 4642 0062 8823 tst r24
4593 4643 0064 01F0 breq .L243
4595 4645 0066 8981 ldd r24,Y+1
4596 4646 0068 0E94 0000 call disk_status
4599 4649 006c 80FD sbrc r24,0
4600 4650 006e 00C0 rjmp .L243
4602 4652 0070 1123 tst r17
4603 4653 0072 01F4 brne .+2
4604 4654 0074 00C0 rjmp .L244
4605 4655 0076 82FD sbrc r24,2
4606 4656 0078 00C0 rjmp .L245
4607 4657 007a 00C0 rjmp .L244
4611 4661 007c 1882 st Y,__zero_reg__
4613 4663 007e 1982 std Y+1,__zero_reg__
4615 4665 0080 80E0 ldi r24,lo8(0)
4616 4666 0082 0E94 0000 call disk_initialize
4619 4669 0086 80FF sbrs r24,0
4620 4670 0088 00C0 rjmp .L246
4621 4671 008a 83E0 ldi r24,lo8(3)
4622 4672 008c 00C0 rjmp .L241
4625 4675 008e 1123 tst r17
4626 4676 0090 01F0 breq .L247
4627 4677 0092 82FD sbrc r24,2
4628 4678 0094 00C0 rjmp .L245
4631 4681 0096 CE01 movw r24,r28
4632 4682 0098 40E0 ldi r20,lo8(0)
4633 4683 009a 50E0 ldi r21,hi8(0)
4634 4684 009c 60E0 ldi r22,hlo8(0)
4635 4685 009e 70E0 ldi r23,hhi8(0)
4636 4686 00a0 0E94 0000 call check_fs
4638 4688 00a4 8130 cpi r24,lo8(1)
4640 4690 00a6 01F0 breq .L248
4641 4691 00a8 6624 clr r6
4642 4692 00aa 7724 clr r7
4643 4693 00ac 4301 movw r8,r6
4645 4695 00ae 00C0 rjmp .L249
4649 4699 00b0 FE01 movw r30,r28
4651 4701 00b2 E451 subi r30,lo8(-(492))
4652 4702 00b4 FE4F sbci r31,hi8(-(492))
4654 4704 00b6 8481 ldd r24,Z+4
4656 4706 00b8 8823 tst r24
4657 4707 00ba 01F4 brne .+2
4658 4708 00bc 00C0 rjmp .L250
4660 4710 00be 6084 ldd r6,Z+8
4661 4711 00c0 7184 ldd r7,Z+9
4662 4712 00c2 8284 ldd r8,Z+10
4663 4713 00c4 9384 ldd r9,Z+11
4666 4716 00c6 CE01 movw r24,r28
4667 4717 00c8 B401 movw r22,r8
4668 4718 00ca A301 movw r20,r6
4669 4719 00cc 0E94 0000 call check_fs
4673 4723 00d0 8330 cpi r24,lo8(3)
4674 4724 00d2 01F4 brne .L251
4675 4725 00d4 81E0 ldi r24,lo8(1)
4677 4727 00d6 00C0 rjmp .L241
4681 4731 00d8 8823 tst r24
4682 4732 00da 01F0 breq .+2
4683 4733 00dc 00C0 rjmp .L250
4684 4734 00de 89AD ldd r24,Y+57
4685 4735 00e0 9AAD ldd r25,Y+58
4687 4737 00e2 8050 subi r24,lo8(512)
4688 4738 00e4 9240 sbci r25,hi8(512)
4689 4739 00e6 01F0 breq .+2
4690 4740 00e8 00C0 rjmp .L250
4692 4742 00ea CC5B subi r28,lo8(-(68))
4693 4743 00ec DF4F sbci r29,hi8(-(68))
4694 4744 00ee 8881 ld r24,Y
4695 4745 00f0 9981 ldd r25,Y+1
4696 4746 00f2 C454 subi r28,lo8(-(-68))
4697 4747 00f4 D040 sbci r29,hi8(-(-68))
4698 4748 00f6 BC01 movw r22,r24
4700 4750 00f8 80E0 ldi r24,lo8(0)
4701 4751 00fa 90E0 ldi r25,hi8(0)
4704 4754 00fc 6115 cp r22,__zero_reg__
4705 4755 00fe 7105 cpc r23,__zero_reg__
4706 4756 0100 8105 cpc r24,__zero_reg__
4707 4757 0102 9105 cpc r25,__zero_reg__
4708 4758 0104 01F4 brne .L252
4709 4759 0106 CE5A subi r28,lo8(-(82))
4710 4760 0108 DF4F sbci r29,hi8(-(82))
4711 4761 010a 6881 ld r22,Y
4712 4762 010c 7981 ldd r23,Y+1
4713 4763 010e 8A81 ldd r24,Y+2
4714 4764 0110 9B81 ldd r25,Y+3
4716 4766 0112 C255 subi r28,lo8(-(-82))
4717 4767 0114 D040 sbci r29,hi8(-(-82))
4720 4770 0116 6E8B std Y+22,r22
4721 4771 0118 7F8B std Y+23,r23
4722 4772 011a 888F std Y+24,r24
4723 4773 011c 998F std Y+25,r25
4725 4775 011e 2EAD ldd r18,Y+62
4726 4776 0120 2B83 std Y+3,r18
4728 4778 0122 30E0 ldi r19,lo8(0)
4729 4779 0124 40E0 ldi r20,lo8(0)
4730 4780 0126 50E0 ldi r21,hi8(0)
4731 4781 0128 0E94 0000 call __mulsi3
4733 4783 012c 5B01 movw r10,r22
4734 4784 012e 6C01 movw r12,r24
4737 4787 0130 8CAD ldd r24,Y+60
4738 4788 0132 9DAD ldd r25,Y+61
4740 4790 0134 A0E0 ldi r26,lo8(0)
4741 4791 0136 B0E0 ldi r27,hi8(0)
4742 4792 0138 860D add r24,r6
4743 4793 013a 971D adc r25,r7
4744 4794 013c A81D adc r26,r8
4745 4795 013e B91D adc r27,r9
4746 4796 0140 8E8F std Y+30,r24
4747 4797 0142 9F8F std Y+31,r25
4748 4798 0144 A8A3 std Y+32,r26
4749 4799 0146 B9A3 std Y+33,r27
4751 4801 0148 8BAD ldd r24,Y+59
4752 4802 014a 8A83 std Y+2,r24
4754 4804 014c EF96 adiw r28,63
4755 4805 014e 2881 ld r18,Y
4756 4806 0150 3981 ldd r19,Y+1
4757 4807 0152 EF97 sbiw r28,63
4758 4808 0154 3987 std Y+9,r19
4759 4809 0156 2887 std Y+8,r18
4761 4811 0158 CF5B subi r28,lo8(-(65))
4762 4812 015a DF4F sbci r29,hi8(-(65))
4763 4813 015c 8881 ld r24,Y
4764 4814 015e 9981 ldd r25,Y+1
4765 4815 0160 C154 subi r28,lo8(-(-65))
4766 4816 0162 D040 sbci r29,hi8(-(-65))
4767 4817 0164 7C01 movw r14,r24
4769 4819 0166 00E0 ldi r16,lo8(0)
4770 4820 0168 10E0 ldi r17,hi8(0)
4773 4823 016a E114 cp r14,__zero_reg__
4774 4824 016c F104 cpc r15,__zero_reg__
4775 4825 016e 0105 cpc r16,__zero_reg__
4776 4826 0170 1105 cpc r17,__zero_reg__
4777 4827 0172 01F4 brne .L253
4778 4828 0174 C25B subi r28,lo8(-(78))
4779 4829 0176 DF4F sbci r29,hi8(-(78))
4780 4830 0178 E880 ld r14,Y
4781 4831 017a F980 ldd r15,Y+1
4782 4832 017c 0A81 ldd r16,Y+2
4783 4833 017e 1B81 ldd r17,Y+3
4785 4835 0180 CE54 subi r28,lo8(-(-78))
4786 4836 0182 D040 sbci r29,hi8(-(-78))
4789 4839 0184 8CAD ldd r24,Y+60
4790 4840 0186 9DAD ldd r25,Y+61
4791 4841 0188 A0E0 ldi r26,lo8(0)
4792 4842 018a B0E0 ldi r27,hi8(0)
4793 4843 018c E81A sub r14,r24
4794 4844 018e F90A sbc r15,r25
4795 4845 0190 0A0B sbc r16,r26
4796 4846 0192 1B0B sbc r17,r27
4798 4848 0194 EA18 sub r14,r10
4799 4849 0196 FB08 sbc r15,r11
4800 4850 0198 0C09 sbc r16,r12
4801 4851 019a 1D09 sbc r17,r13
4802 4852 019c 74E0 ldi r23,4
4803 4853 019e 3695 1: lsr r19
4804 4854 01a0 2795 ror r18
4805 4855 01a2 7A95 dec r23
4806 4856 01a4 01F4 brne 1b
4807 4857 01a6 C901 movw r24,r18
4808 4858 01a8 A0E0 ldi r26,lo8(0)
4809 4859 01aa B0E0 ldi r27,hi8(0)
4810 4860 01ac E81A sub r14,r24
4811 4861 01ae F90A sbc r15,r25
4812 4862 01b0 0A0B sbc r16,r26
4813 4863 01b2 1B0B sbc r17,r27
4814 4864 01b4 2A81 ldd r18,Y+2
4815 4865 01b6 30E0 ldi r19,lo8(0)
4816 4866 01b8 40E0 ldi r20,lo8(0)
4817 4867 01ba 50E0 ldi r21,hi8(0)
4818 4868 01bc C801 movw r24,r16
4819 4869 01be B701 movw r22,r14
4820 4870 01c0 0E94 0000 call __udivmodsi4
4821 4871 01c4 2E5F subi r18,lo8(-(2))
4822 4872 01c6 3F4F sbci r19,hi8(-(2))
4823 4873 01c8 4F4F sbci r20,hlo8(-(2))
4824 4874 01ca 5F4F sbci r21,hhi8(-(2))
4826 4876 01cc 2A8F std Y+26,r18
4827 4877 01ce 3B8F std Y+27,r19
4828 4878 01d0 4C8F std Y+28,r20
4829 4879 01d2 5D8F std Y+29,r21
4831 4881 01d4 273F cpi r18,lo8(4087)
4832 4882 01d6 8FE0 ldi r24,hi8(4087)
4833 4883 01d8 3807 cpc r19,r24
4834 4884 01da 80E0 ldi r24,hlo8(4087)
4835 4885 01dc 4807 cpc r20,r24
4836 4886 01de 80E0 ldi r24,hhi8(4087)
4837 4887 01e0 5807 cpc r21,r24
4838 4888 01e2 00F4 brsh .L254
4839 4889 01e4 11E0 ldi r17,lo8(1)
4841 4891 01e6 00C0 rjmp .L255
4845 4895 01e8 275F subi r18,lo8(65527)
4846 4896 01ea 3F4F sbci r19,hi8(65527)
4847 4897 01ec 4040 sbci r20,hlo8(65527)
4848 4898 01ee 5040 sbci r21,hhi8(65527)
4849 4899 01f0 00F0 brlo .+2
4850 4900 01f2 00C0 rjmp .L256
4851 4901 01f4 12E0 ldi r17,lo8(2)
4855 4905 01f6 8E8D ldd r24,Y+30
4856 4906 01f8 9F8D ldd r25,Y+31
4857 4907 01fa A8A1 ldd r26,Y+32
4858 4908 01fc B9A1 ldd r27,Y+33
4859 4909 01fe 8A0D add r24,r10
4860 4910 0200 9B1D adc r25,r11
4861 4911 0202 AC1D adc r26,r12
4862 4912 0204 BD1D adc r27,r13
4863 4913 0206 8AA3 std Y+34,r24
4864 4914 0208 9BA3 std Y+35,r25
4865 4915 020a ACA3 std Y+36,r26
4866 4916 020c BDA3 std Y+37,r27
4869 4919 020e 8885 ldd r24,Y+8
4870 4920 0210 9985 ldd r25,Y+9
4871 4921 0212 64E0 ldi r22,4
4872 4922 0214 9695 1: lsr r25
4873 4923 0216 8795 ror r24
4874 4924 0218 6A95 dec r22
4875 4925 021a 01F4 brne 1b
4876 4926 021c A0E0 ldi r26,lo8(0)
4877 4927 021e B0E0 ldi r27,hi8(0)
4878 4928 0220 2E8D ldd r18,Y+30
4879 4929 0222 3F8D ldd r19,Y+31
4880 4930 0224 48A1 ldd r20,Y+32
4881 4931 0226 59A1 ldd r21,Y+33
4883 4933 0228 820F add r24,r18
4884 4934 022a 931F adc r25,r19
4885 4935 022c A41F adc r26,r20
4886 4936 022e B51F adc r27,r21
4887 4937 0230 8A0D add r24,r10
4888 4938 0232 9B1D adc r25,r11
4889 4939 0234 AC1D adc r26,r12
4890 4940 0236 BD1D adc r27,r13
4891 4941 0238 8EA3 std Y+38,r24
4892 4942 023a 9FA3 std Y+39,r25
4893 4943 023c A8A7 std Y+40,r26
4894 4944 023e B9A7 std Y+41,r27
4896 4946 0240 8FEF ldi r24,lo8(-1)
4897 4947 0242 9FEF ldi r25,hi8(-1)
4898 4948 0244 AFEF ldi r26,hlo8(-1)
4899 4949 0246 BFEF ldi r27,hhi8(-1)
4900 4950 0248 8E87 std Y+14,r24
4901 4951 024a 9F87 std Y+15,r25
4902 4952 024c A88B std Y+16,r26
4903 4953 024e B98B std Y+17,r27
4905 4955 0250 1C82 std Y+4,__zero_reg__
4907 4957 0252 1330 cpi r17,lo8(3)
4908 4958 0254 01F0 breq .+2
4909 4959 0256 00C0 rjmp .L257
4911 4961 0258 1D82 std Y+5,__zero_reg__
4913 4963 025a C25A subi r28,lo8(-(94))
4914 4964 025c DF4F sbci r29,hi8(-(94))
4915 4965 025e 2881 ld r18,Y
4916 4966 0260 3981 ldd r19,Y+1
4917 4967 0262 CE55 subi r28,lo8(-(-94))
4918 4968 0264 D040 sbci r29,hi8(-(-94))
4919 4969 0266 40E0 ldi r20,lo8(0)
4920 4970 0268 50E0 ldi r21,hi8(0)
4921 4971 026a 260D add r18,r6
4922 4972 026c 371D adc r19,r7
4923 4973 026e 481D adc r20,r8
4924 4974 0270 591D adc r21,r9
4925 4975 0272 2A8B std Y+18,r18
4926 4976 0274 3B8B std Y+19,r19
4927 4977 0276 4C8B std Y+20,r20
4928 4978 0278 5D8B std Y+21,r21
4930 4980 027a BE01 movw r22,r28
4931 4981 027c 625D subi r22,lo8(-(46))
4932 4982 027e 7F4F sbci r23,hi8(-(46))
4933 4983 0280 8981 ldd r24,Y+1
4934 4984 0282 01E0 ldi r16,lo8(1)
4936 4986 0284 0E94 0000 call disk_read
4937 4987 0288 8823 tst r24
4938 4988 028a 01F4 brne .L257
4939 4989 028c C45D subi r28,lo8(-(556))
4940 4990 028e DD4F sbci r29,hi8(-(556))
4941 4991 0290 8881 ld r24,Y
4942 4992 0292 9981 ldd r25,Y+1
4943 4993 0294 CC52 subi r28,lo8(-(-556))
4944 4994 0296 D240 sbci r29,hi8(-(-556))
4945 4995 0298 8555 subi r24,lo8(-21931)
4946 4996 029a 9A4A sbci r25,hi8(-21931)
4947 4997 029c 01F4 brne .L257
4948 4998 029e 8EA5 ldd r24,Y+46
4949 4999 02a0 9FA5 ldd r25,Y+47
4950 5000 02a2 A8A9 ldd r26,Y+48
4951 5001 02a4 B9A9 ldd r27,Y+49
4952 5002 02a6 8255 subi r24,lo8(1096897106)
4953 5003 02a8 9245 sbci r25,hi8(1096897106)
4954 5004 02aa A146 sbci r26,hlo8(1096897106)
4955 5005 02ac B144 sbci r27,hhi8(1096897106)
4956 5006 02ae 01F4 brne .L257
4957 5007 02b0 CE5E subi r28,lo8(-(530))
4958 5008 02b2 DD4F sbci r29,hi8(-(530))
4959 5009 02b4 8881 ld r24,Y
4960 5010 02b6 9981 ldd r25,Y+1
4961 5011 02b8 AA81 ldd r26,Y+2
4962 5012 02ba BB81 ldd r27,Y+3
4963 5013 02bc C251 subi r28,lo8(-(-530))
4964 5014 02be D240 sbci r29,hi8(-(-530))
4965 5015 02c0 8257 subi r24,lo8(1631679090)
4966 5016 02c2 9247 sbci r25,hi8(1631679090)
4967 5017 02c4 A144 sbci r26,hlo8(1631679090)
4968 5018 02c6 B146 sbci r27,hhi8(1631679090)
4969 5019 02c8 01F4 brne .L257
4971 5021 02ca C65E subi r28,lo8(-(538))
4972 5022 02cc DD4F sbci r29,hi8(-(538))
4973 5023 02ce 8881 ld r24,Y
4974 5024 02d0 9981 ldd r25,Y+1
4975 5025 02d2 AA81 ldd r26,Y+2
4976 5026 02d4 BB81 ldd r27,Y+3
4977 5027 02d6 CA51 subi r28,lo8(-(-538))
4978 5028 02d8 D240 sbci r29,hi8(-(-538))
4979 5029 02da 8A87 std Y+10,r24
4980 5030 02dc 9B87 std Y+11,r25
4981 5031 02de AC87 std Y+12,r26
4982 5032 02e0 BD87 std Y+13,r27
4984 5034 02e2 CA5E subi r28,lo8(-(534))
4985 5035 02e4 DD4F sbci r29,hi8(-(534))
4986 5036 02e6 8881 ld r24,Y
4987 5037 02e8 9981 ldd r25,Y+1
4988 5038 02ea AA81 ldd r26,Y+2
4989 5039 02ec BB81 ldd r27,Y+3
4990 5040 02ee C651 subi r28,lo8(-(-534))
4991 5041 02f0 D240 sbci r29,hi8(-(-534))
4992 5042 02f2 8E87 std Y+14,r24
4993 5043 02f4 9F87 std Y+15,r25
4994 5044 02f6 A88B std Y+16,r26
4995 5045 02f8 B98B std Y+17,r27
4999 5049 02fa 1883 st Y,r17
5001 5051 02fc 1AA6 std Y+42,__zero_reg__
5002 5052 02fe 1BA6 std Y+43,__zero_reg__
5003 5053 0300 1CA6 std Y+44,__zero_reg__
5004 5054 0302 1DA6 std Y+45,__zero_reg__
5006 5056 0304 8091 0000 lds r24,Fsid
5007 5057 0308 9091 0000 lds r25,(Fsid)+1
5008 5058 030c 0196 adiw r24,1
5009 5059 030e 9093 0000 sts (Fsid)+1,r25
5010 5060 0312 8093 0000 sts Fsid,r24
5011 5061 0316 9F83 std Y+7,r25
5012 5062 0318 8E83 std Y+6,r24
5013 5063 031a 00C0 rjmp .L244
5017 5067 031c 8AE0 ldi r24,lo8(10)
5018 5068 031e 00C0 rjmp .L241
5021 5071 0320 80E0 ldi r24,lo8(0)
5022 5072 0322 00C0 rjmp .L241
5025 5075 0324 8DE0 ldi r24,lo8(13)
5028 5078 /* epilogue start */
5030 5080 0326 DF91 pop r29
5031 5081 0328 CF91 pop r28
5033 5083 032a 1F91 pop r17
5035 5085 032c 0F91 pop r16
5037 5087 032e FF90 pop r15
5038 5088 0330 EF90 pop r14
5040 5090 0332 DF90 pop r13
5041 5091 0334 CF90 pop r12
5042 5092 0336 BF90 pop r11
5043 5093 0338 AF90 pop r10
5045 5095 033a 9F90 pop r9
5046 5096 033c 8F90 pop r8
5047 5097 033e 7F90 pop r7
5048 5098 0340 6F90 pop r6
5054 5104 0344 C65A subi r28,lo8(-(90))
5055 5105 0346 DF4F sbci r29,hi8(-(90))
5056 5106 0348 8881 ld r24,Y
5057 5107 034a 9981 ldd r25,Y+1
5058 5108 034c AA81 ldd r26,Y+2
5059 5109 034e BB81 ldd r27,Y+3
5060 5110 0350 CA55 subi r28,lo8(-(-90))
5061 5111 0352 D040 sbci r29,hi8(-(-90))
5062 5112 0354 8AA3 std Y+34,r24
5063 5113 0356 9BA3 std Y+35,r25
5064 5114 0358 ACA3 std Y+36,r26
5065 5115 035a BDA3 std Y+37,r27
5066 5116 035c 13E0 ldi r17,lo8(3)
5068 5118 035e 00C0 rjmp .L258
5072 5123 0000 2022 2A2B .string " \"*+,[=]|\177"
5075 5124 .section .text.f_open,"ax",@progbits
5081 5131 0000 2F92 push r2
5082 5132 0002 3F92 push r3
5083 5133 0004 4F92 push r4
5084 5134 0006 5F92 push r5
5085 5135 0008 6F92 push r6
5086 5136 000a 7F92 push r7
5087 5137 000c 8F92 push r8
5088 5138 000e 9F92 push r9
5089 5139 0010 AF92 push r10
5090 5140 0012 BF92 push r11
5091 5141 0014 CF92 push r12
5092 5142 0016 DF92 push r13
5093 5143 0018 EF92 push r14
5094 5144 001a FF92 push r15
5095 5145 001c 0F93 push r16
5096 5146 001e 1F93 push r17
5097 5147 0020 DF93 push r29
5098 5148 0022 CF93 push r28
5099 5149 0024 CDB7 in r28,__SP_L__
5100 5150 0026 DEB7 in r29,__SP_H__
5101 5151 0028 AD97 sbiw r28,45
5102 5152 002a 0FB6 in __tmp_reg__,__SREG__
5104 5154 002e DEBF out __SP_H__,r29
5105 5155 0030 0FBE out __SREG__,__tmp_reg__
5106 5156 0032 CDBF out __SP_L__,r28
5107 5157 /* prologue: function */
5108 5158 /* frame size = 45 */
5109 5159 0034 9DA7 std Y+45,r25
5110 5160 0036 8CA7 std Y+44,r24
5111 5161 0038 7CA3 std Y+36,r23
5112 5162 003a 6BA3 std Y+35,r22
5114 5164 003c DC01 movw r26,r24
5115 5165 003e 1D92 st X+,__zero_reg__
5116 5166 0040 1C92 st X,__zero_reg__
5118 5168 0042 B42F mov r27,r20
5119 5169 0044 BF71 andi r27,lo8(31)
5120 5170 0046 BDA3 std Y+37,r27
5123 5173 0048 4E71 andi r20,lo8(30)
5125 5175 004a CE01 movw r24,r28
5127 5177 004c 8396 adiw r24,35
5128 5178 004e BE01 movw r22,r28
5130 5180 0050 635F subi r22,lo8(-(13))
5131 5181 0052 7F4F sbci r23,hi8(-(13))
5132 5182 0054 0E94 0000 call chk_mounted
5135 5185 0058 8823 tst r24
5137 5187 005a 01F0 breq .L261
5138 5188 005c 282F mov r18,r24
5139 5189 005e 00C0 rjmp .L262
5143 5193 0060 CE01 movw r24,r28
5145 5195 0062 0196 adiw r24,1
5146 5196 0064 9AA3 std Y+34,r25
5147 5197 0066 89A3 std Y+33,r24
5149 5199 0068 EBA0 ldd r14,Y+35
5150 5200 006a FCA0 ldd r15,Y+36
5152 5202 006c 00C0 rjmp .L263
5158 5208 0070 E11C adc r14,__zero_reg__
5159 5209 0072 F11C adc r15,__zero_reg__
5161 5211 0074 F701 movw r30,r14
5162 5212 0076 8081 ld r24,Z
5163 5213 0078 8032 cpi r24,lo8(32)
5164 5214 007a 01F0 breq .L264
5166 5216 007c 8F32 cpi r24,lo8(47)
5167 5217 007e 01F0 breq .L265
5168 5218 0080 8C35 cpi r24,lo8(92)
5169 5219 0082 01F4 brne .L266
5173 5223 0086 E11C adc r14,__zero_reg__
5174 5224 0088 F11C adc r15,__zero_reg__
5177 5227 008a 1B8A std Y+19,__zero_reg__
5178 5228 008c 1C8A std Y+20,__zero_reg__
5179 5229 008e 1D8A std Y+21,__zero_reg__
5180 5230 0090 1E8A std Y+22,__zero_reg__
5182 5232 0092 D701 movw r26,r14
5183 5233 0094 8C91 ld r24,X
5184 5234 0096 8032 cpi r24,lo8(32)
5185 5235 0098 00F4 brsh .L267
5188 5238 009a CE01 movw r24,r28
5189 5239 009c 0D96 adiw r24,13
5190 5240 009e 60E0 ldi r22,lo8(0)
5191 5241 00a0 70E0 ldi r23,hi8(0)
5192 5242 00a2 0E94 0000 call dir_seek
5193 5243 00a6 282F mov r18,r24
5197 5247 00a8 18A2 std Y+32,__zero_reg__
5198 5248 00aa 1F8E std Y+31,__zero_reg__
5199 5249 00ac 00C0 rjmp .L268
5205 5255 00ae 35E0 ldi r19,lo8(5)
5206 5256 00b0 732E mov r7,r19
5211 5261 00b2 2DE0 ldi r18,lo8(13)
5212 5262 00b4 822E mov r8,r18
5213 5263 00b6 912C mov r9,__zero_reg__
5214 5264 00b8 8C0E add r8,r28
5215 5265 00ba 9D1E adc r9,r29
5222 5272 00bc 09A1 ldd r16,Y+33
5223 5273 00be 1AA1 ldd r17,Y+34
5225 5275 00c0 C801 movw r24,r16
5226 5276 00c2 60E2 ldi r22,lo8(32)
5227 5277 00c4 70E0 ldi r23,hi8(32)
5228 5278 00c6 4BE0 ldi r20,lo8(11)
5229 5279 00c8 50E0 ldi r21,hi8(11)
5230 5280 00ca 0E94 0000 call mem_set
5232 5282 00ce 40E0 ldi r20,lo8(0)
5233 5283 00d0 50E0 ldi r21,hi8(0)
5235 5285 00d2 CC24 clr r12
5236 5286 00d4 DD24 clr r13
5237 5287 00d6 98E0 ldi r25,lo8(8)
5238 5288 00d8 A92E mov r10,r25
5239 5289 00da B12C mov r11,__zero_reg__
5240 5290 00dc A0E0 ldi r26,lo8(0)
5244 5294 00de F701 movw r30,r14
5245 5295 00e0 EC0D add r30,r12
5246 5296 00e2 FD1D adc r31,r13
5247 5297 00e4 2081 ld r18,Z
5249 5299 00e8 C11C adc r12,__zero_reg__
5250 5300 00ea D11C adc r13,__zero_reg__
5252 5302 00ec 2132 cpi r18,lo8(33)
5253 5303 00ee 00F4 brsh .+2
5254 5304 00f0 00C0 rjmp .L269
5255 5305 00f2 2F32 cpi r18,lo8(47)
5256 5306 00f4 01F4 brne .+2
5257 5307 00f6 00C0 rjmp .L270
5258 5308 00f8 2C35 cpi r18,lo8(92)
5259 5309 00fa 01F4 brne .+2
5260 5310 00fc 00C0 rjmp .L270
5262 5312 00fe 2E32 cpi r18,lo8(46)
5263 5313 0100 01F0 breq .L271
5264 5314 0102 4A15 cp r20,r10
5265 5315 0104 5B05 cpc r21,r11
5266 5316 0106 04F0 brlt .L272
5269 5319 0108 B8E0 ldi r27,lo8(8)
5270 5320 010a AB16 cp r10,r27
5271 5321 010c B104 cpc r11,__zero_reg__
5272 5322 010e 01F0 breq .+2
5273 5323 0110 00C0 rjmp .L273
5274 5324 0112 2E32 cpi r18,lo8(46)
5275 5325 0114 01F0 breq .+2
5276 5326 0116 00C0 rjmp .L273
5278 5328 0118 AA0F lsl r26
5279 5329 011a AA0F lsl r26
5280 5330 011c 48E0 ldi r20,lo8(8)
5281 5331 011e 50E0 ldi r21,hi8(8)
5282 5332 0120 8BE0 ldi r24,lo8(11)
5283 5333 0122 A82E mov r10,r24
5284 5334 0124 B12C mov r11,__zero_reg__
5285 5335 0126 00C0 rjmp .L319
5288 5338 0128 27FD sbrc r18,7
5290 5340 012a A360 ori r26,lo8(3)
5293 5343 012c 822F mov r24,r18
5294 5344 012e 8158 subi r24,lo8(-(127))
5295 5345 0130 8F31 cpi r24,lo8(31)
5296 5346 0132 00F0 brlo .L276
5297 5347 0134 8F55 subi r24,lo8(-(-95))
5298 5348 0136 8D31 cpi r24,lo8(29)
5299 5349 0138 00F4 brsh .L277
5302 5352 013a F701 movw r30,r14
5303 5353 013c EC0D add r30,r12
5304 5354 013e FD1D adc r31,r13
5305 5355 0140 3081 ld r19,Z
5307 5357 0142 832F mov r24,r19
5308 5358 0144 8054 subi r24,lo8(-(-64))
5309 5359 0146 8F33 cpi r24,lo8(63)
5310 5360 0148 00F0 brlo .L278
5311 5361 014a 8054 subi r24,lo8(-(-64))
5312 5362 014c 8D37 cpi r24,lo8(125)
5313 5363 014e 00F0 brlo .+2
5314 5364 0150 00C0 rjmp .L273
5316 5366 0152 C501 movw r24,r10
5317 5367 0154 0197 sbiw r24,1
5318 5368 0156 4817 cp r20,r24
5319 5369 0158 5907 cpc r21,r25
5320 5370 015a 04F0 brlt .+2
5321 5371 015c 00C0 rjmp .L273
5324 5374 0160 C11C adc r12,__zero_reg__
5325 5375 0162 D11C adc r13,__zero_reg__
5327 5377 0164 F801 movw r30,r16
5328 5378 0166 E40F add r30,r20
5329 5379 0168 F51F adc r31,r21
5330 5380 016a 2083 st Z,r18
5331 5381 016c CA01 movw r24,r20
5332 5382 016e 0196 adiw r24,1
5335 5385 0170 F801 movw r30,r16
5336 5386 0172 E80F add r30,r24
5337 5387 0174 F91F adc r31,r25
5338 5388 0176 3083 st Z,r19
5339 5389 0178 AC01 movw r20,r24
5340 5390 017a 00C0 rjmp .L321
5344 5394 017c 622F mov r22,r18
5345 5395 017e 70E0 ldi r23,lo8(0)
5346 5396 0180 E0E0 ldi r30,lo8(.LC0)
5347 5397 0182 F0E0 ldi r31,hi8(.LC0)
5349 5399 0184 00C0 rjmp .L279
5354 5404 0186 3196 adiw r30,1
5356 5406 0188 8081 ld r24,Z
5357 5407 018a 8823 tst r24
5358 5408 018c 01F0 breq .L280
5359 5409 018e 90E0 ldi r25,lo8(0)
5360 5410 0190 8617 cp r24,r22
5361 5411 0192 9707 cpc r25,r23
5362 5412 0194 01F4 brne .L281
5363 5413 0196 00C0 rjmp .L273
5368 5418 0198 822F mov r24,r18
5369 5419 019a 8154 subi r24,lo8(-(-65))
5370 5420 019c 8A31 cpi r24,lo8(26)
5371 5421 019e 00F4 brsh .L282
5373 5423 01a0 A260 ori r26,lo8(2)
5374 5424 01a2 00C0 rjmp .L283
5377 5427 01a4 822F mov r24,r18
5378 5428 01a6 8156 subi r24,lo8(-(-97))
5379 5429 01a8 8A31 cpi r24,lo8(26)
5380 5430 01aa 00F4 brsh .L283
5382 5432 01ac A160 ori r26,lo8(1)
5383 5433 01ae 2052 subi r18,lo8(-(-32))
5386 5436 01b0 F801 movw r30,r16
5388 5438 01b2 E40F add r30,r20
5389 5439 01b4 F51F adc r31,r21
5390 5440 01b6 2083 st Z,r18
5393 5443 01b8 4F5F subi r20,lo8(-(1))
5394 5444 01ba 5F4F sbci r21,hi8(-(1))
5395 5445 01bc 00C0 rjmp .L319
5397 5447 01be 9A2F mov r25,r26
5398 5448 01c0 64E0 ldi r22,lo8(4)
5402 5452 01c2 452B or r20,r21
5403 5453 01c4 01F4 brne .+2
5404 5454 01c6 00C0 rjmp .L273
5406 5456 01c8 F801 movw r30,r16
5407 5457 01ca 8081 ld r24,Z
5408 5458 01cc 853E cpi r24,lo8(-27)
5409 5459 01ce 01F4 brne .L284
5410 5460 01d0 7082 st Z,r7
5413 5463 01d2 F8E0 ldi r31,lo8(8)
5414 5464 01d4 AF16 cp r10,r31
5415 5465 01d6 B104 cpc r11,__zero_reg__
5416 5466 01d8 01F4 brne .L285
5417 5467 01da 9A2F mov r25,r26
5418 5468 01dc 990F lsl r25
5419 5469 01de 990F lsl r25
5423 5473 01e0 292F mov r18,r25
5424 5474 01e2 30E0 ldi r19,lo8(0)
5426 5476 01e4 C901 movw r24,r18
5427 5477 01e6 8370 andi r24,lo8(3)
5428 5478 01e8 9070 andi r25,hi8(3)
5429 5479 01ea 0197 sbiw r24,1
5430 5480 01ec 01F4 brne .L286
5431 5481 01ee 6061 ori r22,lo8(16)
5434 5484 01f0 2C70 andi r18,lo8(12)
5435 5485 01f2 3070 andi r19,hi8(12)
5436 5486 01f4 2430 cpi r18,4
5437 5487 01f6 3105 cpc r19,__zero_reg__
5438 5488 01f8 01F4 brne .L287
5439 5489 01fa 6860 ori r22,lo8(8)
5442 5492 01fc D801 movw r26,r16
5443 5493 01fe 1B96 adiw r26,11
5444 5494 0200 6C93 st X,r22
5449 5499 0202 C401 movw r24,r8
5450 5500 0204 60E0 ldi r22,lo8(0)
5451 5501 0206 70E0 ldi r23,hi8(0)
5453 5503 0208 0E94 0000 call dir_seek
5456 5506 020c 482F mov r20,r24
5460 5510 020e 8823 tst r24
5461 5511 0210 01F4 brne .L288
5465 5515 0212 4B8D ldd r20,Y+27
5466 5516 0214 5C8D ldd r21,Y+28
5467 5517 0216 6D8D ldd r22,Y+29
5468 5518 0218 7E8D ldd r23,Y+30
5469 5519 021a 8D85 ldd r24,Y+13
5470 5520 021c 9E85 ldd r25,Y+14
5472 5522 021e 0E94 0000 call move_window
5473 5523 0222 482F mov r20,r24
5477 5527 0224 8823 tst r24
5478 5528 0226 01F4 brne .L288
5481 5531 0228 EF8D ldd r30,Y+31
5482 5532 022a F8A1 ldd r31,Y+32
5485 5535 022c 8081 ld r24,Z
5487 5537 022e 8823 tst r24
5488 5538 0230 01F4 brne .L289
5489 5539 0232 44E0 ldi r20,lo8(4)
5490 5540 0234 00C0 rjmp .L288
5493 5543 0236 8385 ldd r24,Z+11
5494 5544 0238 83FD sbrc r24,3
5495 5545 023a 00C0 rjmp .L290
5496 5546 023c 89A1 ldd r24,Y+33
5498 5548 023e 9AA1 ldd r25,Y+34
5500 5550 0240 9C01 movw r18,r24
5502 5552 0242 D901 movw r26,r18
5504 5554 0244 2BE0 ldi r18,lo8(11)
5505 5555 0246 30E0 ldi r19,hi8(11)
5511 5561 0248 2150 subi r18,lo8(-(-1))
5512 5562 024a 3040 sbci r19,hi8(-(-1))
5513 5563 024c 8FEF ldi r24,hi8(-1)
5514 5564 024e 2F3F cpi r18,lo8(-1)
5515 5565 0250 3807 cpc r19,r24
5516 5566 0252 01F0 breq .L288
5517 5567 0254 9081 ld r25,Z
5519 5569 0256 8C91 ld r24,X
5520 5570 0258 9817 cp r25,r24
5521 5571 025a 01F4 brne .L290
5522 5572 025c 3196 adiw r30,1
5524 5574 025e 1196 adiw r26,1
5525 5575 0260 00C0 rjmp .L291
5532 5582 0262 C401 movw r24,r8
5533 5583 0264 60E0 ldi r22,lo8(0)
5534 5584 0266 0E94 0000 call dir_next
5536 5586 026a 00C0 rjmp .L322
5541 5591 026c E9A1 ldd r30,Y+33
5542 5592 026e FAA1 ldd r31,Y+34
5544 5594 0270 8385 ldd r24,Z+11
5546 5596 0272 8470 andi r24,lo8(4)
5548 5598 0274 4423 tst r20
5549 5599 0276 01F0 breq .L293
5550 5600 0278 242F mov r18,r20
5553 5603 027a 4430 cpi r20,lo8(4)
5554 5604 027c 01F4 brne .L294
5555 5605 027e 8823 tst r24
5556 5606 0280 01F0 breq .L295
5557 5607 0282 00C0 rjmp .L268
5561 5611 0284 8823 tst r24
5562 5612 0286 01F4 brne .L294
5564 5614 0288 EF8D ldd r30,Y+31
5565 5615 028a F8A1 ldd r31,Y+32
5568 5618 028c 8385 ldd r24,Z+11
5570 5620 028e 84FF sbrs r24,4
5571 5621 0290 00C0 rjmp .L295
5575 5625 0292 EC0C add r14,r12
5576 5626 0294 FD1C adc r15,r13
5580 5630 0296 8489 ldd r24,Z+20
5581 5631 0298 9589 ldd r25,Z+21
5582 5632 029a A0E0 ldi r26,lo8(0)
5583 5633 029c B0E0 ldi r27,hi8(0)
5585 5635 029e DC01 movw r26,r24
5586 5636 02a0 9927 clr r25
5587 5637 02a2 8827 clr r24
5588 5638 02a4 228D ldd r18,Z+26
5589 5639 02a6 338D ldd r19,Z+27
5591 5641 02a8 40E0 ldi r20,lo8(0)
5592 5642 02aa 50E0 ldi r21,hi8(0)
5594 5644 02ac 822B or r24,r18
5595 5645 02ae 932B or r25,r19
5596 5646 02b0 A42B or r26,r20
5597 5647 02b2 B52B or r27,r21
5598 5648 02b4 8B8B std Y+19,r24
5599 5649 02b6 9C8B std Y+20,r25
5600 5650 02b8 AD8B std Y+21,r26
5601 5651 02ba BE8B std Y+22,r27
5602 5652 02bc 00C0 rjmp .L320
5605 5655 02be 26E0 ldi r18,lo8(6)
5607 5657 02c0 00C0 rjmp .L268
5610 5660 02c2 242F mov r18,r20
5612 5662 02c4 00C0 rjmp .L268
5615 5665 02c6 25E0 ldi r18,lo8(5)
5621 5671 02c8 9DA1 ldd r25,Y+37
5623 5673 02ca 492F mov r20,r25
5625 5675 02cc 50E0 ldi r21,lo8(0)
5626 5676 02ce CA01 movw r24,r20
5628 5678 02d0 8C71 andi r24,lo8(28)
5629 5679 02d2 9070 andi r25,hi8(28)
5630 5680 02d4 892B or r24,r25
5631 5681 02d6 01F4 brne .+2
5632 5682 02d8 00C0 rjmp .L296
5635 5685 02da 2223 tst r18
5636 5686 02dc 01F4 brne .+2
5637 5687 02de 00C0 rjmp .L297
5639 5689 02e0 2430 cpi r18,lo8(4)
5640 5690 02e2 01F0 breq .+2
5641 5691 02e4 00C0 rjmp .L262
5644 5694 02e6 8E01 movw r16,r28
5646 5696 02e8 035F subi r16,lo8(-(13))
5647 5697 02ea 1F4F sbci r17,hi8(-(13))
5648 5698 02ec C801 movw r24,r16
5649 5699 02ee 60E0 ldi r22,lo8(0)
5650 5700 02f0 70E0 ldi r23,hi8(0)
5652 5702 02f2 0E94 0000 call dir_seek
5654 5704 02f6 282F mov r18,r24
5658 5708 02f8 8823 tst r24
5659 5709 02fa 01F0 breq .+2
5660 5710 02fc 00C0 rjmp .L262
5665 5715 02fe 4B8D ldd r20,Y+27
5666 5716 0300 5C8D ldd r21,Y+28
5667 5717 0302 6D8D ldd r22,Y+29
5668 5718 0304 7E8D ldd r23,Y+30
5669 5719 0306 8D85 ldd r24,Y+13
5670 5720 0308 9E85 ldd r25,Y+14
5672 5722 030a 0E94 0000 call move_window
5674 5724 030e 282F mov r18,r24
5678 5728 0310 8823 tst r24
5679 5729 0312 01F0 breq .+2
5680 5730 0314 00C0 rjmp .L262
5683 5733 0316 EF8D ldd r30,Y+31
5684 5734 0318 F8A1 ldd r31,Y+32
5685 5735 031a E081 ld r30,Z
5688 5738 031c E53E cpi r30,lo8(-27)
5689 5739 031e 01F4 brne .+2
5690 5740 0320 00C0 rjmp .L298
5691 5741 0322 EE23 tst r30
5692 5742 0324 01F4 brne .+2
5693 5743 0326 00C0 rjmp .L298
5696 5746 0328 C801 movw r24,r16
5698 5748 032a 61E0 ldi r22,lo8(1)
5699 5749 032c 0E94 0000 call dir_next
5701 5751 0330 282F mov r18,r24
5705 5755 0332 8823 tst r24
5706 5756 0334 01F0 breq .L315
5708 5758 0336 00C0 rjmp .L262
5711 5761 0338 0F8D ldd r16,Y+31
5712 5762 033a 18A1 ldd r17,Y+32
5715 5765 033c C801 movw r24,r16
5717 5767 033e 60E0 ldi r22,lo8(0)
5718 5768 0340 70E0 ldi r23,hi8(0)
5719 5769 0342 40E2 ldi r20,lo8(32)
5720 5770 0344 50E0 ldi r21,hi8(32)
5721 5771 0346 0E94 0000 call mem_set
5724 5774 034a 69A1 ldd r22,Y+33
5725 5775 034c 7AA1 ldd r23,Y+34
5726 5776 034e C801 movw r24,r16
5727 5777 0350 4BE0 ldi r20,lo8(11)
5728 5778 0352 50E0 ldi r21,hi8(11)
5729 5779 0354 0E94 0000 call mem_cpy
5731 5781 0358 E9A1 ldd r30,Y+33
5732 5782 035a FAA1 ldd r31,Y+34
5733 5783 035c 8385 ldd r24,Z+11
5734 5784 035e 8871 andi r24,lo8(24)
5735 5785 0360 D801 movw r26,r16
5736 5786 0362 1C96 adiw r26,12
5737 5787 0364 8C93 st X,r24
5739 5789 0366 ED85 ldd r30,Y+13
5740 5790 0368 FE85 ldd r31,Y+14
5741 5791 036a 81E0 ldi r24,lo8(1)
5742 5792 036c 8483 std Z+4,r24
5746 5796 036e BDA1 ldd r27,Y+37
5747 5797 0370 B860 ori r27,lo8(8)
5748 5798 0372 BDA3 std Y+37,r27
5751 5801 0374 EF8D ldd r30,Y+31
5752 5802 0376 F8A1 ldd r31,Y+32
5753 5803 0378 FBA7 std Y+43,r31
5754 5804 037a EAA7 std Y+42,r30
5756 5806 037c 00C0 rjmp .L300
5760 5810 037e 42FF sbrs r20,2
5761 5811 0380 00C0 rjmp .L301
5762 5812 0382 28E0 ldi r18,lo8(8)
5763 5813 0384 00C0 rjmp .L262
5766 5816 0386 8F8D ldd r24,Y+31
5767 5817 0388 98A1 ldd r25,Y+32
5768 5818 038a 9BA7 std Y+43,r25
5769 5819 038c 8AA7 std Y+42,r24
5772 5822 038e 0097 sbiw r24,0
5773 5823 0390 01F4 brne .+2
5774 5824 0392 00C0 rjmp .L302
5775 5825 0394 DC01 movw r26,r24
5777 5827 0396 1B96 adiw r26,11
5778 5828 0398 8C91 ld r24,X
5779 5829 039a 1B97 sbiw r26,11
5780 5830 039c 8171 andi r24,lo8(17)
5781 5831 039e 01F0 breq .+2
5782 5832 03a0 00C0 rjmp .L302
5784 5834 03a2 43FF sbrs r20,3
5785 5835 03a4 00C0 rjmp .L300
5787 5837 03a6 5496 adiw r26,20
5788 5838 03a8 8D91 ld r24,X+
5789 5839 03aa 9C91 ld r25,X
5790 5840 03ac 5597 sbiw r26,20+1
5791 5841 03ae A0E0 ldi r26,lo8(0)
5792 5842 03b0 B0E0 ldi r27,hi8(0)
5793 5843 03b2 7C01 movw r14,r24
5794 5844 03b4 DD24 clr r13
5795 5845 03b6 CC24 clr r12
5797 5847 03b8 EAA5 ldd r30,Y+42
5798 5848 03ba FBA5 ldd r31,Y+43
5800 5850 03bc 828D ldd r24,Z+26
5801 5851 03be 938D ldd r25,Z+27
5802 5852 03c0 A0E0 ldi r26,lo8(0)
5803 5853 03c2 B0E0 ldi r27,hi8(0)
5804 5854 03c4 C82A or r12,r24
5805 5855 03c6 D92A or r13,r25
5806 5856 03c8 EA2A or r14,r26
5807 5857 03ca FB2A or r15,r27
5809 5859 03cc 158A std Z+21,__zero_reg__
5810 5860 03ce 148A std Z+20,__zero_reg__
5812 5862 03d0 138E std Z+27,__zero_reg__
5813 5863 03d2 128E std Z+26,__zero_reg__
5815 5865 03d4 148E std Z+28,__zero_reg__
5816 5866 03d6 158E std Z+29,__zero_reg__
5817 5867 03d8 168E std Z+30,__zero_reg__
5818 5868 03da 178E std Z+31,__zero_reg__
5820 5870 03dc 2D84 ldd r2,Y+13
5821 5871 03de 3E84 ldd r3,Y+14
5822 5872 03e0 81E0 ldi r24,lo8(1)
5823 5873 03e2 F101 movw r30,r2
5824 5874 03e4 8483 std Z+4,r24
5826 5876 03e6 D101 movw r26,r2
5827 5877 03e8 9A96 adiw r26,42
5828 5878 03ea 8D91 ld r24,X+
5829 5879 03ec 9D91 ld r25,X+
5830 5880 03ee 0D90 ld __tmp_reg__,X+
5831 5881 03f0 BC91 ld r27,X
5832 5882 03f2 A02D mov r26,__tmp_reg__
5833 5883 03f4 8EA3 std Y+38,r24
5834 5884 03f6 9FA3 std Y+39,r25
5835 5885 03f8 A8A7 std Y+40,r26
5836 5886 03fa B9A7 std Y+41,r27
5839 5889 03fc C114 cp r12,__zero_reg__
5840 5890 03fe D104 cpc r13,__zero_reg__
5841 5891 0400 E104 cpc r14,__zero_reg__
5842 5892 0402 F104 cpc r15,__zero_reg__
5843 5893 0404 01F4 brne .+2
5844 5894 0406 00C0 rjmp .L303
5848 5898 0408 B1E0 ldi r27,lo8(1)
5849 5899 040a CB16 cp r12,r27
5850 5900 040c D104 cpc r13,__zero_reg__
5851 5901 040e E104 cpc r14,__zero_reg__
5852 5902 0410 F104 cpc r15,__zero_reg__
5853 5903 0412 01F4 brne .+2
5854 5904 0414 00C0 rjmp .L304
5855 5905 0416 828D ldd r24,Z+26
5856 5906 0418 938D ldd r25,Z+27
5857 5907 041a A48D ldd r26,Z+28
5858 5908 041c B58D ldd r27,Z+29
5859 5909 041e C816 cp r12,r24
5860 5910 0420 D906 cpc r13,r25
5861 5911 0422 EA06 cpc r14,r26
5862 5912 0424 FB06 cpc r15,r27
5863 5913 0426 00F0 brlo .+2
5864 5914 0428 00C0 rjmp .L304
5865 5915 042a 4601 movw r8,r12
5866 5916 042c 5701 movw r10,r14
5867 5917 042e 00C0 rjmp .L305
5872 5922 0430 C101 movw r24,r2
5873 5923 0432 B501 movw r22,r10
5874 5924 0434 A401 movw r20,r8
5875 5925 0436 0E94 0000 call get_fat
5877 5927 043a 2B01 movw r4,r22
5878 5928 043c 3C01 movw r6,r24
5882 5932 043e 6115 cp r22,__zero_reg__
5883 5933 0440 7105 cpc r23,__zero_reg__
5884 5934 0442 8105 cpc r24,__zero_reg__
5885 5935 0444 9105 cpc r25,__zero_reg__
5886 5936 0446 01F4 brne .+2
5887 5937 0448 00C0 rjmp .L306
5890 5940 044a 6130 cpi r22,lo8(1)
5891 5941 044c 7105 cpc r23,__zero_reg__
5892 5942 044e 8105 cpc r24,__zero_reg__
5893 5943 0450 9105 cpc r25,__zero_reg__
5894 5944 0452 01F0 breq .L304
5896 5946 0454 6F3F cpi r22,lo8(-1)
5897 5947 0456 2FEF ldi r18,hi8(-1)
5898 5948 0458 7207 cpc r23,r18
5899 5949 045a 2FEF ldi r18,hlo8(-1)
5900 5950 045c 8207 cpc r24,r18
5901 5951 045e 2FEF ldi r18,hhi8(-1)
5902 5952 0460 9207 cpc r25,r18
5903 5953 0462 01F4 brne .L307
5904 5954 0464 21E0 ldi r18,lo8(1)
5906 5956 0466 00C0 rjmp .L262
5911 5961 0468 C101 movw r24,r2
5912 5962 046a B501 movw r22,r10
5913 5963 046c A401 movw r20,r8
5914 5964 046e 00E0 ldi r16,lo8(0)
5915 5965 0470 10E0 ldi r17,hi8(0)
5916 5966 0472 20E0 ldi r18,hlo8(0)
5917 5967 0474 30E0 ldi r19,hhi8(0)
5919 5969 0476 0E94 0000 call put_fat
5921 5971 047a 282F mov r18,r24
5925 5975 047c 8823 tst r24
5926 5976 047e 01F0 breq .+2
5927 5977 0480 00C0 rjmp .L262
5930 5980 0482 F101 movw r30,r2
5931 5981 0484 8685 ldd r24,Z+14
5932 5982 0486 9785 ldd r25,Z+15
5933 5983 0488 A089 ldd r26,Z+16
5934 5984 048a B189 ldd r27,Z+17
5936 5986 048c 8F3F cpi r24,lo8(-1)
5937 5987 048e FFEF ldi r31,hi8(-1)
5938 5988 0490 9F07 cpc r25,r31
5939 5989 0492 FFEF ldi r31,hlo8(-1)
5940 5990 0494 AF07 cpc r26,r31
5941 5991 0496 FFEF ldi r31,hhi8(-1)
5942 5992 0498 BF07 cpc r27,r31
5943 5993 049a 01F0 breq .L308
5945 5995 049c 0196 adiw r24,1
5946 5996 049e A11D adc r26,__zero_reg__
5947 5997 04a0 B11D adc r27,__zero_reg__
5948 5998 04a2 F101 movw r30,r2
5949 5999 04a4 8687 std Z+14,r24
5950 6000 04a6 9787 std Z+15,r25
5951 6001 04a8 A08B std Z+16,r26
5952 6002 04aa B18B std Z+17,r27
5954 6004 04ac 21E0 ldi r18,lo8(1)
5956 6006 04ae 2583 std Z+5,r18
5959 6009 04b0 5301 movw r10,r6
5960 6010 04b2 4201 movw r8,r4
5964 6014 04b4 F101 movw r30,r2
5965 6015 04b6 828D ldd r24,Z+26
5966 6016 04b8 938D ldd r25,Z+27
5967 6017 04ba A48D ldd r26,Z+28
5968 6018 04bc B58D ldd r27,Z+29
5969 6019 04be 8816 cp r8,r24
5970 6020 04c0 9906 cpc r9,r25
5971 6021 04c2 AA06 cpc r10,r26
5972 6022 04c4 BB06 cpc r11,r27
5973 6023 04c6 00F4 brsh .+2
5974 6024 04c8 00C0 rjmp .L309
5975 6025 04ca 00C0 rjmp .L306
5978 6028 04cc 22E0 ldi r18,lo8(2)
5979 6029 04ce 00C0 rjmp .L262
5985 6035 04d0 8D85 ldd r24,Y+13
5986 6036 04d2 9E85 ldd r25,Y+14
5987 6037 04d4 4EA1 ldd r20,Y+38
5988 6038 04d6 5FA1 ldd r21,Y+39
5989 6039 04d8 68A5 ldd r22,Y+40
5990 6040 04da 79A5 ldd r23,Y+41
5991 6041 04dc 0E94 0000 call move_window
5993 6043 04e0 282F mov r18,r24
5996 6046 04e2 8823 tst r24
5997 6047 04e4 01F0 breq .+2
5998 6048 04e6 00C0 rjmp .L262
6002 6052 04e8 FDA1 ldd r31,Y+37
6003 6053 04ea F3FF sbrs r31,3
6004 6054 04ec 00C0 rjmp .L310
6006 6056 04ee AAA5 ldd r26,Y+42
6007 6057 04f0 BBA5 ldd r27,Y+43
6008 6058 04f2 1B96 adiw r26,11
6009 6059 04f4 1C92 st X,__zero_reg__
6011 6061 04f6 0E94 0000 call get_fattime
6014 6064 04fa EAA5 ldd r30,Y+42
6015 6065 04fc FBA5 ldd r31,Y+43
6016 6066 04fe 6687 std Z+14,r22
6017 6067 0500 7787 std Z+15,r23
6018 6068 0502 808B std Z+16,r24
6019 6069 0504 918B std Z+17,r25
6021 6071 0506 ED85 ldd r30,Y+13
6022 6072 0508 FE85 ldd r31,Y+14
6023 6073 050a 81E0 ldi r24,lo8(1)
6024 6074 050c 8483 std Z+4,r24
6026 6076 050e FDA1 ldd r31,Y+37
6027 6077 0510 F062 ori r31,lo8(32)
6028 6078 0512 FDA3 std Y+37,r31
6030 6080 0514 00C0 rjmp .L310
6035 6085 0516 2223 tst r18
6036 6086 0518 01F0 breq .+2
6037 6087 051a 00C0 rjmp .L262
6039 6089 051c 8F8D ldd r24,Y+31
6040 6090 051e 98A1 ldd r25,Y+32
6041 6091 0520 9BA7 std Y+43,r25
6042 6092 0522 8AA7 std Y+42,r24
6045 6095 0524 0097 sbiw r24,0
6046 6096 0526 01F4 brne .+2
6047 6097 0528 00C0 rjmp .L311
6048 6098 052a DC01 movw r26,r24
6050 6100 052c 1B96 adiw r26,11
6051 6101 052e 8C91 ld r24,X
6052 6102 0530 84FD sbrc r24,4
6053 6103 0532 00C0 rjmp .L311
6055 6105 0534 41FF sbrs r20,1
6056 6106 0536 00C0 rjmp .L310
6057 6107 0538 80FD sbrc r24,0
6058 6108 053a 00C0 rjmp .L302
6062 6112 053c 6D85 ldd r22,Y+13
6063 6113 053e 7E85 ldd r23,Y+14
6065 6115 0540 FB01 movw r30,r22
6067 6117 0542 22A5 ldd r18,Z+42
6068 6118 0544 33A5 ldd r19,Z+43
6069 6119 0546 44A5 ldd r20,Z+44
6070 6120 0548 55A5 ldd r21,Z+45
6072 6122 054a ACA5 ldd r26,Y+44
6073 6123 054c BDA5 ldd r27,Y+45
6074 6124 054e 5A96 adiw r26,26
6075 6125 0550 2D93 st X+,r18
6076 6126 0552 3D93 st X+,r19
6077 6127 0554 4D93 st X+,r20
6078 6128 0556 5C93 st X,r21
6079 6129 0558 5D97 sbiw r26,26+3
6081 6131 055a 8F8D ldd r24,Y+31
6082 6132 055c 98A1 ldd r25,Y+32
6084 6134 055e 5F96 adiw r26,30+1
6085 6135 0560 9C93 st X,r25
6086 6136 0562 8E93 st -X,r24
6087 6137 0564 5E97 sbiw r26,30
6089 6139 0566 EDA1 ldd r30,Y+37
6090 6140 0568 1496 adiw r26,4
6091 6141 056a EC93 st X,r30
6093 6143 056c AAA5 ldd r26,Y+42
6094 6144 056e BBA5 ldd r27,Y+43
6095 6145 0570 5496 adiw r26,20
6096 6146 0572 8D91 ld r24,X+
6097 6147 0574 9C91 ld r25,X
6098 6148 0576 5597 sbiw r26,20+1
6099 6149 0578 A0E0 ldi r26,lo8(0)
6100 6150 057a B0E0 ldi r27,hi8(0)
6101 6151 057c DC01 movw r26,r24
6102 6152 057e 9927 clr r25
6103 6153 0580 8827 clr r24
6104 6154 0582 EAA5 ldd r30,Y+42
6105 6155 0584 FBA5 ldd r31,Y+43
6106 6156 0586 228D ldd r18,Z+26
6107 6157 0588 338D ldd r19,Z+27
6108 6158 058a 40E0 ldi r20,lo8(0)
6109 6159 058c 50E0 ldi r21,hi8(0)
6110 6160 058e 822B or r24,r18
6111 6161 0590 932B or r25,r19
6112 6162 0592 A42B or r26,r20
6113 6163 0594 B52B or r27,r21
6114 6164 0596 ECA5 ldd r30,Y+44
6115 6165 0598 FDA5 ldd r31,Y+45
6116 6166 059a 8687 std Z+14,r24
6117 6167 059c 9787 std Z+15,r25
6118 6168 059e A08B std Z+16,r26
6119 6169 05a0 B18B std Z+17,r27
6121 6171 05a2 EAA5 ldd r30,Y+42
6122 6172 05a4 FBA5 ldd r31,Y+43
6123 6173 05a6 848D ldd r24,Z+28
6124 6174 05a8 958D ldd r25,Z+29
6125 6175 05aa A68D ldd r26,Z+30
6126 6176 05ac B78D ldd r27,Z+31
6127 6177 05ae ECA5 ldd r30,Y+44
6128 6178 05b0 FDA5 ldd r31,Y+45
6129 6179 05b2 8287 std Z+10,r24
6130 6180 05b4 9387 std Z+11,r25
6131 6181 05b6 A487 std Z+12,r26
6132 6182 05b8 B587 std Z+13,r27
6134 6184 05ba 1682 std Z+6,__zero_reg__
6135 6185 05bc 1782 std Z+7,__zero_reg__
6136 6186 05be 1086 std Z+8,__zero_reg__
6137 6187 05c0 1186 std Z+9,__zero_reg__
6138 6188 05c2 8FEF ldi r24,lo8(-1)
6139 6189 05c4 8583 std Z+5,r24
6141 6191 05c6 ECA5 ldd r30,Y+44
6142 6192 05c8 FDA5 ldd r31,Y+45
6143 6193 05ca 168A std Z+22,__zero_reg__
6144 6194 05cc 178A std Z+23,__zero_reg__
6145 6195 05ce 108E std Z+24,__zero_reg__
6146 6196 05d0 118E std Z+25,__zero_reg__
6148 6198 05d2 7183 std Z+1,r23
6149 6199 05d4 6083 st Z,r22
6150 6200 05d6 DB01 movw r26,r22
6151 6201 05d8 1696 adiw r26,6
6152 6202 05da 8D91 ld r24,X+
6153 6203 05dc 9C91 ld r25,X
6154 6204 05de 1797 sbiw r26,6+1
6155 6205 05e0 9383 std Z+3,r25
6156 6206 05e2 8283 std Z+2,r24
6157 6207 05e4 20E0 ldi r18,lo8(0)
6159 6209 05e6 00C0 rjmp .L262
6163 6213 05e8 27E0 ldi r18,lo8(7)
6164 6214 05ea 00C0 rjmp .L262
6166 6216 05ec 24E0 ldi r18,lo8(4)
6170 6220 05ee 822F mov r24,r18
6171 6221 /* epilogue start */
6172 6222 05f0 AD96 adiw r28,45
6173 6223 05f2 0FB6 in __tmp_reg__,__SREG__
6175 6225 05f6 DEBF out __SP_H__,r29
6176 6226 05f8 0FBE out __SREG__,__tmp_reg__
6177 6227 05fa CDBF out __SP_L__,r28
6178 6228 05fc CF91 pop r28
6179 6229 05fe DF91 pop r29
6180 6230 0600 1F91 pop r17
6181 6231 0602 0F91 pop r16
6183 6233 0604 FF90 pop r15
6184 6234 0606 EF90 pop r14
6186 6236 0608 DF90 pop r13
6187 6237 060a CF90 pop r12
6189 6239 060c BF90 pop r11
6190 6240 060e AF90 pop r10
6192 6242 0610 9F90 pop r9
6193 6243 0612 8F90 pop r8
6194 6244 0614 7F90 pop r7
6195 6245 0616 6F90 pop r6
6196 6246 0618 5F90 pop r5
6197 6247 061a 4F90 pop r4
6199 6249 061c 3F90 pop r3
6200 6250 061e 2F90 pop r2
6207 6257 0622 4B8D ldd r20,Y+27
6208 6258 0624 5C8D ldd r21,Y+28
6209 6259 0626 6D8D ldd r22,Y+29
6210 6260 0628 7E8D ldd r23,Y+30
6211 6261 062a 8D85 ldd r24,Y+13
6212 6262 062c 9E85 ldd r25,Y+14
6214 6264 062e 0E94 0000 call move_window
6216 6266 0632 282F mov r18,r24
6220 6270 0634 8823 tst r24
6221 6271 0636 01F4 brne .L262
6223 6273 0638 00C0 rjmp .L323
6229 6279 063a ED85 ldd r30,Y+13
6230 6280 063c FE85 ldd r31,Y+14
6232 6282 0640 C108 sbc r12,__zero_reg__
6233 6283 0642 D108 sbc r13,__zero_reg__
6234 6284 0644 E108 sbc r14,__zero_reg__
6235 6285 0646 F108 sbc r15,__zero_reg__
6237 6287 0648 C286 std Z+10,r12
6238 6288 064a D386 std Z+11,r13
6239 6289 064c E486 std Z+12,r14
6240 6290 064e F586 std Z+13,r15
6241 6291 0650 00C0 rjmp .L303
6244 6294 0652 9A2F mov r25,r26
6245 6295 0654 60E0 ldi r22,lo8(0)
6247 6297 0656 00C0 rjmp .L313
6255 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:2 *ABS*:0000003f __SREG__
6256 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:3 *ABS*:0000003e __SP_H__
6257 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:4 *ABS*:0000003d __SP_L__
6258 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:5 *ABS*:00000034 __CCP__
6259 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:6 *ABS*:00000000 __tmp_reg__
6260 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:7 *ABS*:00000001 __zero_reg__
6261 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:18 .text.mem_cpy:00000000 mem_cpy
6262 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:62 .text.mem_set:00000000 mem_set
6263 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:93 .text.clust2sect:00000000 clust2sect
6264 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:175 .text.f_mount:00000000 f_mount
6266 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:218 .text.validate:00000000 validate
6267 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:257 .text.move_window:00000000 move_window
6268 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:420 .text.put_fat:00000000 put_fat
6269 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:726 .text.get_fat:00000000 get_fat
6270 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:977 .text.create_chain:00000000 create_chain
6271 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:1300 .text.f_lseek:00000000 f_lseek
6272 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:1874 .text.dir_seek:00000000 dir_seek
6273 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:2123 .text.f_write:00000000 f_write
6274 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:2694 .text.f_putc:00000000 f_putc
6275 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:2757 .text.f_puts:00000000 f_puts
6276 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:2818 .text.f_printf:00000000 f_printf
6277 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:3306 .text.dir_next:00000000 dir_next
6278 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:3648 .text.f_read:00000000 f_read
6279 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:4093 .text.f_gets:00000000 f_gets
6280 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:4207 .text.check_fs:00000000 check_fs
6281 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:4292 .text.f_sync:00000000 f_sync
6282 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:4540 .text.f_close:00000000 f_close
6283 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:4571 .text.chk_mounted:00000000 chk_mounted
6284 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:6301 .bss:00000002 Fsid
6285 C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:5127 .text.f_open:00000000 f_open