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 3C01 movw r6,r24
426 446 0026 6A01 movw r12,r20
427 447 0028 7B01 movw r14,r22
428 448 002a 4801 movw r8,r16
429 449 002c 5901 movw r10,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 F301 movw r30,r6
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 C301 movw r24,r6
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 F301 movw r30,r6
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 982D mov r25,r8
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 982D mov r25,r8
529 549 00c0 A60D add r26,r6
530 550 00c2 B71D adc r27,r7
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 F301 movw r30,r6
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 C301 movw r24,r6
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 84E0 ldi r24,4
568 588 00fa B694 1: lsr r11
569 589 00fc A794 ror r10
572 592 0102 8A95 dec r24
573 593 0104 01F4 brne 1b
575 595 0106 482D mov r20,r8
576 596 0108 00C0 rjmp .L42
579 599 010a F301 movw r30,r6
580 600 010c EC0F add r30,r28
581 601 010e FD1F adc r31,r29
582 602 0110 46A5 ldd r20,Z+46
583 603 0112 407F andi r20,lo8(-16)
584 604 0114 BB27 clr r27
585 605 0116 AB2D mov r26,r11
586 606 0118 9A2D mov r25,r10
587 607 011a 892D mov r24,r9
589 609 011c 8F70 andi r24,lo8(15)
590 610 011e 482B or r20,r24
592 612 0120 C60D add r28,r6
593 613 0122 D71D adc r29,r7
594 614 0124 4EA7 std Y+46,r20
595 615 0126 00C0 rjmp .L38
599 619 0128 452F mov r20,r21
600 620 012a 562F mov r21,r22
601 621 012c 672F mov r22,r23
602 622 012e 7727 clr r23
604 624 0130 420D add r20,r2
605 625 0132 531D adc r21,r3
606 626 0134 641D adc r22,r4
607 627 0136 751D adc r23,r5
608 628 0138 C301 movw r24,r6
609 629 013a 0E94 0000 call move_window
610 630 013e 282F mov r18,r24
613 633 0140 8823 tst r24
614 634 0142 01F4 brne .L38
617 637 0144 F601 movw r30,r12
619 639 0146 EE0F lsl r30
620 640 0148 FF1F rol r31
621 641 014a F170 andi r31,hi8(511)
622 642 014c E60D add r30,r6
623 643 014e F71D adc r31,r7
624 644 0150 86A6 std Z+46,r8
625 645 0152 892D mov r24,r9
626 646 0154 9927 clr r25
628 648 0156 87A7 std Z+47,r24
629 649 0158 00C0 rjmp .L38
633 653 015a E7E0 ldi r30,7
634 654 015c 7695 1: lsr r23
635 655 015e 6795 ror r22
636 656 0160 5795 ror r21
637 657 0162 4795 ror r20
638 658 0164 EA95 dec r30
639 659 0166 01F4 brne 1b
641 661 0168 420D add r20,r2
642 662 016a 531D adc r21,r3
643 663 016c 641D adc r22,r4
644 664 016e 751D adc r23,r5
645 665 0170 C301 movw r24,r6
646 666 0172 0E94 0000 call move_window
647 667 0176 282F mov r18,r24
650 670 0178 8823 tst r24
651 671 017a 01F4 brne .L38
654 674 017c F601 movw r30,r12
656 676 017e EE0F lsl r30
657 677 0180 FF1F rol r31
658 678 0182 EE0F lsl r30
659 679 0184 FF1F rol r31
660 680 0186 F170 andi r31,hi8(511)
661 681 0188 E60D add r30,r6
662 682 018a F71D adc r31,r7
663 683 018c 86A6 std Z+46,r8
664 684 018e 892D mov r24,r9
665 685 0190 9927 clr r25
667 687 0192 87A7 std Z+47,r24
668 688 0194 C501 movw r24,r10
669 689 0196 AA27 clr r26
670 690 0198 BB27 clr r27
671 691 019a 80AB std Z+48,r24
672 692 019c 8B2D mov r24,r11
673 693 019e 9927 clr r25
674 694 01a0 AA27 clr r26
675 695 01a2 BB27 clr r27
676 696 01a4 81AB std Z+49,r24
680 700 01a6 81E0 ldi r24,lo8(1)
681 701 01a8 F301 movw r30,r6
682 702 01aa 8483 std Z+4,r24
683 703 01ac 00C0 rjmp .L43
686 706 01ae 22E0 ldi r18,lo8(2)
690 710 01b0 822F mov r24,r18
691 711 /* epilogue start */
692 712 01b2 DF91 pop r29
693 713 01b4 CF91 pop r28
695 715 01b6 1F91 pop r17
696 716 01b8 0F91 pop r16
697 717 01ba FF90 pop r15
698 718 01bc EF90 pop r14
699 719 01be DF90 pop r13
700 720 01c0 CF90 pop r12
701 721 01c2 BF90 pop r11
702 722 01c4 AF90 pop r10
716 737 .section .text.get_fat,"ax",@progbits
722 744 0000 7F92 push r7
723 745 0002 8F92 push r8
724 746 0004 9F92 push r9
725 747 0006 AF92 push r10
726 748 0008 BF92 push r11
727 749 000a CF92 push r12
728 750 000c DF92 push r13
729 751 000e EF92 push r14
730 752 0010 FF92 push r15
731 753 0012 0F93 push r16
732 754 0014 1F93 push r17
733 755 0016 CF93 push r28
734 756 0018 DF93 push r29
735 757 /* prologue: function */
736 758 /* frame size = 0 */
737 759 001a 4C01 movw r8,r24
738 760 001c 7A01 movw r14,r20
739 761 001e 8B01 movw r16,r22
741 763 0020 4230 cpi r20,lo8(2)
742 764 0022 5105 cpc r21,__zero_reg__
743 765 0024 6105 cpc r22,__zero_reg__
744 766 0026 7105 cpc r23,__zero_reg__
746 768 0028 00F4 brsh .+2
747 769 002a 00C0 rjmp .L46
748 770 002c F401 movw r30,r8
749 771 002e 828D ldd r24,Z+26
750 772 0030 938D ldd r25,Z+27
751 773 0032 A48D ldd r26,Z+28
752 774 0034 B58D ldd r27,Z+29
753 775 0036 4817 cp r20,r24
754 776 0038 5907 cpc r21,r25
755 777 003a 6A07 cpc r22,r26
756 778 003c 7B07 cpc r23,r27
757 779 003e 00F0 brlo .+2
758 780 0040 00C0 rjmp .L46
760 782 0042 A68C ldd r10,Z+30
761 783 0044 B78C ldd r11,Z+31
762 784 0046 C0A0 ldd r12,Z+32
763 785 0048 D1A0 ldd r13,Z+33
766 788 004a 8081 ld r24,Z
767 789 004c 8230 cpi r24,lo8(2)
768 790 004e 01F4 brne .+2
769 791 0050 00C0 rjmp .L49
770 792 0052 8330 cpi r24,lo8(3)
771 793 0054 01F4 brne .+2
772 794 0056 00C0 rjmp .L50
773 795 0058 8130 cpi r24,lo8(1)
774 796 005a 01F0 breq .+2
775 797 005c 00C0 rjmp .L47
777 799 005e EA01 movw r28,r20
779 801 0060 D695 lsr r29
780 802 0062 C795 ror r28
782 804 0064 CE0D add r28,r14
783 805 0066 DF1D adc r29,r15
785 807 0068 AE01 movw r20,r28
786 808 006a 452F mov r20,r21
787 809 006c 5527 clr r21
788 810 006e 4695 lsr r20
789 811 0070 60E0 ldi r22,lo8(0)
790 812 0072 70E0 ldi r23,hi8(0)
791 813 0074 4A0D add r20,r10
792 814 0076 5B1D adc r21,r11
793 815 0078 6C1D adc r22,r12
794 816 007a 7D1D adc r23,r13
795 817 007c C401 movw r24,r8
796 818 007e 0E94 0000 call move_window
797 819 0082 8823 tst r24
798 820 0084 01F0 breq .+2
799 821 0086 00C0 rjmp .L47
801 823 0088 FE01 movw r30,r28
802 824 008a F170 andi r31,hi8(511)
803 825 008c E80D add r30,r8
804 826 008e F91D adc r31,r9
805 827 0090 76A4 ldd r7,Z+46
806 828 0092 2196 adiw r28,1
809 831 0094 AE01 movw r20,r28
810 832 0096 452F mov r20,r21
811 833 0098 5527 clr r21
812 834 009a 4695 lsr r20
813 835 009c 60E0 ldi r22,lo8(0)
814 836 009e 70E0 ldi r23,hi8(0)
815 837 00a0 4A0D add r20,r10
816 838 00a2 5B1D adc r21,r11
817 839 00a4 6C1D adc r22,r12
818 840 00a6 7D1D adc r23,r13
819 841 00a8 C401 movw r24,r8
820 842 00aa 0E94 0000 call move_window
821 843 00ae 8823 tst r24
822 844 00b0 01F0 breq .+2
823 845 00b2 00C0 rjmp .L47
825 847 00b4 672D mov r22,r7
827 849 00b6 70E0 ldi r23,lo8(0)
830 852 00b8 D170 andi r29,hi8(511)
831 853 00ba C80D add r28,r8
832 854 00bc D91D adc r29,r9
833 855 00be 9EA5 ldd r25,Y+46
834 856 00c0 80E0 ldi r24,lo8(0)
835 857 00c2 682B or r22,r24
836 858 00c4 792B or r23,r25
839 861 00c6 C701 movw r24,r14
841 863 00c8 8170 andi r24,lo8(1)
842 864 00ca 9070 andi r25,hi8(1)
843 865 00cc 892B or r24,r25
844 866 00ce 01F0 breq .L51
845 867 00d0 94E0 ldi r25,4
846 868 00d2 7695 1: lsr r23
847 869 00d4 6795 ror r22
848 870 00d6 9A95 dec r25
849 871 00d8 01F4 brne 1b
850 872 00da 9B01 movw r18,r22
851 873 00dc 00C0 rjmp .L54
853 875 00de 9B01 movw r18,r22
854 876 00e0 40E0 ldi r20,lo8(0)
855 877 00e2 50E0 ldi r21,hi8(0)
856 878 00e4 3F70 andi r19,hi8(4095)
857 879 00e6 4070 andi r20,hlo8(4095)
858 880 00e8 5070 andi r21,hhi8(4095)
859 881 00ea 00C0 rjmp .L52
863 885 00ec 452F mov r20,r21
864 886 00ee 562F mov r21,r22
865 887 00f0 672F mov r22,r23
866 888 00f2 7727 clr r23
868 890 00f4 4A0D add r20,r10
869 891 00f6 5B1D adc r21,r11
870 892 00f8 6C1D adc r22,r12
871 893 00fa 7D1D adc r23,r13
872 894 00fc C401 movw r24,r8
873 895 00fe 0E94 0000 call move_window
874 896 0102 8823 tst r24
875 897 0104 01F0 breq .+2
876 898 0106 00C0 rjmp .L47
878 900 0108 F701 movw r30,r14
880 902 010a EE0F lsl r30
881 903 010c FF1F rol r31
882 904 010e F170 andi r31,hi8(511)
883 905 0110 E80D add r30,r8
884 906 0112 F91D adc r31,r9
885 907 0114 97A5 ldd r25,Z+47
886 908 0116 80E0 ldi r24,lo8(0)
887 909 0118 26A5 ldd r18,Z+46
888 910 011a 30E0 ldi r19,lo8(0)
889 911 011c 822B or r24,r18
890 912 011e 932B or r25,r19
891 913 0120 9C01 movw r18,r24
894 916 0122 40E0 ldi r20,lo8(0)
895 917 0124 50E0 ldi r21,hi8(0)
896 918 0126 00C0 rjmp .L52
900 922 0128 B7E0 ldi r27,7
901 923 012a 7695 1: lsr r23
902 924 012c 6795 ror r22
903 925 012e 5795 ror r21
904 926 0130 4795 ror r20
905 927 0132 BA95 dec r27
906 928 0134 01F4 brne 1b
908 930 0136 4A0D add r20,r10
909 931 0138 5B1D adc r21,r11
910 932 013a 6C1D adc r22,r12
911 933 013c 7D1D adc r23,r13
912 934 013e C401 movw r24,r8
913 935 0140 0E94 0000 call move_window
914 936 0144 8823 tst r24
915 937 0146 01F4 brne .L47
917 939 0148 F701 movw r30,r14
919 941 014a EE0F lsl r30
920 942 014c FF1F rol r31
921 943 014e EE0F lsl r30
922 944 0150 FF1F rol r31
923 945 0152 F170 andi r31,hi8(511)
924 946 0154 E80D add r30,r8
925 947 0156 F91D adc r31,r9
926 948 0158 81A9 ldd r24,Z+49
927 949 015a 90E0 ldi r25,lo8(0)
928 950 015c A0E0 ldi r26,lo8(0)
929 951 015e B0E0 ldi r27,hi8(0)
930 952 0160 582F mov r21,r24
931 953 0162 4427 clr r20
932 954 0164 3327 clr r19
933 955 0166 2227 clr r18
934 956 0168 80A9 ldd r24,Z+48
935 957 016a 90E0 ldi r25,lo8(0)
936 958 016c A0E0 ldi r26,lo8(0)
937 959 016e B0E0 ldi r27,hi8(0)
938 960 0170 DC01 movw r26,r24
939 961 0172 9927 clr r25
940 962 0174 8827 clr r24
941 963 0176 282B or r18,r24
942 964 0178 392B or r19,r25
943 965 017a 4A2B or r20,r26
944 966 017c 5B2B or r21,r27
945 967 017e 86A5 ldd r24,Z+46
946 968 0180 90E0 ldi r25,lo8(0)
947 969 0182 A0E0 ldi r26,lo8(0)
948 970 0184 B0E0 ldi r27,hi8(0)
949 971 0186 282B or r18,r24
950 972 0188 392B or r19,r25
951 973 018a 4A2B or r20,r26
952 974 018c 5B2B or r21,r27
953 975 018e 97A5 ldd r25,Z+47
954 976 0190 80E0 ldi r24,lo8(0)
955 977 0192 A0E0 ldi r26,lo8(0)
956 978 0194 B0E0 ldi r27,hi8(0)
957 979 0196 282B or r18,r24
958 980 0198 392B or r19,r25
959 981 019a 4A2B or r20,r26
960 982 019c 5B2B or r21,r27
961 983 019e 5F70 andi r21,hhi8(268435455)
962 984 01a0 00C0 rjmp .L52
965 987 01a2 21E0 ldi r18,lo8(1)
966 988 01a4 30E0 ldi r19,hi8(1)
967 989 01a6 40E0 ldi r20,hlo8(1)
968 990 01a8 50E0 ldi r21,hhi8(1)
969 991 01aa 00C0 rjmp .L52
972 994 01ac 2FEF ldi r18,lo8(-1)
973 995 01ae 3FEF ldi r19,hi8(-1)
974 996 01b0 4FEF ldi r20,hlo8(-1)
975 997 01b2 5FEF ldi r21,hhi8(-1)
979 1001 01b4 B901 movw r22,r18
981 1003 01b6 CA01 movw r24,r20
982 1004 /* epilogue start */
983 1005 01b8 DF91 pop r29
984 1006 01ba CF91 pop r28
986 1008 01bc 1F91 pop r17
987 1009 01be 0F91 pop r16
988 1010 01c0 FF90 pop r15
989 1011 01c2 EF90 pop r14
991 1013 01c4 DF90 pop r13
992 1014 01c6 CF90 pop r12
993 1015 01c8 BF90 pop r11
994 1016 01ca AF90 pop r10
996 1018 01cc 9F90 pop r9
997 1019 01ce 8F90 pop r8
999 1021 01d0 7F90 pop r7
1002 1025 .section .text.create_chain,"ax",@progbits
1007 1031 0000 2F92 push r2
1008 1032 0002 3F92 push r3
1009 1033 0004 4F92 push r4
1010 1034 0006 5F92 push r5
1011 1035 0008 6F92 push r6
1012 1036 000a 7F92 push r7
1013 1037 000c 8F92 push r8
1014 1038 000e 9F92 push r9
1015 1039 0010 AF92 push r10
1016 1040 0012 BF92 push r11
1017 1041 0014 CF92 push r12
1018 1042 0016 DF92 push r13
1019 1043 0018 EF92 push r14
1020 1044 001a FF92 push r15
1021 1045 001c 0F93 push r16
1022 1046 001e 1F93 push r17
1023 1047 0020 DF93 push r29
1024 1048 0022 CF93 push r28
1025 1049 0024 00D0 rcall .
1026 1050 0026 00D0 rcall .
1027 1051 0028 CDB7 in r28,__SP_L__
1028 1052 002a DEB7 in r29,__SP_H__
1029 1053 /* prologue: function */
1030 1054 /* frame size = 4 */
1031 1055 002c 1C01 movw r2,r24
1032 1056 002e 2A01 movw r4,r20
1033 1057 0030 3B01 movw r6,r22
1035 1059 0032 DC01 movw r26,r24
1036 1060 0034 5A96 adiw r26,26
1037 1061 0036 8D91 ld r24,X+
1038 1062 0038 9D91 ld r25,X+
1039 1063 003a 0D90 ld __tmp_reg__,X+
1040 1064 003c BC91 ld r27,X
1041 1065 003e A02D mov r26,__tmp_reg__
1043 1067 0040 8983 std Y+1,r24
1044 1068 0042 9A83 std Y+2,r25
1045 1069 0044 AB83 std Y+3,r26
1046 1070 0046 BC83 std Y+4,r27
1049 1073 0048 4115 cp r20,__zero_reg__
1050 1074 004a 5105 cpc r21,__zero_reg__
1051 1075 004c 6105 cpc r22,__zero_reg__
1052 1076 004e 7105 cpc r23,__zero_reg__
1053 1077 0050 01F4 brne .L56
1055 1079 0052 F101 movw r30,r2
1056 1080 0054 8284 ldd r8,Z+10
1057 1081 0056 9384 ldd r9,Z+11
1058 1082 0058 A484 ldd r10,Z+12
1059 1083 005a B584 ldd r11,Z+13
1062 1086 005c 8114 cp r8,__zero_reg__
1063 1087 005e 9104 cpc r9,__zero_reg__
1064 1088 0060 A104 cpc r10,__zero_reg__
1065 1089 0062 B104 cpc r11,__zero_reg__
1066 1090 0064 01F0 breq .L57
1067 1091 0066 8816 cp r8,r24
1068 1092 0068 9906 cpc r9,r25
1069 1093 006a AA06 cpc r10,r26
1070 1094 006c BB06 cpc r11,r27
1071 1095 006e 00F4 brsh .L57
1072 1096 0070 00C0 rjmp .L58
1076 1100 0072 C101 movw r24,r2
1077 1101 0074 0E94 0000 call get_fat
1079 1103 0078 9B01 movw r18,r22
1080 1104 007a AC01 movw r20,r24
1083 1107 007c 6230 cpi r22,lo8(2)
1084 1108 007e 7105 cpc r23,__zero_reg__
1085 1109 0080 8105 cpc r24,__zero_reg__
1086 1110 0082 9105 cpc r25,__zero_reg__
1087 1111 0084 00F4 brsh .L59
1089 1113 0086 21E0 ldi r18,lo8(1)
1090 1114 0088 30E0 ldi r19,hi8(1)
1091 1115 008a 40E0 ldi r20,hlo8(1)
1092 1116 008c 50E0 ldi r21,hhi8(1)
1094 1118 008e 00C0 rjmp .L60
1098 1122 0090 8981 ldd r24,Y+1
1099 1123 0092 9A81 ldd r25,Y+2
1100 1124 0094 AB81 ldd r26,Y+3
1101 1125 0096 BC81 ldd r27,Y+4
1102 1126 0098 2817 cp r18,r24
1103 1127 009a 3907 cpc r19,r25
1104 1128 009c 4A07 cpc r20,r26
1105 1129 009e 5B07 cpc r21,r27
1106 1130 00a0 00F4 brsh .+2
1107 1131 00a2 00C0 rjmp .L60
1109 1133 00a4 5301 movw r10,r6
1110 1134 00a6 4201 movw r8,r4
1112 1136 00a8 00C0 rjmp .L58
1115 1139 00aa 61E0 ldi r22,lo8(1)
1116 1140 00ac 862E mov r8,r22
1117 1141 00ae 912C mov r9,__zero_reg__
1118 1142 00b0 A12C mov r10,__zero_reg__
1119 1143 00b2 B12C mov r11,__zero_reg__
1122 1146 00b4 7501 movw r14,r10
1123 1147 00b6 6401 movw r12,r8
1128 1152 00ba C11C adc r12,__zero_reg__
1129 1153 00bc D11C adc r13,__zero_reg__
1130 1154 00be E11C adc r14,__zero_reg__
1131 1155 00c0 F11C adc r15,__zero_reg__
1133 1157 00c2 8981 ldd r24,Y+1
1134 1158 00c4 9A81 ldd r25,Y+2
1135 1159 00c6 AB81 ldd r26,Y+3
1136 1160 00c8 BC81 ldd r27,Y+4
1137 1161 00ca C816 cp r12,r24
1138 1162 00cc D906 cpc r13,r25
1139 1163 00ce EA06 cpc r14,r26
1140 1164 00d0 FB06 cpc r15,r27
1141 1165 00d2 00F0 brlo .L61
1143 1167 00d4 92E0 ldi r25,lo8(2)
1144 1168 00d6 8916 cp r8,r25
1145 1169 00d8 9104 cpc r9,__zero_reg__
1146 1170 00da A104 cpc r10,__zero_reg__
1147 1171 00dc B104 cpc r11,__zero_reg__
1148 1172 00de 00F4 brsh .+2
1149 1173 00e0 00C0 rjmp .L62
1150 1174 00e2 52E0 ldi r21,lo8(2)
1151 1175 00e4 C52E mov r12,r21
1152 1176 00e6 D12C mov r13,__zero_reg__
1153 1177 00e8 E12C mov r14,__zero_reg__
1154 1178 00ea F12C mov r15,__zero_reg__
1157 1181 00ec C101 movw r24,r2
1158 1182 00ee B701 movw r22,r14
1159 1183 00f0 A601 movw r20,r12
1160 1184 00f2 0E94 0000 call get_fat
1162 1186 00f6 9B01 movw r18,r22
1163 1187 00f8 AC01 movw r20,r24
1166 1190 00fa 6115 cp r22,__zero_reg__
1167 1191 00fc 7105 cpc r23,__zero_reg__
1168 1192 00fe 8105 cpc r24,__zero_reg__
1169 1193 0100 9105 cpc r25,__zero_reg__
1170 1194 0102 01F0 breq .L63
1173 1197 0104 6F3F cpi r22,lo8(-1)
1174 1198 0106 AFEF ldi r26,hi8(-1)
1175 1199 0108 7A07 cpc r23,r26
1176 1200 010a AFEF ldi r26,hlo8(-1)
1177 1201 010c 8A07 cpc r24,r26
1178 1202 010e AFEF ldi r26,hhi8(-1)
1179 1203 0110 9A07 cpc r25,r26
1180 1204 0112 01F4 brne .+2
1181 1205 0114 00C0 rjmp .L60
1182 1206 0116 6130 cpi r22,lo8(1)
1183 1207 0118 7105 cpc r23,__zero_reg__
1184 1208 011a 8105 cpc r24,__zero_reg__
1185 1209 011c 9105 cpc r25,__zero_reg__
1186 1210 011e 01F4 brne .+2
1187 1211 0120 00C0 rjmp .L60
1189 1213 0122 C814 cp r12,r8
1190 1214 0124 D904 cpc r13,r9
1191 1215 0126 EA04 cpc r14,r10
1192 1216 0128 FB04 cpc r15,r11
1193 1217 012a 01F4 brne .L64
1194 1218 012c 00C0 rjmp .L62
1196 1220 012e BC2C mov r11,r12
1197 1221 0130 AD2C mov r10,r13
1199 1223 0132 9E2C mov r9,r14
1201 1225 0134 8F2C mov r8,r15
1204 1228 0136 C101 movw r24,r2
1205 1229 0138 A601 movw r20,r12
1207 1231 013a B701 movw r22,r14
1209 1233 013c 0FEF ldi r16,lo8(268435455)
1210 1234 013e 1FEF ldi r17,hi8(268435455)
1211 1235 0140 2FEF ldi r18,hlo8(268435455)
1212 1236 0142 3FE0 ldi r19,hhi8(268435455)
1213 1237 0144 0E94 0000 call put_fat
1215 1239 0148 8823 tst r24
1216 1240 014a 01F4 brne .L65
1219 1243 014c 4114 cp r4,__zero_reg__
1220 1244 014e 5104 cpc r5,__zero_reg__
1221 1245 0150 6104 cpc r6,__zero_reg__
1222 1246 0152 7104 cpc r7,__zero_reg__
1223 1247 0154 01F0 breq .L66
1225 1249 0156 C101 movw r24,r2
1226 1250 0158 B301 movw r22,r6
1227 1251 015a A201 movw r20,r4
1228 1252 015c 8601 movw r16,r12
1229 1253 015e 9701 movw r18,r14
1230 1254 0160 0E94 0000 call put_fat
1231 1255 0164 8823 tst r24
1232 1256 0166 01F4 brne .L65
1235 1259 0168 F101 movw r30,r2
1236 1260 016a B286 std Z+10,r11
1237 1261 016c A386 std Z+11,r10
1238 1262 016e 9486 std Z+12,r9
1239 1263 0170 8586 std Z+13,r8
1241 1265 0172 8685 ldd r24,Z+14
1242 1266 0174 9785 ldd r25,Z+15
1243 1267 0176 A089 ldd r26,Z+16
1244 1268 0178 B189 ldd r27,Z+17
1245 1269 017a 8F3F cpi r24,lo8(-1)
1246 1270 017c FFEF ldi r31,hi8(-1)
1247 1271 017e 9F07 cpc r25,r31
1248 1272 0180 FFEF ldi r31,hlo8(-1)
1249 1273 0182 AF07 cpc r26,r31
1250 1274 0184 FFEF ldi r31,hhi8(-1)
1251 1275 0186 BF07 cpc r27,r31
1252 1276 0188 01F0 breq .L69
1255 1279 018a 0197 sbiw r24,1
1256 1280 018c A109 sbc r26,__zero_reg__
1257 1281 018e B109 sbc r27,__zero_reg__
1258 1282 0190 F101 movw r30,r2
1259 1283 0192 8687 std Z+14,r24
1260 1284 0194 9787 std Z+15,r25
1261 1285 0196 A08B std Z+16,r26
1262 1286 0198 B18B std Z+17,r27
1264 1288 019a 81E0 ldi r24,lo8(1)
1265 1289 019c 8583 std Z+5,r24
1267 1291 019e A701 movw r20,r14
1268 1292 01a0 9601 movw r18,r12
1270 1294 01a2 00C0 rjmp .L60
1273 1297 01a4 20E0 ldi r18,lo8(0)
1274 1298 01a6 30E0 ldi r19,hi8(0)
1275 1299 01a8 40E0 ldi r20,hlo8(0)
1276 1300 01aa 50E0 ldi r21,hhi8(0)
1277 1301 01ac 00C0 rjmp .L60
1280 1304 01ae 2FEF ldi r18,lo8(-1)
1281 1305 01b0 3FEF ldi r19,hi8(-1)
1282 1306 01b2 4FEF ldi r20,hlo8(-1)
1283 1307 01b4 5FEF ldi r21,hhi8(-1)
1287 1311 01b6 B901 movw r22,r18
1289 1313 01b8 CA01 movw r24,r20
1290 1314 /* epilogue start */
1291 1315 01ba 0F90 pop __tmp_reg__
1292 1316 01bc 0F90 pop __tmp_reg__
1293 1317 01be 0F90 pop __tmp_reg__
1294 1318 01c0 0F90 pop __tmp_reg__
1295 1319 01c2 CF91 pop r28
1296 1320 01c4 DF91 pop r29
1297 1321 01c6 1F91 pop r17
1298 1322 01c8 0F91 pop r16
1299 1323 01ca FF90 pop r15
1300 1324 01cc EF90 pop r14
1301 1325 01ce DF90 pop r13
1302 1326 01d0 CF90 pop r12
1304 1328 01d2 BF90 pop r11
1306 1330 01d4 AF90 pop r10
1308 1332 01d6 9F90 pop r9
1310 1334 01d8 8F90 pop r8
1312 1336 01da 7F90 pop r7
1313 1337 01dc 6F90 pop r6
1314 1338 01de 5F90 pop r5
1315 1339 01e0 4F90 pop r4
1317 1341 01e2 3F90 pop r3
1318 1342 01e4 2F90 pop r2
1322 1347 .section .text.f_lseek,"ax",@progbits
1323 1348 .global f_lseek
1328 1354 0000 2F92 push r2
1329 1355 0002 3F92 push r3
1330 1356 0004 4F92 push r4
1331 1357 0006 5F92 push r5
1332 1358 0008 6F92 push r6
1333 1359 000a 7F92 push r7
1334 1360 000c 8F92 push r8
1335 1361 000e 9F92 push r9
1336 1362 0010 AF92 push r10
1337 1363 0012 BF92 push r11
1338 1364 0014 CF92 push r12
1339 1365 0016 DF92 push r13
1340 1366 0018 EF92 push r14
1341 1367 001a FF92 push r15
1342 1368 001c 0F93 push r16
1343 1369 001e 1F93 push r17
1344 1370 0020 DF93 push r29
1345 1371 0022 CF93 push r28
1346 1372 0024 00D0 rcall .
1347 1373 0026 00D0 rcall .
1348 1374 0028 0F92 push __tmp_reg__
1349 1375 002a CDB7 in r28,__SP_L__
1350 1376 002c DEB7 in r29,__SP_H__
1351 1377 /* prologue: function */
1352 1378 /* frame size = 5 */
1353 1379 002e 9D83 std Y+5,r25
1354 1380 0030 8C83 std Y+4,r24
1355 1381 0032 3A01 movw r6,r20
1356 1382 0034 4B01 movw r8,r22
1358 1384 0036 DC01 movw r26,r24
1359 1385 0038 1296 adiw r26,2
1360 1386 003a 6D91 ld r22,X+
1361 1387 003c 7C91 ld r23,X
1362 1388 003e 1397 sbiw r26,2+1
1363 1389 0040 8D91 ld r24,X+
1364 1390 0042 9C91 ld r25,X
1366 1392 0044 0E94 0000 call validate
1368 1394 0048 8B83 std Y+3,r24
1371 1397 004a 8823 tst r24
1372 1398 004c 01F0 breq .+2
1373 1399 004e 00C0 rjmp .L71
1375 1401 0050 EC81 ldd r30,Y+4
1376 1402 0052 FD81 ldd r31,Y+5
1377 1403 0054 8481 ldd r24,Z+4
1378 1404 0056 87FD sbrc r24,7
1379 1405 0058 00C0 rjmp .L94
1382 1408 005a AC81 ldd r26,Y+4
1383 1409 005c BD81 ldd r27,Y+5
1384 1410 005e 1A96 adiw r26,10
1385 1411 0060 AD90 ld r10,X+
1386 1412 0062 BD90 ld r11,X+
1387 1413 0064 CD90 ld r12,X+
1388 1414 0066 DC90 ld r13,X
1389 1415 0068 1D97 sbiw r26,10+3
1391 1417 006a A614 cp r10,r6
1392 1418 006c B704 cpc r11,r7
1393 1419 006e C804 cpc r12,r8
1394 1420 0070 D904 cpc r13,r9
1395 1421 0072 00F4 brsh .L73
1396 1422 0074 81FF sbrs r24,1
1397 1423 0076 00C0 rjmp .L74
1399 1425 0078 6401 movw r12,r8
1400 1426 007a 5301 movw r10,r6
1403 1429 007c EC81 ldd r30,Y+4
1404 1430 007e FD81 ldd r31,Y+5
1405 1431 0080 2681 ldd r18,Z+6
1406 1432 0082 3781 ldd r19,Z+7
1407 1433 0084 4085 ldd r20,Z+8
1408 1434 0086 5185 ldd r21,Z+9
1411 1437 0088 1682 std Z+6,__zero_reg__
1412 1438 008a 1782 std Z+7,__zero_reg__
1413 1439 008c 1086 std Z+8,__zero_reg__
1414 1440 008e 1186 std Z+9,__zero_reg__
1415 1441 0090 8FEF ldi r24,lo8(-1)
1416 1442 0092 8583 std Z+5,r24
1418 1444 0094 A114 cp r10,__zero_reg__
1419 1445 0096 B104 cpc r11,__zero_reg__
1420 1446 0098 C104 cpc r12,__zero_reg__
1421 1447 009a D104 cpc r13,__zero_reg__
1422 1448 009c 01F4 brne .+2
1423 1449 009e 00C0 rjmp .L75
1425 1451 00a0 0190 ld __tmp_reg__,Z+
1426 1452 00a2 F081 ld r31,Z
1427 1453 00a4 E02D mov r30,__tmp_reg__
1428 1454 00a6 FA83 std Y+2,r31
1429 1455 00a8 E983 std Y+1,r30
1430 1456 00aa 8281 ldd r24,Z+2
1431 1457 00ac 682E mov r6,r24
1433 1459 00ae 7724 clr r7
1435 1461 00b0 8824 clr r8
1436 1462 00b2 9924 clr r9
1438 1464 00b4 09E0 ldi r16,9
1439 1465 00b6 660C 1: lsl r6
1440 1466 00b8 771C rol r7
1441 1467 00ba 881C rol r8
1442 1468 00bc 991C rol r9
1443 1469 00be 0A95 dec r16
1444 1470 00c0 01F4 brne 1b
1447 1473 00c2 2115 cp r18,__zero_reg__
1448 1474 00c4 3105 cpc r19,__zero_reg__
1449 1475 00c6 4105 cpc r20,__zero_reg__
1450 1476 00c8 5105 cpc r21,__zero_reg__
1451 1477 00ca 01F0 breq .L76
1452 1478 00cc 1901 movw r2,r18
1453 1479 00ce 2A01 movw r4,r20
1455 1481 00d2 2108 sbc r2,__zero_reg__
1456 1482 00d4 3108 sbc r3,__zero_reg__
1457 1483 00d6 4108 sbc r4,__zero_reg__
1458 1484 00d8 5108 sbc r5,__zero_reg__
1459 1485 00da C601 movw r24,r12
1460 1486 00dc B501 movw r22,r10
1461 1487 00de 6150 subi r22,lo8(-(-1))
1462 1488 00e0 7040 sbci r23,hi8(-(-1))
1463 1489 00e2 8040 sbci r24,hlo8(-(-1))
1464 1490 00e4 9040 sbci r25,hhi8(-(-1))
1465 1491 00e6 A401 movw r20,r8
1466 1492 00e8 9301 movw r18,r6
1468 1494 00ea 0E94 0000 call __udivmodsi4
1469 1495 00ee 7901 movw r14,r18
1470 1496 00f0 8A01 movw r16,r20
1471 1497 00f2 C201 movw r24,r4
1472 1498 00f4 B101 movw r22,r2
1473 1499 00f6 A401 movw r20,r8
1474 1500 00f8 9301 movw r18,r6
1475 1501 00fa 0E94 0000 call __udivmodsi4
1476 1502 00fe E216 cp r14,r18
1477 1503 0100 F306 cpc r15,r19
1478 1504 0102 0407 cpc r16,r20
1479 1505 0104 1507 cpc r17,r21
1480 1506 0106 00F0 brlo .L76
1482 1508 0108 8827 clr r24
1483 1509 010a 9927 clr r25
1484 1510 010c DC01 movw r26,r24
1485 1511 010e 8619 sub r24,r6
1486 1512 0110 9709 sbc r25,r7
1487 1513 0112 A809 sbc r26,r8
1488 1514 0114 B909 sbc r27,r9
1489 1515 0116 8221 and r24,r2
1490 1516 0118 9321 and r25,r3
1491 1517 011a A421 and r26,r4
1492 1518 011c B521 and r27,r5
1493 1519 011e EC81 ldd r30,Y+4
1494 1520 0120 FD81 ldd r31,Y+5
1495 1521 0122 8683 std Z+6,r24
1496 1522 0124 9783 std Z+7,r25
1497 1523 0126 A087 std Z+8,r26
1498 1524 0128 B187 std Z+9,r27
1500 1526 012a A81A sub r10,r24
1501 1527 012c B90A sbc r11,r25
1502 1528 012e CA0A sbc r12,r26
1503 1529 0130 DB0A sbc r13,r27
1505 1531 0132 4289 ldd r20,Z+18
1506 1532 0134 5389 ldd r21,Z+19
1507 1533 0136 6489 ldd r22,Z+20
1508 1534 0138 7589 ldd r23,Z+21
1510 1536 013a 00C0 rjmp .L77
1514 1540 013c AC81 ldd r26,Y+4
1515 1541 013e BD81 ldd r27,Y+5
1516 1542 0140 1E96 adiw r26,14
1517 1543 0142 4D91 ld r20,X+
1518 1544 0144 5D91 ld r21,X+
1519 1545 0146 6D91 ld r22,X+
1520 1546 0148 7C91 ld r23,X
1521 1547 014a 5197 sbiw r26,14+3
1524 1550 014c 4115 cp r20,__zero_reg__
1525 1551 014e 5105 cpc r21,__zero_reg__
1526 1552 0150 6105 cpc r22,__zero_reg__
1527 1553 0152 7105 cpc r23,__zero_reg__
1528 1554 0154 01F4 brne .L78
1530 1556 0156 8981 ldd r24,Y+1
1531 1557 0158 9A81 ldd r25,Y+2
1532 1558 015a 40E0 ldi r20,lo8(0)
1533 1559 015c 50E0 ldi r21,hi8(0)
1534 1560 015e 60E0 ldi r22,hlo8(0)
1535 1561 0160 70E0 ldi r23,hhi8(0)
1537 1563 0162 0E94 0000 call create_chain
1539 1565 0166 AB01 movw r20,r22
1540 1566 0168 BC01 movw r22,r24
1543 1569 016a 4130 cpi r20,lo8(1)
1544 1570 016c 5105 cpc r21,__zero_reg__
1545 1571 016e 6105 cpc r22,__zero_reg__
1546 1572 0170 7105 cpc r23,__zero_reg__
1547 1573 0172 01F4 brne .L79
1549 1575 0174 EC81 ldd r30,Y+4
1550 1576 0176 FD81 ldd r31,Y+5
1551 1577 0178 8481 ldd r24,Z+4
1552 1578 017a 8068 ori r24,lo8(-128)
1553 1579 017c 8483 std Z+4,r24
1556 1582 017e F2E0 ldi r31,lo8(2)
1557 1583 0180 FB83 std Y+3,r31
1559 1585 0182 00C0 rjmp .L71
1563 1589 0184 4F3F cpi r20,lo8(-1)
1564 1590 0186 8FEF ldi r24,hi8(-1)
1565 1591 0188 5807 cpc r21,r24
1566 1592 018a 8FEF ldi r24,hlo8(-1)
1567 1593 018c 6807 cpc r22,r24
1568 1594 018e 8FEF ldi r24,hhi8(-1)
1569 1595 0190 7807 cpc r23,r24
1570 1596 0192 01F0 breq .L97
1573 1599 0194 EC81 ldd r30,Y+4
1574 1600 0196 FD81 ldd r31,Y+5
1575 1601 0198 4687 std Z+14,r20
1576 1602 019a 5787 std Z+15,r21
1577 1603 019c 608B std Z+16,r22
1578 1604 019e 718B std Z+17,r23
1582 1608 01a0 AC81 ldd r26,Y+4
1583 1609 01a2 BD81 ldd r27,Y+5
1584 1610 01a4 5296 adiw r26,18
1585 1611 01a6 4D93 st X+,r20
1586 1612 01a8 5D93 st X+,r21
1587 1613 01aa 6D93 st X+,r22
1588 1614 01ac 7C93 st X,r23
1589 1615 01ae 5597 sbiw r26,18+3
1592 1618 01b0 4115 cp r20,__zero_reg__
1593 1619 01b2 5105 cpc r21,__zero_reg__
1594 1620 01b4 6105 cpc r22,__zero_reg__
1595 1621 01b6 7105 cpc r23,__zero_reg__
1596 1622 01b8 01F0 breq .+2
1597 1623 01ba 00C0 rjmp .L93
1598 1624 01bc 00C0 rjmp .L75
1601 1627 01be EC81 ldd r30,Y+4
1602 1628 01c0 FD81 ldd r31,Y+5
1603 1629 01c2 8481 ldd r24,Z+4
1604 1630 01c4 2081 ld r18,Z
1605 1631 01c6 3181 ldd r19,Z+1
1607 1633 01c8 81FF sbrs r24,1
1608 1634 01ca 00C0 rjmp .L82
1610 1636 01cc C901 movw r24,r18
1611 1637 01ce 0E94 0000 call create_chain
1613 1639 01d2 AB01 movw r20,r22
1614 1640 01d4 BC01 movw r22,r24
1617 1643 01d6 4115 cp r20,__zero_reg__
1618 1644 01d8 5105 cpc r21,__zero_reg__
1619 1645 01da 6105 cpc r22,__zero_reg__
1620 1646 01dc 7105 cpc r23,__zero_reg__
1621 1647 01de 01F4 brne .L83
1622 1648 01e0 6401 movw r12,r8
1623 1649 01e2 5301 movw r10,r6
1624 1650 01e4 00C0 rjmp .L84
1627 1653 01e6 C901 movw r24,r18
1628 1654 01e8 0E94 0000 call get_fat
1630 1656 01ec AB01 movw r20,r22
1631 1657 01ee BC01 movw r22,r24
1635 1661 01f0 4F3F cpi r20,lo8(-1)
1636 1662 01f2 FFEF ldi r31,hi8(-1)
1637 1663 01f4 5F07 cpc r21,r31
1638 1664 01f6 FFEF ldi r31,hlo8(-1)
1639 1665 01f8 6F07 cpc r22,r31
1640 1666 01fa FFEF ldi r31,hhi8(-1)
1641 1667 01fc 7F07 cpc r23,r31
1642 1668 01fe 01F4 brne .L85
1644 1670 0200 AC81 ldd r26,Y+4
1645 1671 0202 BD81 ldd r27,Y+5
1646 1672 0204 1496 adiw r26,4
1647 1673 0206 8C91 ld r24,X
1648 1674 0208 1497 sbiw r26,4
1649 1675 020a 8068 ori r24,lo8(-128)
1650 1676 020c 1496 adiw r26,4
1651 1677 020e 8C93 st X,r24
1652 1678 0210 B1E0 ldi r27,lo8(1)
1653 1679 0212 00C0 rjmp .L95
1656 1682 0214 4230 cpi r20,lo8(2)
1657 1683 0216 5105 cpc r21,__zero_reg__
1658 1684 0218 6105 cpc r22,__zero_reg__
1659 1685 021a 7105 cpc r23,__zero_reg__
1660 1686 021c 00F4 brsh .+2
1661 1687 021e 00C0 rjmp .L96
1662 1688 0220 AC81 ldd r26,Y+4
1663 1689 0222 BD81 ldd r27,Y+5
1664 1690 0224 ED91 ld r30,X+
1665 1691 0226 FC91 ld r31,X
1666 1692 0228 828D ldd r24,Z+26
1667 1693 022a 938D ldd r25,Z+27
1668 1694 022c A48D ldd r26,Z+28
1669 1695 022e B58D ldd r27,Z+29
1670 1696 0230 4817 cp r20,r24
1671 1697 0232 5907 cpc r21,r25
1672 1698 0234 6A07 cpc r22,r26
1673 1699 0236 7B07 cpc r23,r27
1674 1700 0238 00F0 brlo .+2
1675 1701 023a 00C0 rjmp .L96
1678 1704 023c AC81 ldd r26,Y+4
1679 1705 023e BD81 ldd r27,Y+5
1680 1706 0240 5296 adiw r26,18
1681 1707 0242 4D93 st X+,r20
1682 1708 0244 5D93 st X+,r21
1683 1709 0246 6D93 st X+,r22
1684 1710 0248 7C93 st X,r23
1685 1711 024a 5597 sbiw r26,18+3
1687 1713 024c FD01 movw r30,r26
1688 1714 024e 8681 ldd r24,Z+6
1689 1715 0250 9781 ldd r25,Z+7
1690 1716 0252 A085 ldd r26,Z+8
1691 1717 0254 B185 ldd r27,Z+9
1692 1718 0256 860D add r24,r6
1693 1719 0258 971D adc r25,r7
1694 1720 025a A81D adc r26,r8
1695 1721 025c B91D adc r27,r9
1696 1722 025e 8683 std Z+6,r24
1697 1723 0260 9783 std Z+7,r25
1698 1724 0262 A087 std Z+8,r26
1699 1725 0264 B187 std Z+9,r27
1701 1727 0266 A618 sub r10,r6
1702 1728 0268 B708 sbc r11,r7
1703 1729 026a C808 sbc r12,r8
1704 1730 026c D908 sbc r13,r9
1708 1734 026e 6A14 cp r6,r10
1709 1735 0270 7B04 cpc r7,r11
1710 1736 0272 8C04 cpc r8,r12
1711 1737 0274 9D04 cpc r9,r13
1712 1738 0276 00F4 brsh .+2
1713 1739 0278 00C0 rjmp .L88
1716 1742 027a EC81 ldd r30,Y+4
1717 1743 027c FD81 ldd r31,Y+5
1718 1744 027e 8681 ldd r24,Z+6
1719 1745 0280 9781 ldd r25,Z+7
1720 1746 0282 A085 ldd r26,Z+8
1721 1747 0284 B185 ldd r27,Z+9
1722 1748 0286 8A0D add r24,r10
1723 1749 0288 9B1D adc r25,r11
1724 1750 028a AC1D adc r26,r12
1725 1751 028c BD1D adc r27,r13
1726 1752 028e 8683 std Z+6,r24
1727 1753 0290 9783 std Z+7,r25
1728 1754 0292 A087 std Z+8,r26
1729 1755 0294 B187 std Z+9,r27
1731 1757 0296 D601 movw r26,r12
1732 1758 0298 C501 movw r24,r10
1733 1759 029a 19E0 ldi r17,9
1734 1760 029c B695 1: lsr r27
1735 1761 029e A795 ror r26
1736 1762 02a0 9795 ror r25
1737 1763 02a2 8795 ror r24
1738 1764 02a4 1A95 dec r17
1739 1765 02a6 01F4 brne 1b
1740 1766 02a8 E82E mov r14,r24
1741 1767 02aa 8583 std Z+5,r24
1743 1769 02ac 8FEF ldi r24,lo8(511)
1744 1770 02ae 91E0 ldi r25,hi8(511)
1745 1771 02b0 A0E0 ldi r26,hlo8(511)
1746 1772 02b2 B0E0 ldi r27,hhi8(511)
1747 1773 02b4 A822 and r10,r24
1748 1774 02b6 B922 and r11,r25
1749 1775 02b8 CA22 and r12,r26
1750 1776 02ba DB22 and r13,r27
1751 1777 02bc A114 cp r10,__zero_reg__
1752 1778 02be B104 cpc r11,__zero_reg__
1753 1779 02c0 C104 cpc r12,__zero_reg__
1754 1780 02c2 D104 cpc r13,__zero_reg__
1755 1781 02c4 01F0 breq .L75
1757 1783 02c6 8081 ld r24,Z
1758 1784 02c8 9181 ldd r25,Z+1
1759 1785 02ca 0E94 0000 call clust2sect
1762 1788 02ce 6115 cp r22,__zero_reg__
1763 1789 02d0 7105 cpc r23,__zero_reg__
1764 1790 02d2 8105 cpc r24,__zero_reg__
1765 1791 02d4 9105 cpc r25,__zero_reg__
1767 1793 02d6 01F4 brne .L89
1768 1794 02d8 AC81 ldd r26,Y+4
1769 1795 02da BD81 ldd r27,Y+5
1770 1796 02dc 1496 adiw r26,4
1771 1797 02de 8C91 ld r24,X
1772 1798 02e0 1497 sbiw r26,4
1773 1799 02e2 8068 ori r24,lo8(-128)
1774 1800 02e4 1496 adiw r26,4
1775 1801 02e6 8C93 st X,r24
1776 1802 02e8 B2E0 ldi r27,lo8(2)
1779 1805 02ea BB83 std Y+3,r27
1781 1807 02ec 00C0 rjmp .L71
1785 1811 02ee 9B01 movw r18,r22
1786 1812 02f0 AC01 movw r20,r24
1787 1813 02f2 2E0D add r18,r14
1788 1814 02f4 311D adc r19,__zero_reg__
1789 1815 02f6 411D adc r20,__zero_reg__
1790 1816 02f8 511D adc r21,__zero_reg__
1793 1819 02fa E394 inc r14
1794 1820 02fc EC81 ldd r30,Y+4
1795 1821 02fe FD81 ldd r31,Y+5
1796 1822 0300 E582 std Z+5,r14
1797 1823 0302 00C0 rjmp .L90
1800 1826 0304 20E0 ldi r18,lo8(0)
1801 1827 0306 30E0 ldi r19,hi8(0)
1802 1828 0308 40E0 ldi r20,hlo8(0)
1803 1829 030a 50E0 ldi r21,hhi8(0)
1807 1833 030c EC81 ldd r30,Y+4
1808 1834 030e FD81 ldd r31,Y+5
1809 1835 0310 8681 ldd r24,Z+6
1810 1836 0312 9781 ldd r25,Z+7
1811 1837 0314 A085 ldd r26,Z+8
1812 1838 0316 B185 ldd r27,Z+9
1813 1839 0318 9170 andi r25,hi8(511)
1814 1840 031a A070 andi r26,hlo8(511)
1815 1841 031c B070 andi r27,hhi8(511)
1816 1842 031e 0097 sbiw r24,0
1817 1843 0320 A105 cpc r26,__zero_reg__
1818 1844 0322 B105 cpc r27,__zero_reg__
1819 1845 0324 01F0 breq .L91
1820 1846 0326 8689 ldd r24,Z+22
1821 1847 0328 9789 ldd r25,Z+23
1822 1848 032a A08D ldd r26,Z+24
1823 1849 032c B18D ldd r27,Z+25
1824 1850 032e 2817 cp r18,r24
1825 1851 0330 3907 cpc r19,r25
1826 1852 0332 4A07 cpc r20,r26
1827 1853 0334 5B07 cpc r21,r27
1828 1854 0336 01F0 breq .L91
1830 1856 0338 268B std Z+22,r18
1831 1857 033a 378B std Z+23,r19
1832 1858 033c 408F std Z+24,r20
1833 1859 033e 518F std Z+25,r21
1836 1862 0340 EC81 ldd r30,Y+4
1837 1863 0342 FD81 ldd r31,Y+5
1838 1864 0344 2681 ldd r18,Z+6
1839 1865 0346 3781 ldd r19,Z+7
1840 1866 0348 4085 ldd r20,Z+8
1841 1867 034a 5185 ldd r21,Z+9
1843 1869 034c 8285 ldd r24,Z+10
1844 1870 034e 9385 ldd r25,Z+11
1845 1871 0350 A485 ldd r26,Z+12
1846 1872 0352 B585 ldd r27,Z+13
1847 1873 0354 8217 cp r24,r18
1848 1874 0356 9307 cpc r25,r19
1849 1875 0358 A407 cpc r26,r20
1850 1876 035a B507 cpc r27,r21
1851 1877 035c 00F4 brsh .L71
1853 1879 035e 2287 std Z+10,r18
1854 1880 0360 3387 std Z+11,r19
1855 1881 0362 4487 std Z+12,r20
1856 1882 0364 5587 std Z+13,r21
1858 1884 0366 8481 ldd r24,Z+4
1859 1885 0368 8062 ori r24,lo8(32)
1860 1886 036a 8483 std Z+4,r24
1864 1890 036c 8B81 ldd r24,Y+3
1865 1891 /* epilogue start */
1866 1892 036e 0F90 pop __tmp_reg__
1867 1893 0370 0F90 pop __tmp_reg__
1868 1894 0372 0F90 pop __tmp_reg__
1869 1895 0374 0F90 pop __tmp_reg__
1870 1896 0376 0F90 pop __tmp_reg__
1871 1897 0378 CF91 pop r28
1872 1898 037a DF91 pop r29
1873 1899 037c 1F91 pop r17
1874 1900 037e 0F91 pop r16
1875 1901 0380 FF90 pop r15
1876 1902 0382 EF90 pop r14
1877 1903 0384 DF90 pop r13
1878 1904 0386 CF90 pop r12
1879 1905 0388 BF90 pop r11
1880 1906 038a AF90 pop r10
1882 1908 038c 9F90 pop r9
1883 1909 038e 8F90 pop r8
1885 1911 0390 7F90 pop r7
1887 1913 0392 6F90 pop r6
1889 1915 0394 5F90 pop r5
1890 1916 0396 4F90 pop r4
1891 1917 0398 3F90 pop r3
1892 1918 039a 2F90 pop r2
1895 1922 .section .text.dir_seek,"ax",@progbits
1900 1928 0000 EF92 push r14
1901 1929 0002 FF92 push r15
1902 1930 0004 0F93 push r16
1903 1931 0006 1F93 push r17
1904 1932 0008 CF93 push r28
1905 1933 000a DF93 push r29
1906 1934 /* prologue: function */
1907 1935 /* frame size = 0 */
1908 1936 000c 8C01 movw r16,r24
1909 1937 000e EB01 movw r28,r22
1911 1939 0010 DC01 movw r26,r24
1912 1940 0012 1596 adiw r26,4+1
1913 1941 0014 7C93 st X,r23
1914 1942 0016 6E93 st -X,r22
1915 1943 0018 1497 sbiw r26,4
1917 1945 001a 1696 adiw r26,6
1918 1946 001c 4D91 ld r20,X+
1919 1947 001e 5D91 ld r21,X+
1920 1948 0020 6D91 ld r22,X+
1921 1949 0022 7C91 ld r23,X
1922 1950 0024 1997 sbiw r26,6+3
1925 1953 0026 4130 cpi r20,lo8(1)
1926 1954 0028 5105 cpc r21,__zero_reg__
1927 1955 002a 6105 cpc r22,__zero_reg__
1928 1956 002c 7105 cpc r23,__zero_reg__
1929 1957 002e 01F4 brne .+2
1930 1958 0030 00C0 rjmp .L99
1931 1959 0032 ED91 ld r30,X+
1932 1960 0034 FC91 ld r31,X
1933 1961 0036 828D ldd r24,Z+26
1934 1962 0038 938D ldd r25,Z+27
1935 1963 003a A48D ldd r26,Z+28
1936 1964 003c B58D ldd r27,Z+29
1938 1966 003e 4817 cp r20,r24
1939 1967 0040 5907 cpc r21,r25
1940 1968 0042 6A07 cpc r22,r26
1941 1969 0044 7B07 cpc r23,r27
1942 1970 0046 00F0 brlo .+2
1943 1971 0048 00C0 rjmp .L99
1945 1973 004a 4115 cp r20,__zero_reg__
1946 1974 004c 5105 cpc r21,__zero_reg__
1947 1975 004e 6105 cpc r22,__zero_reg__
1948 1976 0050 7105 cpc r23,__zero_reg__
1949 1977 0052 01F4 brne .L100
1950 1978 0054 8081 ld r24,Z
1951 1979 0056 8330 cpi r24,lo8(3)
1952 1980 0058 01F4 brne .L101
1954 1982 005a 42A1 ldd r20,Z+34
1955 1983 005c 53A1 ldd r21,Z+35
1956 1984 005e 64A1 ldd r22,Z+36
1957 1985 0060 75A1 ldd r23,Z+37
1959 1987 0062 4115 cp r20,__zero_reg__
1960 1988 0064 5105 cpc r21,__zero_reg__
1961 1989 0066 6105 cpc r22,__zero_reg__
1962 1990 0068 7105 cpc r23,__zero_reg__
1963 1991 006a 01F4 brne .L100
1966 1994 006c F801 movw r30,r16
1967 1995 006e 1286 std Z+10,__zero_reg__
1968 1996 0070 1386 std Z+11,__zero_reg__
1969 1997 0072 1486 std Z+12,__zero_reg__
1970 1998 0074 1586 std Z+13,__zero_reg__
1972 2000 0076 0190 ld __tmp_reg__,Z+
1973 2001 0078 F081 ld r31,Z
1974 2002 007a E02D mov r30,__tmp_reg__
1975 2003 007c 8085 ldd r24,Z+8
1976 2004 007e 9185 ldd r25,Z+9
1977 2005 0080 C817 cp r28,r24
1978 2006 0082 D907 cpc r29,r25
1979 2007 0084 00F0 brlo .+2
1980 2008 0086 00C0 rjmp .L99
1983 2011 0088 CE01 movw r24,r28
1984 2012 008a A4E0 ldi r26,4
1985 2013 008c 9695 1: lsr r25
1986 2014 008e 8795 ror r24
1987 2015 0090 AA95 dec r26
1988 2016 0092 01F4 brne 1b
1989 2017 0094 A0E0 ldi r26,lo8(0)
1990 2018 0096 B0E0 ldi r27,hi8(0)
1991 2019 0098 22A1 ldd r18,Z+34
1992 2020 009a 33A1 ldd r19,Z+35
1993 2021 009c 44A1 ldd r20,Z+36
1994 2022 009e 55A1 ldd r21,Z+37
1995 2023 00a0 820F add r24,r18
1996 2024 00a2 931F adc r25,r19
1997 2025 00a4 A41F adc r26,r20
1998 2026 00a6 B51F adc r27,r21
1999 2027 00a8 F801 movw r30,r16
2000 2028 00aa 8687 std Z+14,r24
2001 2029 00ac 9787 std Z+15,r25
2002 2030 00ae A08B std Z+16,r26
2003 2031 00b0 B18B std Z+17,r27
2004 2032 00b2 00C0 rjmp .L102
2008 2036 00b4 8281 ldd r24,Z+2
2009 2037 00b6 E82E mov r14,r24
2011 2039 00b8 FF24 clr r15
2013 2041 00ba E4E0 ldi r30,4
2014 2042 00bc EE0C 1: lsl r14
2015 2043 00be FF1C rol r15
2016 2044 00c0 EA95 dec r30
2017 2045 00c2 01F4 brne 1b
2019 2047 00c4 00C0 rjmp .L103
2023 2051 00c6 0E94 0000 call get_fat
2025 2053 00ca AB01 movw r20,r22
2026 2054 00cc BC01 movw r22,r24
2029 2057 00ce 4F3F cpi r20,lo8(-1)
2030 2058 00d0 FFEF ldi r31,hi8(-1)
2031 2059 00d2 5F07 cpc r21,r31
2032 2060 00d4 FFEF ldi r31,hlo8(-1)
2033 2061 00d6 6F07 cpc r22,r31
2034 2062 00d8 FFEF ldi r31,hhi8(-1)
2035 2063 00da 7F07 cpc r23,r31
2036 2064 00dc 01F4 brne .L104
2037 2065 00de 81E0 ldi r24,lo8(1)
2038 2066 00e0 00C0 rjmp .L105
2041 2069 00e2 4230 cpi r20,lo8(2)
2042 2070 00e4 5105 cpc r21,__zero_reg__
2043 2071 00e6 6105 cpc r22,__zero_reg__
2044 2072 00e8 7105 cpc r23,__zero_reg__
2045 2073 00ea 00F4 brsh .+2
2046 2074 00ec 00C0 rjmp .L99
2047 2075 00ee D801 movw r26,r16
2048 2076 00f0 ED91 ld r30,X+
2049 2077 00f2 FC91 ld r31,X
2050 2078 00f4 828D ldd r24,Z+26
2051 2079 00f6 938D ldd r25,Z+27
2052 2080 00f8 A48D ldd r26,Z+28
2053 2081 00fa B58D ldd r27,Z+29
2054 2082 00fc 4817 cp r20,r24
2055 2083 00fe 5907 cpc r21,r25
2056 2084 0100 6A07 cpc r22,r26
2057 2085 0102 7B07 cpc r23,r27
2058 2086 0104 00F4 brsh .L99
2060 2088 0106 CE19 sub r28,r14
2061 2089 0108 DF09 sbc r29,r15
2064 2092 010a F801 movw r30,r16
2065 2093 010c 8081 ld r24,Z
2066 2094 010e 9181 ldd r25,Z+1
2068 2096 0110 CE15 cp r28,r14
2069 2097 0112 DF05 cpc r29,r15
2070 2098 0114 00F4 brsh .L106
2072 2100 0116 D801 movw r26,r16
2073 2101 0118 1A96 adiw r26,10
2074 2102 011a 4D93 st X+,r20
2075 2103 011c 5D93 st X+,r21
2076 2104 011e 6D93 st X+,r22
2077 2105 0120 7C93 st X,r23
2078 2106 0122 1D97 sbiw r26,10+3
2080 2108 0124 0E94 0000 call clust2sect
2082 2110 0128 9E01 movw r18,r28
2083 2111 012a 44E0 ldi r20,4
2084 2112 012c 3695 1: lsr r19
2085 2113 012e 2795 ror r18
2086 2114 0130 4A95 dec r20
2087 2115 0132 01F4 brne 1b
2088 2116 0134 40E0 ldi r20,lo8(0)
2089 2117 0136 50E0 ldi r21,hi8(0)
2090 2118 0138 260F add r18,r22
2091 2119 013a 371F adc r19,r23
2092 2120 013c 481F adc r20,r24
2093 2121 013e 591F adc r21,r25
2094 2122 0140 F801 movw r30,r16
2095 2123 0142 2687 std Z+14,r18
2096 2124 0144 3787 std Z+15,r19
2097 2125 0146 408B std Z+16,r20
2098 2126 0148 518B std Z+17,r21
2102 2130 014a CF70 andi r28,lo8(15)
2103 2131 014c D070 andi r29,hi8(15)
2104 2132 014e 85E0 ldi r24,5
2105 2133 0150 CC0F 1: lsl r28
2106 2134 0152 DD1F rol r29
2107 2135 0154 8A95 dec r24
2108 2136 0156 01F4 brne 1b
2109 2137 0158 AE96 adiw r28,46
2110 2138 015a D801 movw r26,r16
2111 2139 015c 8D91 ld r24,X+
2112 2140 015e 9C91 ld r25,X
2113 2141 0160 1197 sbiw r26,1
2114 2142 0162 8C0F add r24,r28
2115 2143 0164 9D1F adc r25,r29
2116 2144 0166 5396 adiw r26,18+1
2117 2145 0168 9C93 st X,r25
2118 2146 016a 8E93 st -X,r24
2119 2147 016c 5297 sbiw r26,18
2120 2148 016e 80E0 ldi r24,lo8(0)
2121 2149 0170 00C0 rjmp .L105
2125 2153 0172 82E0 ldi r24,lo8(2)
2127 2155 /* epilogue start */
2129 2157 0174 DF91 pop r29
2130 2158 0176 CF91 pop r28
2132 2160 0178 1F91 pop r17
2133 2161 017a 0F91 pop r16
2135 2163 017c FF90 pop r15
2137 2165 017e EF90 pop r14
2141 2170 .section .text.f_write,"ax",@progbits
2142 2171 .global f_write
2147 2177 0000 2F92 push r2
2148 2178 0002 3F92 push r3
2149 2179 0004 4F92 push r4
2150 2180 0006 5F92 push r5
2151 2181 0008 6F92 push r6
2152 2182 000a 7F92 push r7
2153 2183 000c 8F92 push r8
2154 2184 000e 9F92 push r9
2155 2185 0010 AF92 push r10
2156 2186 0012 BF92 push r11
2157 2187 0014 CF92 push r12
2158 2188 0016 DF92 push r13
2159 2189 0018 EF92 push r14
2160 2190 001a FF92 push r15
2161 2191 001c 0F93 push r16
2162 2192 001e 1F93 push r17
2163 2193 0020 CF93 push r28
2164 2194 0022 DF93 push r29
2165 2195 /* prologue: function */
2166 2196 /* frame size = 0 */
2167 2197 0024 EC01 movw r28,r24
2168 2198 0026 162F mov r17,r22
2169 2199 0028 072F mov r16,r23
2171 2201 002a 4A01 movw r8,r20
2172 2202 002c 1901 movw r2,r18
2174 2204 002e F901 movw r30,r18
2175 2205 0030 1182 std Z+1,__zero_reg__
2176 2206 0032 1082 st Z,__zero_reg__
2178 2208 0034 6A81 ldd r22,Y+2
2179 2209 0036 7B81 ldd r23,Y+3
2181 2211 0038 8881 ld r24,Y
2182 2212 003a 9981 ldd r25,Y+1
2184 2214 003c 0E94 0000 call validate
2186 2216 0040 782E mov r7,r24
2189 2219 0042 8823 tst r24
2190 2220 0044 01F0 breq .+2
2191 2221 0046 00C0 rjmp .L109
2194 2224 0048 8C81 ldd r24,Y+4
2196 2226 004a 87FD sbrc r24,7
2197 2227 004c 00C0 rjmp .L136
2200 2230 004e 81FD sbrc r24,1
2201 2231 0050 00C0 rjmp .L111
2202 2232 0052 27E0 ldi r18,lo8(7)
2203 2233 0054 722E mov r7,r18
2204 2234 0056 00C0 rjmp .L109
2207 2237 0058 2A85 ldd r18,Y+10
2208 2238 005a 3B85 ldd r19,Y+11
2209 2239 005c 4C85 ldd r20,Y+12
2210 2240 005e 5D85 ldd r21,Y+13
2211 2241 0060 C401 movw r24,r8
2212 2242 0062 A0E0 ldi r26,lo8(0)
2213 2243 0064 B0E0 ldi r27,hi8(0)
2215 2245 0066 820F add r24,r18
2216 2246 0068 931F adc r25,r19
2217 2247 006a A41F adc r26,r20
2218 2248 006c B51F adc r27,r21
2220 2250 006e 8217 cp r24,r18
2221 2251 0070 9307 cpc r25,r19
2222 2252 0072 A407 cpc r26,r20
2223 2253 0074 B507 cpc r27,r21
2224 2254 0076 00F4 brsh .L112
2225 2255 0078 8824 clr r8
2226 2256 007a 9924 clr r9
2230 2260 007c 812F mov r24,r17
2232 2262 007e 902F mov r25,r16
2234 2264 0080 9C01 movw r18,r24
2236 2266 0082 2901 movw r4,r18
2239 2269 0084 6624 clr r6
2240 2270 0086 6394 inc r6
2241 2271 0088 00C0 rjmp .L113
2245 2275 008a 2E81 ldd r18,Y+6
2246 2276 008c 3F81 ldd r19,Y+7
2247 2277 008e 4885 ldd r20,Y+8
2248 2278 0090 5985 ldd r21,Y+9
2249 2279 0092 DA01 movw r26,r20
2250 2280 0094 C901 movw r24,r18
2251 2281 0096 9170 andi r25,hi8(511)
2252 2282 0098 A070 andi r26,hlo8(511)
2253 2283 009a B070 andi r27,hhi8(511)
2254 2284 009c 0097 sbiw r24,0
2255 2285 009e A105 cpc r26,__zero_reg__
2256 2286 00a0 B105 cpc r27,__zero_reg__
2257 2287 00a2 01F0 breq .+2
2258 2288 00a4 00C0 rjmp .L114
2260 2290 00a6 E881 ld r30,Y
2261 2291 00a8 F981 ldd r31,Y+1
2262 2292 00aa 9D81 ldd r25,Y+5
2264 2294 00ac 8281 ldd r24,Z+2
2265 2295 00ae 9817 cp r25,r24
2266 2296 00b0 00F4 brsh .+2
2267 2297 00b2 00C0 rjmp .L115
2269 2299 00b4 2115 cp r18,__zero_reg__
2270 2300 00b6 3105 cpc r19,__zero_reg__
2271 2301 00b8 4105 cpc r20,__zero_reg__
2272 2302 00ba 5105 cpc r21,__zero_reg__
2273 2303 00bc 01F4 brne .L116
2275 2305 00be 6E85 ldd r22,Y+14
2276 2306 00c0 7F85 ldd r23,Y+15
2277 2307 00c2 8889 ldd r24,Y+16
2278 2308 00c4 9989 ldd r25,Y+17
2281 2311 00c6 6115 cp r22,__zero_reg__
2282 2312 00c8 7105 cpc r23,__zero_reg__
2283 2313 00ca 8105 cpc r24,__zero_reg__
2284 2314 00cc 9105 cpc r25,__zero_reg__
2285 2315 00ce 01F4 brne .L117
2287 2317 00d0 CF01 movw r24,r30
2288 2318 00d2 40E0 ldi r20,lo8(0)
2289 2319 00d4 50E0 ldi r21,hi8(0)
2290 2320 00d6 60E0 ldi r22,hlo8(0)
2291 2321 00d8 70E0 ldi r23,hhi8(0)
2292 2322 00da 0E94 0000 call create_chain
2294 2324 00de 6E87 std Y+14,r22
2295 2325 00e0 7F87 std Y+15,r23
2296 2326 00e2 888B std Y+16,r24
2297 2327 00e4 998B std Y+17,r25
2299 2329 00e6 00C0 rjmp .L118
2303 2333 00e8 4A89 ldd r20,Y+18
2304 2334 00ea 5B89 ldd r21,Y+19
2305 2335 00ec 6C89 ldd r22,Y+20
2306 2336 00ee 7D89 ldd r23,Y+21
2307 2337 00f0 CF01 movw r24,r30
2308 2338 00f2 0E94 0000 call create_chain
2312 2342 00f6 6115 cp r22,__zero_reg__
2313 2343 00f8 7105 cpc r23,__zero_reg__
2314 2344 00fa 8105 cpc r24,__zero_reg__
2315 2345 00fc 9105 cpc r25,__zero_reg__
2316 2346 00fe 01F4 brne .+2
2317 2347 0100 00C0 rjmp .L119
2321 2351 0102 6130 cpi r22,lo8(1)
2322 2352 0104 7105 cpc r23,__zero_reg__
2323 2353 0106 8105 cpc r24,__zero_reg__
2324 2354 0108 9105 cpc r25,__zero_reg__
2325 2355 010a 01F4 brne .L120
2328 2358 010c 8C81 ldd r24,Y+4
2329 2359 010e 8068 ori r24,lo8(-128)
2330 2360 0110 8C83 std Y+4,r24
2332 2362 0112 92E0 ldi r25,lo8(2)
2333 2363 0114 792E mov r7,r25
2334 2364 0116 00C0 rjmp .L109
2338 2368 0118 6F3F cpi r22,lo8(-1)
2339 2369 011a FFEF ldi r31,hi8(-1)
2340 2370 011c 7F07 cpc r23,r31
2341 2371 011e FFEF ldi r31,hlo8(-1)
2342 2372 0120 8F07 cpc r24,r31
2343 2373 0122 FFEF ldi r31,hhi8(-1)
2344 2374 0124 9F07 cpc r25,r31
2345 2375 0126 01F4 brne .+2
2346 2376 0128 00C0 rjmp .L137
2349 2379 012a 6A8B std Y+18,r22
2350 2380 012c 7B8B std Y+19,r23
2351 2381 012e 8C8B std Y+20,r24
2352 2382 0130 9D8B std Y+21,r25
2354 2384 0132 1D82 std Y+5,__zero_reg__
2357 2387 0134 E881 ld r30,Y
2358 2388 0136 F981 ldd r31,Y+1
2359 2389 0138 22A5 ldd r18,Z+42
2360 2390 013a 33A5 ldd r19,Z+43
2361 2391 013c 44A5 ldd r20,Z+44
2362 2392 013e 55A5 ldd r21,Z+45
2363 2393 0140 8E89 ldd r24,Y+22
2364 2394 0142 9F89 ldd r25,Y+23
2365 2395 0144 A88D ldd r26,Y+24
2366 2396 0146 B98D ldd r27,Y+25
2367 2397 0148 2817 cp r18,r24
2368 2398 014a 3907 cpc r19,r25
2369 2399 014c 4A07 cpc r20,r26
2370 2400 014e 5B07 cpc r21,r27
2371 2401 0150 01F4 brne .L122
2372 2402 0152 CF01 movw r24,r30
2373 2403 0154 40E0 ldi r20,lo8(0)
2374 2404 0156 50E0 ldi r21,hi8(0)
2375 2405 0158 60E0 ldi r22,hlo8(0)
2376 2406 015a 70E0 ldi r23,hhi8(0)
2377 2407 015c 0E94 0000 call move_window
2379 2409 0160 8823 tst r24
2380 2410 0162 01F0 breq .+2
2381 2411 0164 00C0 rjmp .L137
2385 2415 0166 0881 ld r16,Y
2386 2416 0168 1981 ldd r17,Y+1
2388 2418 016a 4A89 ldd r20,Y+18
2389 2419 016c 5B89 ldd r21,Y+19
2390 2420 016e 6C89 ldd r22,Y+20
2391 2421 0170 7D89 ldd r23,Y+21
2392 2422 0172 C801 movw r24,r16
2393 2423 0174 0E94 0000 call clust2sect
2396 2426 0178 6115 cp r22,__zero_reg__
2397 2427 017a 7105 cpc r23,__zero_reg__
2398 2428 017c 8105 cpc r24,__zero_reg__
2399 2429 017e 9105 cpc r25,__zero_reg__
2400 2430 0180 01F0 breq .L138
2404 2434 0182 3D81 ldd r19,Y+5
2405 2435 0184 5B01 movw r10,r22
2406 2436 0186 6C01 movw r12,r24
2407 2437 0188 A30E add r10,r19
2408 2438 018a B11C adc r11,__zero_reg__
2409 2439 018c C11C adc r12,__zero_reg__
2410 2440 018e D11C adc r13,__zero_reg__
2413 2443 0190 7401 movw r14,r8
2414 2444 0192 EF2C mov r14,r15
2415 2445 0194 FF24 clr r15
2416 2446 0196 E694 lsr r14
2418 2448 0198 E114 cp r14,__zero_reg__
2419 2449 019a F104 cpc r15,__zero_reg__
2420 2450 019c 01F4 brne .+2
2421 2451 019e 00C0 rjmp .L124
2423 2453 01a0 F801 movw r30,r16
2424 2454 01a2 2281 ldd r18,Z+2
2425 2455 01a4 432F mov r20,r19
2426 2456 01a6 50E0 ldi r21,lo8(0)
2427 2457 01a8 C701 movw r24,r14
2428 2458 01aa 840F add r24,r20
2429 2459 01ac 951F adc r25,r21
2430 2460 01ae 30E0 ldi r19,lo8(0)
2431 2461 01b0 2817 cp r18,r24
2432 2462 01b2 3907 cpc r19,r25
2433 2463 01b4 00F4 brsh .L125
2435 2465 01b6 7901 movw r14,r18
2436 2466 01b8 E41A sub r14,r20
2437 2467 01ba F50A sbc r15,r21
2440 2470 01bc F801 movw r30,r16
2441 2471 01be 8181 ldd r24,Z+1
2442 2472 01c0 B201 movw r22,r4
2443 2473 01c2 A601 movw r20,r12
2444 2474 01c4 9501 movw r18,r10
2445 2475 01c6 0E2D mov r16,r14
2446 2476 01c8 0E94 0000 call disk_write
2447 2477 01cc 8823 tst r24
2448 2478 01ce 01F0 breq .+2
2449 2479 01d0 00C0 rjmp .L137
2452 2482 01d2 E881 ld r30,Y
2453 2483 01d4 F981 ldd r31,Y+1
2454 2484 01d6 22A5 ldd r18,Z+42
2455 2485 01d8 33A5 ldd r19,Z+43
2456 2486 01da 44A5 ldd r20,Z+44
2457 2487 01dc 55A5 ldd r21,Z+45
2458 2488 01de 2A19 sub r18,r10
2459 2489 01e0 3B09 sbc r19,r11
2460 2490 01e2 4C09 sbc r20,r12
2461 2491 01e4 5D09 sbc r21,r13
2462 2492 01e6 C701 movw r24,r14
2463 2493 01e8 A0E0 ldi r26,lo8(0)
2464 2494 01ea B0E0 ldi r27,hi8(0)
2466 2496 01ec 2817 cp r18,r24
2467 2497 01ee 3907 cpc r19,r25
2468 2498 01f0 4A07 cpc r20,r26
2469 2499 01f2 5B07 cpc r21,r27
2470 2500 01f4 00F4 brsh .L127
2473 2503 01f6 19E0 ldi r17,9
2474 2504 01f8 220F 1: lsl r18
2475 2505 01fa 331F rol r19
2476 2506 01fc 441F rol r20
2477 2507 01fe 551F rol r21
2478 2508 0200 1A95 dec r17
2479 2509 0202 01F4 brne 1b
2481 2511 0204 B201 movw r22,r4
2482 2512 0206 620F add r22,r18
2483 2513 0208 731F adc r23,r19
2484 2514 020a CF01 movw r24,r30
2486 2516 020c 8E96 adiw r24,46
2487 2517 020e 40E0 ldi r20,lo8(512)
2488 2518 0210 52E0 ldi r21,hi8(512)
2489 2519 0212 0E94 0000 call mem_cpy
2492 2522 0216 E881 ld r30,Y
2493 2523 0218 F981 ldd r31,Y+1
2494 2524 021a 1482 std Z+4,__zero_reg__
2498 2528 021c 8D81 ldd r24,Y+5
2499 2529 021e 8E0D add r24,r14
2500 2530 0220 8D83 std Y+5,r24
2502 2532 0222 8701 movw r16,r14
2504 2534 0224 102F mov r17,r16
2505 2535 0226 0027 clr r16
2506 2536 0228 110F lsl r17
2507 2537 022a 00C0 rjmp .L128
2511 2541 022c 2E81 ldd r18,Y+6
2512 2542 022e 3F81 ldd r19,Y+7
2513 2543 0230 4885 ldd r20,Y+8
2514 2544 0232 5985 ldd r21,Y+9
2515 2545 0234 8A85 ldd r24,Y+10
2516 2546 0236 9B85 ldd r25,Y+11
2517 2547 0238 AC85 ldd r26,Y+12
2518 2548 023a BD85 ldd r27,Y+13
2519 2549 023c 2817 cp r18,r24
2520 2550 023e 3907 cpc r19,r25
2521 2551 0240 4A07 cpc r20,r26
2522 2552 0242 5B07 cpc r21,r27
2523 2553 0244 00F0 brlo .L129
2525 2555 0246 C801 movw r24,r16
2526 2556 0248 40E0 ldi r20,lo8(0)
2527 2557 024a 50E0 ldi r21,hi8(0)
2528 2558 024c 60E0 ldi r22,hlo8(0)
2529 2559 024e 70E0 ldi r23,hhi8(0)
2530 2560 0250 0E94 0000 call move_window
2531 2561 0254 8823 tst r24
2532 2562 0256 01F4 brne .L137
2535 2565 0258 E881 ld r30,Y
2536 2566 025a F981 ldd r31,Y+1
2537 2567 025c A2A6 std Z+42,r10
2538 2568 025e B3A6 std Z+43,r11
2539 2569 0260 C4A6 std Z+44,r12
2540 2570 0262 D5A6 std Z+45,r13
2543 2573 0264 AE8A std Y+22,r10
2544 2574 0266 BF8A std Y+23,r11
2545 2575 0268 C88E std Y+24,r12
2546 2576 026a D98E std Y+25,r13
2548 2578 026c 8D81 ldd r24,Y+5
2549 2579 026e 8F5F subi r24,lo8(-(1))
2550 2580 0270 8D83 std Y+5,r24
2554 2584 0272 EE80 ldd r14,Y+6
2555 2585 0274 FF80 ldd r15,Y+7
2556 2586 0276 0885 ldd r16,Y+8
2557 2587 0278 1985 ldd r17,Y+9
2560 2590 027a 4E89 ldd r20,Y+22
2561 2591 027c 5F89 ldd r21,Y+23
2562 2592 027e 688D ldd r22,Y+24
2563 2593 0280 798D ldd r23,Y+25
2564 2594 0282 8881 ld r24,Y
2565 2595 0284 9981 ldd r25,Y+1
2566 2596 0286 0E94 0000 call move_window
2568 2598 028a 8823 tst r24
2569 2599 028c 01F0 breq .L131
2573 2603 028e 8C81 ldd r24,Y+4
2574 2604 0290 8068 ori r24,lo8(-128)
2575 2605 0292 8C83 std Y+4,r24
2576 2606 0294 7724 clr r7
2577 2607 0296 7394 inc r7
2578 2608 0298 00C0 rjmp .L109
2582 2612 029a C701 movw r24,r14
2583 2613 029c 9170 andi r25,hi8(511)
2584 2614 029e 20E0 ldi r18,lo8(512)
2585 2615 02a0 32E0 ldi r19,hi8(512)
2586 2616 02a2 281B sub r18,r24
2587 2617 02a4 390B sbc r19,r25
2588 2618 02a6 8401 movw r16,r8
2590 2620 02a8 2815 cp r18,r8
2591 2621 02aa 3905 cpc r19,r9
2592 2622 02ac 00F4 brsh .L132
2594 2624 02ae 8901 movw r16,r18
2597 2627 02b0 2E81 ldd r18,Y+6
2598 2628 02b2 3F81 ldd r19,Y+7
2600 2630 02b4 3170 andi r19,hi8(511)
2601 2631 02b6 225D subi r18,lo8(-(46))
2602 2632 02b8 3F4F sbci r19,hi8(-(46))
2603 2633 02ba 8881 ld r24,Y
2604 2634 02bc 9981 ldd r25,Y+1
2605 2635 02be 820F add r24,r18
2606 2636 02c0 931F adc r25,r19
2607 2637 02c2 B201 movw r22,r4
2608 2638 02c4 A801 movw r20,r16
2609 2639 02c6 0E94 0000 call mem_cpy
2611 2641 02ca E881 ld r30,Y
2612 2642 02cc F981 ldd r31,Y+1
2613 2643 02ce 6482 std Z+4,r6
2617 2647 02d0 400E add r4,r16
2618 2648 02d2 511E adc r5,r17
2619 2649 02d4 C801 movw r24,r16
2620 2650 02d6 A0E0 ldi r26,lo8(0)
2621 2651 02d8 B0E0 ldi r27,hi8(0)
2623 2653 02da 2E81 ldd r18,Y+6
2624 2654 02dc 3F81 ldd r19,Y+7
2625 2655 02de 4885 ldd r20,Y+8
2626 2656 02e0 5985 ldd r21,Y+9
2627 2657 02e2 280F add r18,r24
2628 2658 02e4 391F adc r19,r25
2629 2659 02e6 4A1F adc r20,r26
2630 2660 02e8 5B1F adc r21,r27
2631 2661 02ea 2E83 std Y+6,r18
2632 2662 02ec 3F83 std Y+7,r19
2633 2663 02ee 4887 std Y+8,r20
2634 2664 02f0 5987 std Y+9,r21
2635 2665 02f2 F101 movw r30,r2
2636 2666 02f4 8081 ld r24,Z
2637 2667 02f6 9181 ldd r25,Z+1
2638 2668 02f8 800F add r24,r16
2639 2669 02fa 911F adc r25,r17
2640 2670 02fc 9183 std Z+1,r25
2641 2671 02fe 8083 st Z,r24
2642 2672 0300 801A sub r8,r16
2643 2673 0302 910A sbc r9,r17
2647 2677 0304 8114 cp r8,__zero_reg__
2648 2678 0306 9104 cpc r9,__zero_reg__
2649 2679 0308 01F0 breq .+2
2650 2680 030a 00C0 rjmp .L133
2654 2684 030c 2E81 ldd r18,Y+6
2655 2685 030e 3F81 ldd r19,Y+7
2656 2686 0310 4885 ldd r20,Y+8
2657 2687 0312 5985 ldd r21,Y+9
2658 2688 0314 8A85 ldd r24,Y+10
2659 2689 0316 9B85 ldd r25,Y+11
2660 2690 0318 AC85 ldd r26,Y+12
2661 2691 031a BD85 ldd r27,Y+13
2662 2692 031c 8217 cp r24,r18
2663 2693 031e 9307 cpc r25,r19
2664 2694 0320 A407 cpc r26,r20
2665 2695 0322 B507 cpc r27,r21
2666 2696 0324 00F4 brsh .L134
2667 2697 0326 2A87 std Y+10,r18
2668 2698 0328 3B87 std Y+11,r19
2669 2699 032a 4C87 std Y+12,r20
2670 2700 032c 5D87 std Y+13,r21
2673 2703 032e 8C81 ldd r24,Y+4
2674 2704 0330 8062 ori r24,lo8(32)
2675 2705 0332 8C83 std Y+4,r24
2679 2709 0334 872D mov r24,r7
2680 2710 /* epilogue start */
2681 2711 0336 DF91 pop r29
2682 2712 0338 CF91 pop r28
2684 2714 033a 1F91 pop r17
2686 2716 033c 0F91 pop r16
2688 2718 033e FF90 pop r15
2689 2719 0340 EF90 pop r14
2691 2721 0342 DF90 pop r13
2692 2722 0344 CF90 pop r12
2693 2723 0346 BF90 pop r11
2694 2724 0348 AF90 pop r10
2696 2726 034a 9F90 pop r9
2697 2727 034c 8F90 pop r8
2699 2729 034e 7F90 pop r7
2701 2731 0350 6F90 pop r6
2702 2732 0352 5F90 pop r5
2703 2733 0354 4F90 pop r4
2705 2735 0356 3F90 pop r3
2706 2736 0358 2F90 pop r2
2710 2741 .section .text.f_putc,"ax",@progbits
2716 2748 0000 0F93 push r16
2717 2749 0002 1F93 push r17
2718 2750 0004 DF93 push r29
2719 2751 0006 CF93 push r28
2720 2752 0008 00D0 rcall .
2721 2753 000a 0F92 push __tmp_reg__
2722 2754 000c CDB7 in r28,__SP_L__
2723 2755 000e DEB7 in r29,__SP_H__
2724 2756 /* prologue: function */
2725 2757 /* frame size = 3 */
2726 2758 0010 8C01 movw r16,r24
2728 2760 0012 6115 cp r22,__zero_reg__
2729 2761 0014 7105 cpc r23,__zero_reg__
2730 2762 0016 01F0 breq .L140
2733 2765 0018 8983 std Y+1,r24
2736 2768 001a CB01 movw r24,r22
2737 2769 001c BE01 movw r22,r28
2739 2771 001e 6F5F subi r22,lo8(-(1))
2740 2772 0020 7F4F sbci r23,hi8(-(1))
2741 2773 0022 41E0 ldi r20,lo8(1)
2742 2774 0024 50E0 ldi r21,hi8(1)
2743 2775 0026 9E01 movw r18,r28
2744 2776 0028 2E5F subi r18,lo8(-(2))
2745 2777 002a 3F4F sbci r19,hi8(-(2))
2746 2778 002c 0E94 0000 call f_write
2748 2780 0030 8A81 ldd r24,Y+2
2749 2781 0032 9B81 ldd r25,Y+3
2751 2783 0034 892B or r24,r25
2752 2784 0036 01F4 brne .L140
2754 2786 0038 0FEF ldi r16,lo8(-1)
2755 2787 003a 1FEF ldi r17,hi8(-1)
2759 2791 003c C801 movw r24,r16
2761 2793 /* epilogue start */
2762 2794 003e 0F90 pop __tmp_reg__
2763 2795 0040 0F90 pop __tmp_reg__
2764 2796 0042 0F90 pop __tmp_reg__
2765 2797 0044 CF91 pop r28
2766 2798 0046 DF91 pop r29
2767 2799 0048 1F91 pop r17
2768 2800 004a 0F91 pop r16
2771 2804 .section .text.f_puts,"ax",@progbits
2777 2811 0000 EF92 push r14
2778 2812 0002 FF92 push r15
2779 2813 0004 0F93 push r16
2780 2814 0006 1F93 push r17
2781 2815 0008 CF93 push r28
2782 2816 000a DF93 push r29
2783 2817 /* prologue: function */
2784 2818 /* frame size = 0 */
2785 2819 000c 8C01 movw r16,r24
2786 2820 000e 7B01 movw r14,r22
2788 2822 0010 C0E0 ldi r28,lo8(0)
2789 2823 0012 D0E0 ldi r29,hi8(0)
2791 2825 0014 00C0 rjmp .L143
2795 2829 0016 90E0 ldi r25,lo8(0)
2796 2830 0018 B701 movw r22,r14
2797 2831 001a 0E94 0000 call f_putc
2798 2832 001e 8F5F subi r24,lo8(-1)
2799 2833 0020 9F4F sbci r25,hi8(-1)
2800 2834 0022 01F4 brne .L144
2801 2835 0024 CFEF ldi r28,lo8(-1)
2802 2836 0026 DFEF ldi r29,hi8(-1)
2803 2837 0028 00C0 rjmp .L145
2806 2840 002a 0F5F subi r16,lo8(-(1))
2807 2841 002c 1F4F sbci r17,hi8(-(1))
2808 2842 002e 2196 adiw r28,1
2811 2845 0030 F801 movw r30,r16
2812 2846 0032 8081 ld r24,Z
2813 2847 0034 8823 tst r24
2814 2848 0036 01F4 brne .L146
2817 2851 0038 CE01 movw r24,r28
2819 2853 /* epilogue start */
2820 2854 003a DF91 pop r29
2821 2855 003c CF91 pop r28
2822 2856 003e 1F91 pop r17
2823 2857 0040 0F91 pop r16
2825 2859 0042 FF90 pop r15
2826 2860 0044 EF90 pop r14
2830 2865 .section .text.f_printf,"ax",@progbits
2831 2866 .global f_printf
2836 2872 0000 2F92 push r2
2837 2873 0002 3F92 push r3
2838 2874 0004 4F92 push r4
2839 2875 0006 5F92 push r5
2840 2876 0008 6F92 push r6
2841 2877 000a 7F92 push r7
2842 2878 000c 8F92 push r8
2843 2879 000e 9F92 push r9
2844 2880 0010 AF92 push r10
2845 2881 0012 BF92 push r11
2846 2882 0014 CF92 push r12
2847 2883 0016 DF92 push r13
2848 2884 0018 EF92 push r14
2849 2885 001a FF92 push r15
2850 2886 001c 0F93 push r16
2851 2887 001e 1F93 push r17
2852 2888 0020 DF93 push r29
2853 2889 0022 CF93 push r28
2854 2890 0024 CDB7 in r28,__SP_L__
2855 2891 0026 DEB7 in r29,__SP_H__
2856 2892 0028 6397 sbiw r28,19
2857 2893 002a 0FB6 in __tmp_reg__,__SREG__
2859 2895 002e DEBF out __SP_H__,r29
2860 2896 0030 0FBE out __SREG__,__tmp_reg__
2861 2897 0032 CDBF out __SP_L__,r28
2862 2898 /* prologue: function */
2863 2899 /* frame size = 19 */
2864 2900 0034 6AA4 ldd r6,Y+42
2865 2901 0036 7BA4 ldd r7,Y+43
2867 2903 0038 8E01 movw r16,r28
2869 2905 003a 045D subi r16,lo8(-(44))
2870 2906 003c 1F4F sbci r17,hi8(-(44))
2871 2907 003e 1A8A std Y+18,__zero_reg__
2872 2908 0040 198A std Y+17,__zero_reg__
2874 2910 0042 20E0 ldi r18,lo8(0)
2875 2911 0044 30E0 ldi r19,hi8(0)
2880 2916 0046 D301 movw r26,r6
2881 2917 0048 8C91 ld r24,X
2884 2920 004a 8823 tst r24
2885 2921 004c 01F4 brne .+2
2886 2922 004e 00C0 rjmp .L149
2889 2925 0052 611C adc r6,__zero_reg__
2890 2926 0054 711C adc r7,__zero_reg__
2892 2928 0056 8532 cpi r24,lo8(37)
2893 2929 0058 01F0 breq .L150
2895 2931 005a 90E0 ldi r25,lo8(0)
2896 2932 005c 68A5 ldd r22,Y+40
2897 2933 005e 79A5 ldd r23,Y+41
2898 2934 0060 0E94 0000 call f_putc
2900 2936 0064 9C01 movw r18,r24
2903 2939 0066 BFEF ldi r27,hi8(-1)
2904 2940 0068 8F3F cpi r24,lo8(-1)
2905 2941 006a 9B07 cpc r25,r27
2906 2942 006c 01F4 brne .L151
2908 2944 006e 4801 movw r8,r16
2909 2945 0070 00C0 rjmp .L152
2911 2947 0072 4801 movw r8,r16
2912 2948 0074 00C0 rjmp .L179
2916 2952 0076 D301 movw r26,r6
2917 2953 0078 ED91 ld r30,X+
2919 2955 007a 3D01 movw r6,r26
2921 2957 007c E033 cpi r30,lo8(48)
2922 2958 007e 01F0 breq .L153
2923 2959 0080 1B8A std Y+19,__zero_reg__
2925 2961 0082 00C0 rjmp .L154
2928 2964 0084 ED91 ld r30,X+
2929 2965 0086 3D01 movw r6,r26
2930 2966 0088 B1E0 ldi r27,lo8(1)
2931 2967 008a BB8B std Y+19,r27
2934 2970 008c AA24 clr r10
2935 2971 008e BB24 clr r11
2936 2972 0090 00C0 rjmp .L155
2939 2975 0092 C501 movw r24,r10
2940 2976 0094 F3E0 ldi r31,3
2941 2977 0096 880F 1: lsl r24
2942 2978 0098 991F rol r25
2943 2979 009a FA95 dec r31
2944 2980 009c 01F4 brne 1b
2945 2981 009e AA0C lsl r10
2946 2982 00a0 BB1C rol r11
2947 2983 00a2 A80E add r10,r24
2948 2984 00a4 B91E adc r11,r25
2949 2985 00a6 AE0E add r10,r30
2950 2986 00a8 B11C adc r11,__zero_reg__
2951 2987 00aa E0ED ldi r30,lo8(-48)
2952 2988 00ac FFEF ldi r31,hi8(-48)
2954 2990 00ae AE0E add r10,r30
2955 2991 00b0 BF1E adc r11,r31
2957 2993 00b2 D301 movw r26,r6
2958 2994 00b4 ED91 ld r30,X+
2960 2996 00b6 3D01 movw r6,r26
2963 2999 00b8 8E2F mov r24,r30
2964 3000 00ba 8053 subi r24,lo8(-(-48))
2965 3001 00bc 8A30 cpi r24,lo8(10)
2966 3002 00be 00F0 brlo .L156
2968 3004 00c0 EC36 cpi r30,lo8(108)
2969 3005 00c2 01F4 brne .L157
2971 3007 00c4 BB89 ldd r27,Y+19
2972 3008 00c6 B260 ori r27,lo8(2)
2973 3009 00c8 BB8B std Y+19,r27
2975 3011 00ca D301 movw r26,r6
2976 3012 00cc ED91 ld r30,X+
2977 3013 00ce 3D01 movw r6,r26
2980 3016 00d0 E337 cpi r30,lo8(115)
2981 3017 00d2 01F4 brne .L158
2983 3019 00d4 62E0 ldi r22,lo8(2)
2984 3020 00d6 862E mov r8,r22
2985 3021 00d8 912C mov r9,__zero_reg__
2987 3023 00da 800E add r8,r16
2988 3024 00dc 911E adc r9,r17
2989 3025 00de F801 movw r30,r16
2991 3027 00e0 8081 ld r24,Z
2992 3028 00e2 9181 ldd r25,Z+1
2993 3029 00e4 00C0 rjmp .L180
2997 3033 00e6 E336 cpi r30,lo8(99)
2998 3034 00e8 01F4 brne .L159
3000 3036 00ea 52E0 ldi r21,lo8(2)
3001 3037 00ec 852E mov r8,r21
3002 3038 00ee 912C mov r9,__zero_reg__
3004 3040 00f0 800E add r8,r16
3005 3041 00f2 911E adc r9,r17
3006 3042 00f4 D801 movw r26,r16
3007 3043 00f6 8D91 ld r24,X+
3008 3044 00f8 9C91 ld r25,X
3009 3045 00fa 68A5 ldd r22,Y+40
3010 3046 00fc 79A5 ldd r23,Y+41
3011 3047 00fe 0E94 0000 call f_putc
3013 3049 0102 9C01 movw r18,r24
3016 3052 0104 BFEF ldi r27,hi8(-1)
3017 3053 0106 8F3F cpi r24,lo8(-1)
3018 3054 0108 9B07 cpc r25,r27
3019 3055 010a 01F4 brne .+2
3020 3056 010c 00C0 rjmp .L152
3023 3059 010e 21E0 ldi r18,lo8(1)
3024 3060 0110 30E0 ldi r19,hi8(1)
3026 3062 0112 00C0 rjmp .L152
3030 3066 0114 E436 cpi r30,lo8(100)
3031 3067 0116 01F0 breq .L160
3033 3069 0118 E537 cpi r30,lo8(117)
3034 3070 011a 01F0 breq .L160
3036 3072 011c E835 cpi r30,lo8(88)
3037 3073 011e 01F0 breq .+2
3038 3074 0120 00C0 rjmp .L149
3039 3075 0122 20E1 ldi r18,lo8(16)
3041 3077 0124 00C0 rjmp .L161
3044 3080 0126 2AE0 ldi r18,lo8(10)
3048 3084 0128 FB89 ldd r31,Y+19
3049 3085 012a F1FF sbrs r31,1
3050 3086 012c 00C0 rjmp .L162
3052 3088 012e 44E0 ldi r20,lo8(4)
3053 3089 0130 842E mov r8,r20
3054 3090 0132 912C mov r9,__zero_reg__
3056 3092 0134 800E add r8,r16
3057 3093 0136 911E adc r9,r17
3058 3094 0138 D801 movw r26,r16
3059 3095 013a ED90 ld r14,X+
3060 3096 013c FD90 ld r15,X+
3061 3097 013e 0D91 ld r16,X+
3062 3098 0140 1C91 ld r17,X
3064 3100 0142 E436 cpi r30,lo8(100)
3065 3101 0144 01F4 brne .L164
3067 3103 0146 00C0 rjmp .L163
3069 3105 0148 C801 movw r24,r16
3070 3106 014a 0296 adiw r24,2
3072 3108 014c D801 movw r26,r16
3073 3109 014e 6D91 ld r22,X+
3074 3110 0150 7C91 ld r23,X
3076 3112 0152 E436 cpi r30,lo8(100)
3077 3113 0154 01F4 brne .L165
3079 3115 0156 4C01 movw r8,r24
3080 3116 0158 7B01 movw r14,r22
3081 3117 015a 0027 clr r16
3082 3118 015c F7FC sbrc r15,7
3083 3119 015e 0095 com r16
3084 3120 0160 102F mov r17,r16
3085 3121 0162 00C0 rjmp .L163
3088 3124 0164 4C01 movw r8,r24
3089 3125 0166 7B01 movw r14,r22
3091 3127 0168 00E0 ldi r16,lo8(0)
3092 3128 016a 10E0 ldi r17,hi8(0)
3094 3130 016c 00C0 rjmp .L164
3098 3134 016e 17FF sbrs r17,7
3099 3135 0170 00C0 rjmp .L164
3101 3137 0172 1095 com r17
3102 3138 0174 0095 com r16
3103 3139 0176 F094 com r15
3104 3140 0178 E094 com r14
3105 3141 017a E11C adc r14,__zero_reg__
3106 3142 017c F11C adc r15,__zero_reg__
3107 3143 017e 011D adc r16,__zero_reg__
3108 3144 0180 111D adc r17,__zero_reg__
3110 3146 0182 BB89 ldd r27,Y+19
3111 3147 0184 B460 ori r27,lo8(4)
3112 3148 0186 BB8B std Y+19,r27
3116 3152 0188 188A std Y+16,__zero_reg__
3117 3153 018a 3FE0 ldi r19,lo8(15)
3118 3154 018c C32E mov r12,r19
3119 3155 018e D12C mov r13,__zero_reg__
3121 3157 0190 222E mov r2,r18
3122 3158 0192 3324 clr r3
3123 3159 0194 4424 clr r4
3124 3160 0196 5524 clr r5
3127 3163 0198 C801 movw r24,r16
3128 3164 019a B701 movw r22,r14
3129 3165 019c A201 movw r20,r4
3130 3166 019e 9101 movw r18,r2
3132 3168 01a0 0E94 0000 call __udivmodsi4
3134 3170 01a4 862F mov r24,r22
3136 3172 01a6 805D subi r24,lo8(-(48))
3138 3174 01a8 8A33 cpi r24,lo8(58)
3139 3175 01aa 00F0 brlo .L166
3140 3176 01ac 895F subi r24,lo8(-(7))
3144 3180 01b0 C108 sbc r12,__zero_reg__
3145 3181 01b2 D108 sbc r13,__zero_reg__
3146 3182 01b4 E1E0 ldi r30,lo8(1)
3147 3183 01b6 F0E0 ldi r31,hi8(1)
3148 3184 01b8 EC0F add r30,r28
3149 3185 01ba FD1F adc r31,r29
3150 3186 01bc EC0D add r30,r12
3151 3187 01be FD1D adc r31,r13
3152 3188 01c0 8083 st Z,r24
3154 3190 01c2 C114 cp r12,__zero_reg__
3155 3191 01c4 D104 cpc r13,__zero_reg__
3156 3192 01c6 01F0 breq .L168
3158 3194 01c8 C801 movw r24,r16
3159 3195 01ca B701 movw r22,r14
3160 3196 01cc A201 movw r20,r4
3161 3197 01ce 9101 movw r18,r2
3162 3198 01d0 0E94 0000 call __udivmodsi4
3163 3199 01d4 C901 movw r24,r18
3165 3201 01d6 DA01 movw r26,r20
3166 3202 01d8 7C01 movw r14,r24
3167 3203 01da 8D01 movw r16,r26
3169 3205 01dc E114 cp r14,__zero_reg__
3170 3206 01de F104 cpc r15,__zero_reg__
3171 3207 01e0 0105 cpc r16,__zero_reg__
3172 3208 01e2 1105 cpc r17,__zero_reg__
3173 3209 01e4 01F4 brne .L169
3175 3211 01e6 EB89 ldd r30,Y+19
3176 3212 01e8 E2FF sbrs r30,2
3177 3213 01ea 00C0 rjmp .L168
3179 3215 01ee C108 sbc r12,__zero_reg__
3180 3216 01f0 D108 sbc r13,__zero_reg__
3181 3217 01f2 E1E0 ldi r30,lo8(1)
3182 3218 01f4 F0E0 ldi r31,hi8(1)
3183 3219 01f6 EC0F add r30,r28
3184 3220 01f8 FD1F adc r31,r29
3185 3221 01fa EC0D add r30,r12
3186 3222 01fc FD1D adc r31,r13
3187 3223 01fe 4DE2 ldi r20,lo8(45)
3188 3224 0200 4083 st Z,r20
3192 3228 0202 8FE0 ldi r24,lo8(15)
3193 3229 0204 90E0 ldi r25,hi8(15)
3195 3231 0206 8A19 sub r24,r10
3196 3232 0208 9B09 sbc r25,r11
3198 3234 020c C108 sbc r12,__zero_reg__
3199 3235 020e D108 sbc r13,__zero_reg__
3200 3236 0210 E1E0 ldi r30,lo8(1)
3201 3237 0212 F0E0 ldi r31,hi8(1)
3202 3238 0214 EC0F add r30,r28
3203 3239 0216 FD1F adc r31,r29
3204 3240 0218 EC0D add r30,r12
3205 3241 021a FD1D adc r31,r13
3207 3243 021e C11C adc r12,__zero_reg__
3208 3244 0220 D11C adc r13,__zero_reg__
3210 3246 0222 AB89 ldd r26,Y+19
3211 3247 0224 2A2F mov r18,r26
3212 3248 0226 30E0 ldi r19,lo8(0)
3213 3249 0228 2170 andi r18,lo8(1)
3214 3250 022a 3070 andi r19,hi8(1)
3215 3251 022c 00C0 rjmp .L170
3218 3254 0230 C108 sbc r12,__zero_reg__
3219 3255 0232 D108 sbc r13,__zero_reg__
3220 3256 0234 2115 cp r18,__zero_reg__
3221 3257 0236 3105 cpc r19,__zero_reg__
3222 3258 0238 01F4 brne .L171
3223 3259 023a 40E2 ldi r20,lo8(32)
3224 3260 023c 00C0 rjmp .L172
3226 3262 023e 40E3 ldi r20,lo8(48)
3228 3264 0240 4083 st Z,r20
3229 3265 0242 3197 sbiw r30,1
3231 3267 0244 C114 cp r12,__zero_reg__
3232 3268 0246 D104 cpc r13,__zero_reg__
3233 3269 0248 01F0 breq .L173
3234 3270 024a 8C15 cp r24,r12
3235 3271 024c 9D05 cpc r25,r13
3236 3272 024e 04F0 brlt .L174
3239 3275 0250 81E0 ldi r24,lo8(1)
3240 3276 0252 90E0 ldi r25,hi8(1)
3242 3278 0254 8C0F add r24,r28
3243 3279 0256 9D1F adc r25,r29
3244 3280 0258 8C0D add r24,r12
3245 3281 025a 9D1D adc r25,r13
3248 3284 025c 68A5 ldd r22,Y+40
3249 3285 025e 79A5 ldd r23,Y+41
3250 3286 0260 0E94 0000 call f_puts
3252 3288 0264 9C01 movw r18,r24
3256 3292 0266 E989 ldd r30,Y+17
3257 3293 0268 FA89 ldd r31,Y+18
3258 3294 026a E20F add r30,r18
3259 3295 026c F31F adc r31,r19
3260 3296 026e FA8B std Y+18,r31
3261 3297 0270 E98B std Y+17,r30
3263 3299 0272 FFEF ldi r31,hi8(-1)
3264 3300 0274 2F3F cpi r18,lo8(-1)
3265 3301 0276 3F07 cpc r19,r31
3266 3302 0278 01F0 breq .L175
3267 3303 027a 8401 movw r16,r8
3269 3305 027c 00C0 rjmp .L176
3273 3309 027e 4FEF ldi r20,hi8(-1)
3274 3310 0280 2F3F cpi r18,lo8(-1)
3275 3311 0282 3407 cpc r19,r20
3276 3312 0284 01F0 breq .L175
3277 3313 0286 2989 ldd r18,Y+17
3278 3314 0288 3A89 ldd r19,Y+18
3282 3318 028a C901 movw r24,r18
3284 3320 /* epilogue start */
3285 3321 028c 6396 adiw r28,19
3286 3322 028e 0FB6 in __tmp_reg__,__SREG__
3288 3324 0292 DEBF out __SP_H__,r29
3289 3325 0294 0FBE out __SREG__,__tmp_reg__
3290 3326 0296 CDBF out __SP_L__,r28
3291 3327 0298 CF91 pop r28
3292 3328 029a DF91 pop r29
3293 3329 029c 1F91 pop r17
3294 3330 029e 0F91 pop r16
3296 3332 02a0 FF90 pop r15
3297 3333 02a2 EF90 pop r14
3299 3335 02a4 DF90 pop r13
3300 3336 02a6 CF90 pop r12
3302 3338 02a8 BF90 pop r11
3303 3339 02aa AF90 pop r10
3305 3341 02ac 9F90 pop r9
3306 3342 02ae 8F90 pop r8
3308 3344 02b0 7F90 pop r7
3309 3345 02b2 6F90 pop r6
3311 3347 02b4 5F90 pop r5
3312 3348 02b6 4F90 pop r4
3313 3349 02b8 3F90 pop r3
3314 3350 02ba 2F90 pop r2
3317 3354 .section .text.dir_next,"ax",@progbits
3322 3360 0000 8F92 push r8
3323 3361 0002 9F92 push r9
3324 3362 0004 AF92 push r10
3325 3363 0006 BF92 push r11
3326 3364 0008 CF92 push r12
3327 3365 000a DF92 push r13
3328 3366 000c EF92 push r14
3329 3367 000e FF92 push r15
3330 3368 0010 0F93 push r16
3331 3369 0012 1F93 push r17
3332 3370 0014 CF93 push r28
3333 3371 0016 DF93 push r29
3334 3372 /* prologue: function */
3335 3373 /* frame size = 0 */
3336 3374 0018 EC01 movw r28,r24
3337 3375 001a 162F mov r17,r22
3339 3377 001c AC80 ldd r10,Y+4
3340 3378 001e BD80 ldd r11,Y+5
3343 3381 0022 A11C adc r10,__zero_reg__
3344 3382 0024 B11C adc r11,__zero_reg__
3346 3384 0026 A114 cp r10,__zero_reg__
3347 3385 0028 B104 cpc r11,__zero_reg__
3348 3386 002a 01F4 brne .+2
3349 3387 002c 00C0 rjmp .L182
3351 3389 002e 8E85 ldd r24,Y+14
3352 3390 0030 9F85 ldd r25,Y+15
3353 3391 0032 A889 ldd r26,Y+16
3354 3392 0034 B989 ldd r27,Y+17
3355 3393 0036 0097 sbiw r24,0
3356 3394 0038 A105 cpc r26,__zero_reg__
3357 3395 003a B105 cpc r27,__zero_reg__
3358 3396 003c 01F4 brne .+2
3359 3397 003e 00C0 rjmp .L182
3361 3399 0040 0FE0 ldi r16,lo8(15)
3362 3400 0042 802E mov r8,r16
3363 3401 0044 912C mov r9,__zero_reg__
3364 3402 0046 8A20 and r8,r10
3365 3403 0048 9B20 and r9,r11
3366 3404 004a 8114 cp r8,__zero_reg__
3367 3405 004c 9104 cpc r9,__zero_reg__
3368 3406 004e 01F0 breq .+2
3369 3407 0050 00C0 rjmp .L183
3371 3409 0052 0196 adiw r24,1
3372 3410 0054 A11D adc r26,__zero_reg__
3373 3411 0056 B11D adc r27,__zero_reg__
3374 3412 0058 8E87 std Y+14,r24
3375 3413 005a 9F87 std Y+15,r25
3376 3414 005c A88B std Y+16,r26
3377 3415 005e B98B std Y+17,r27
3379 3417 0060 4A85 ldd r20,Y+10
3380 3418 0062 5B85 ldd r21,Y+11
3381 3419 0064 6C85 ldd r22,Y+12
3382 3420 0066 7D85 ldd r23,Y+13
3383 3421 0068 E881 ld r30,Y
3384 3422 006a F981 ldd r31,Y+1
3385 3423 006c 4115 cp r20,__zero_reg__
3386 3424 006e 5105 cpc r21,__zero_reg__
3387 3425 0070 6105 cpc r22,__zero_reg__
3388 3426 0072 7105 cpc r23,__zero_reg__
3389 3427 0074 01F4 brne .L184
3391 3429 0076 8085 ldd r24,Z+8
3392 3430 0078 9185 ldd r25,Z+9
3393 3431 007a A816 cp r10,r24
3394 3432 007c B906 cpc r11,r25
3395 3433 007e 00F4 brsh .+2
3396 3434 0080 00C0 rjmp .L183
3397 3435 0082 00C0 rjmp .L182
3400 3438 0084 8281 ldd r24,Z+2
3401 3439 0086 90E0 ldi r25,lo8(0)
3402 3440 0088 0197 sbiw r24,1
3403 3441 008a 9501 movw r18,r10
3404 3442 008c B4E0 ldi r27,4
3405 3443 008e 3695 1: lsr r19
3406 3444 0090 2795 ror r18
3407 3445 0092 BA95 dec r27
3408 3446 0094 01F4 brne 1b
3409 3447 0096 8223 and r24,r18
3410 3448 0098 9323 and r25,r19
3411 3449 009a 892B or r24,r25
3412 3450 009c 01F0 breq .+2
3413 3451 009e 00C0 rjmp .L183
3415 3453 00a0 CF01 movw r24,r30
3416 3454 00a2 0E94 0000 call get_fat
3417 3455 00a6 6B01 movw r12,r22
3418 3456 00a8 7C01 movw r14,r24
3421 3459 00aa 82E0 ldi r24,lo8(2)
3422 3460 00ac C816 cp r12,r24
3423 3461 00ae D104 cpc r13,__zero_reg__
3424 3462 00b0 E104 cpc r14,__zero_reg__
3425 3463 00b2 F104 cpc r15,__zero_reg__
3426 3464 00b4 00F4 brsh .+2
3427 3465 00b6 00C0 rjmp .L185
3429 3467 00b8 9FEF ldi r25,lo8(-1)
3430 3468 00ba C916 cp r12,r25
3431 3469 00bc 9FEF ldi r25,hi8(-1)
3432 3470 00be D906 cpc r13,r25
3433 3471 00c0 9FEF ldi r25,hlo8(-1)
3434 3472 00c2 E906 cpc r14,r25
3435 3473 00c4 9FEF ldi r25,hhi8(-1)
3436 3474 00c6 F906 cpc r15,r25
3437 3475 00c8 01F4 brne .+2
3438 3476 00ca 00C0 rjmp .L186
3440 3478 00cc E881 ld r30,Y
3441 3479 00ce F981 ldd r31,Y+1
3442 3480 00d0 828D ldd r24,Z+26
3443 3481 00d2 938D ldd r25,Z+27
3444 3482 00d4 A48D ldd r26,Z+28
3445 3483 00d6 B58D ldd r27,Z+29
3446 3484 00d8 C816 cp r12,r24
3447 3485 00da D906 cpc r13,r25
3448 3486 00dc EA06 cpc r14,r26
3449 3487 00de FB06 cpc r15,r27
3450 3488 00e0 00F4 brsh .+2
3451 3489 00e2 00C0 rjmp .L187
3454 3492 00e4 1123 tst r17
3455 3493 00e6 01F4 brne .+2
3456 3494 00e8 00C0 rjmp .L182
3458 3496 00ea 4A85 ldd r20,Y+10
3459 3497 00ec 5B85 ldd r21,Y+11
3460 3498 00ee 6C85 ldd r22,Y+12
3461 3499 00f0 7D85 ldd r23,Y+13
3462 3500 00f2 CF01 movw r24,r30
3463 3501 00f4 0E94 0000 call create_chain
3464 3502 00f8 6B01 movw r12,r22
3465 3503 00fa 7C01 movw r14,r24
3467 3505 00fc 6115 cp r22,__zero_reg__
3468 3506 00fe 7105 cpc r23,__zero_reg__
3469 3507 0100 8105 cpc r24,__zero_reg__
3470 3508 0102 9105 cpc r25,__zero_reg__
3471 3509 0104 01F4 brne .L188
3473 3511 0106 87E0 ldi r24,lo8(7)
3474 3512 0108 00C0 rjmp .L189
3477 3515 010a 6130 cpi r22,lo8(1)
3478 3516 010c 7105 cpc r23,__zero_reg__
3479 3517 010e 8105 cpc r24,__zero_reg__
3480 3518 0110 9105 cpc r25,__zero_reg__
3481 3519 0112 01F4 brne .+2
3482 3520 0114 00C0 rjmp .L185
3484 3522 0116 6F3F cpi r22,lo8(-1)
3485 3523 0118 FFEF ldi r31,hi8(-1)
3486 3524 011a 7F07 cpc r23,r31
3487 3525 011c FFEF ldi r31,hlo8(-1)
3488 3526 011e 8F07 cpc r24,r31
3489 3527 0120 FFEF ldi r31,hhi8(-1)
3490 3528 0122 9F07 cpc r25,r31
3491 3529 0124 01F4 brne .+2
3492 3530 0126 00C0 rjmp .L186
3494 3532 0128 8881 ld r24,Y
3495 3533 012a 9981 ldd r25,Y+1
3496 3534 012c 40E0 ldi r20,lo8(0)
3497 3535 012e 50E0 ldi r21,hi8(0)
3498 3536 0130 60E0 ldi r22,hlo8(0)
3499 3537 0132 70E0 ldi r23,hhi8(0)
3500 3538 0134 0E94 0000 call move_window
3502 3540 0138 8823 tst r24
3503 3541 013a 01F0 breq .+2
3504 3542 013c 00C0 rjmp .L186
3506 3544 013e 8881 ld r24,Y
3507 3545 0140 9981 ldd r25,Y+1
3508 3546 0142 8E96 adiw r24,46
3509 3547 0144 60E0 ldi r22,lo8(0)
3510 3548 0146 70E0 ldi r23,hi8(0)
3511 3549 0148 40E0 ldi r20,lo8(512)
3512 3550 014a 52E0 ldi r21,hi8(512)
3513 3551 014c 0E94 0000 call mem_set
3515 3553 0150 0881 ld r16,Y
3516 3554 0152 1981 ldd r17,Y+1
3517 3555 0154 C801 movw r24,r16
3518 3556 0156 B701 movw r22,r14
3519 3557 0158 A601 movw r20,r12
3520 3558 015a 0E94 0000 call clust2sect
3521 3559 015e F801 movw r30,r16
3522 3560 0160 62A7 std Z+42,r22
3523 3561 0162 73A7 std Z+43,r23
3524 3562 0164 84A7 std Z+44,r24
3525 3563 0166 95A7 std Z+45,r25
3526 3564 0168 00E0 ldi r16,lo8(0)
3529 3567 016a 11E0 ldi r17,lo8(1)
3531 3569 016c 00C0 rjmp .L190
3533 3571 016e 1483 std Z+4,r17
3535 3573 0170 8881 ld r24,Y
3536 3574 0172 9981 ldd r25,Y+1
3537 3575 0174 40E0 ldi r20,lo8(0)
3538 3576 0176 50E0 ldi r21,hi8(0)
3539 3577 0178 60E0 ldi r22,hlo8(0)
3540 3578 017a 70E0 ldi r23,hhi8(0)
3541 3579 017c 0E94 0000 call move_window
3542 3580 0180 8823 tst r24
3543 3581 0182 01F0 breq .+2
3544 3582 0184 00C0 rjmp .L186
3546 3584 0186 E881 ld r30,Y
3547 3585 0188 F981 ldd r31,Y+1
3548 3586 018a 82A5 ldd r24,Z+42
3549 3587 018c 93A5 ldd r25,Z+43
3550 3588 018e A4A5 ldd r26,Z+44
3551 3589 0190 B5A5 ldd r27,Z+45
3552 3590 0192 0196 adiw r24,1
3553 3591 0194 A11D adc r26,__zero_reg__
3554 3592 0196 B11D adc r27,__zero_reg__
3555 3593 0198 82A7 std Z+42,r24
3556 3594 019a 93A7 std Z+43,r25
3557 3595 019c A4A7 std Z+44,r26
3558 3596 019e B5A7 std Z+45,r27
3560 3598 01a0 0F5F subi r16,lo8(-(1))
3562 3600 01a2 E881 ld r30,Y
3563 3601 01a4 F981 ldd r31,Y+1
3564 3602 01a6 8281 ldd r24,Z+2
3565 3603 01a8 0817 cp r16,r24
3566 3604 01aa 00F0 brlo .L191
3568 3606 01ac 82A5 ldd r24,Z+42
3569 3607 01ae 93A5 ldd r25,Z+43
3570 3608 01b0 A4A5 ldd r26,Z+44
3571 3609 01b2 B5A5 ldd r27,Z+45
3572 3610 01b4 801B sub r24,r16
3573 3611 01b6 9109 sbc r25,__zero_reg__
3574 3612 01b8 A109 sbc r26,__zero_reg__
3575 3613 01ba B109 sbc r27,__zero_reg__
3576 3614 01bc 82A7 std Z+42,r24
3577 3615 01be 93A7 std Z+43,r25
3578 3616 01c0 A4A7 std Z+44,r26
3579 3617 01c2 B5A7 std Z+45,r27
3584 3622 01c4 CA86 std Y+10,r12
3585 3623 01c6 DB86 std Y+11,r13
3586 3624 01c8 EC86 std Y+12,r14
3587 3625 01ca FD86 std Y+13,r15
3589 3627 01cc 8881 ld r24,Y
3590 3628 01ce 9981 ldd r25,Y+1
3591 3629 01d0 B701 movw r22,r14
3592 3630 01d2 A601 movw r20,r12
3593 3631 01d4 0E94 0000 call clust2sect
3594 3632 01d8 6E87 std Y+14,r22
3595 3633 01da 7F87 std Y+15,r23
3596 3634 01dc 888B std Y+16,r24
3597 3635 01de 998B std Y+17,r25
3601 3639 01e0 BD82 std Y+5,r11
3602 3640 01e2 AC82 std Y+4,r10
3604 3642 01e4 A5E0 ldi r26,5
3605 3643 01e6 880C 1: lsl r8
3606 3644 01e8 991C rol r9
3607 3645 01ea AA95 dec r26
3608 3646 01ec 01F4 brne 1b
3609 3647 01ee 8EE2 ldi r24,lo8(46)
3610 3648 01f0 90E0 ldi r25,hi8(46)
3611 3649 01f2 880E add r8,r24
3612 3650 01f4 991E adc r9,r25
3613 3651 01f6 8881 ld r24,Y
3614 3652 01f8 9981 ldd r25,Y+1
3615 3653 01fa 880D add r24,r8
3616 3654 01fc 991D adc r25,r9
3617 3655 01fe 9B8B std Y+19,r25
3618 3656 0200 8A8B std Y+18,r24
3619 3657 0202 80E0 ldi r24,lo8(0)
3620 3658 0204 00C0 rjmp .L189
3624 3662 0206 84E0 ldi r24,lo8(4)
3625 3663 0208 00C0 rjmp .L189
3628 3666 020a 82E0 ldi r24,lo8(2)
3629 3667 020c 00C0 rjmp .L189
3632 3670 020e 81E0 ldi r24,lo8(1)
3635 3673 /* epilogue start */
3637 3675 0210 DF91 pop r29
3638 3676 0212 CF91 pop r28
3640 3678 0214 1F91 pop r17
3642 3680 0216 0F91 pop r16
3644 3682 0218 FF90 pop r15
3645 3683 021a EF90 pop r14
3646 3684 021c DF90 pop r13
3647 3685 021e CF90 pop r12
3649 3687 0220 BF90 pop r11
3650 3688 0222 AF90 pop r10
3652 3690 0224 9F90 pop r9
3653 3691 0226 8F90 pop r8
3656 3695 .section .text.f_read,"ax",@progbits
3662 3702 0000 2F92 push r2
3663 3703 0002 3F92 push r3
3664 3704 0004 5F92 push r5
3665 3705 0006 6F92 push r6
3666 3706 0008 7F92 push r7
3667 3707 000a 8F92 push r8
3668 3708 000c 9F92 push r9
3669 3709 000e AF92 push r10
3670 3710 0010 BF92 push r11
3671 3711 0012 CF92 push r12
3672 3712 0014 DF92 push r13
3673 3713 0016 EF92 push r14
3674 3714 0018 FF92 push r15
3675 3715 001a 0F93 push r16
3676 3716 001c 1F93 push r17
3677 3717 001e CF93 push r28
3678 3718 0020 DF93 push r29
3679 3719 /* prologue: function */
3680 3720 /* frame size = 0 */
3681 3721 0022 EC01 movw r28,r24
3682 3722 0024 162F mov r17,r22
3683 3723 0026 072F mov r16,r23
3685 3725 0028 4A01 movw r8,r20
3686 3726 002a 1901 movw r2,r18
3688 3728 002c F901 movw r30,r18
3689 3729 002e 1182 std Z+1,__zero_reg__
3690 3730 0030 1082 st Z,__zero_reg__
3692 3732 0032 6A81 ldd r22,Y+2
3693 3733 0034 7B81 ldd r23,Y+3
3695 3735 0036 8881 ld r24,Y
3696 3736 0038 9981 ldd r25,Y+1
3698 3738 003a 0E94 0000 call validate
3700 3740 003e 582E mov r5,r24
3703 3743 0040 8823 tst r24
3704 3744 0042 01F0 breq .+2
3705 3745 0044 00C0 rjmp .L194
3708 3748 0046 8C81 ldd r24,Y+4
3710 3750 0048 87FD sbrc r24,7
3711 3751 004a 00C0 rjmp .L215
3714 3754 004c 80FD sbrc r24,0
3715 3755 004e 00C0 rjmp .L196
3716 3756 0050 47E0 ldi r20,lo8(7)
3717 3757 0052 542E mov r5,r20
3718 3758 0054 00C0 rjmp .L194
3721 3761 0056 2A85 ldd r18,Y+10
3722 3762 0058 3B85 ldd r19,Y+11
3723 3763 005a 4C85 ldd r20,Y+12
3724 3764 005c 5D85 ldd r21,Y+13
3726 3766 005e 8E81 ldd r24,Y+6
3727 3767 0060 9F81 ldd r25,Y+7
3728 3768 0062 A885 ldd r26,Y+8
3729 3769 0064 B985 ldd r27,Y+9
3730 3770 0066 281B sub r18,r24
3731 3771 0068 390B sbc r19,r25
3732 3772 006a 4A0B sbc r20,r26
3733 3773 006c 5B0B sbc r21,r27
3735 3775 006e C401 movw r24,r8
3736 3776 0070 A0E0 ldi r26,lo8(0)
3737 3777 0072 B0E0 ldi r27,hi8(0)
3739 3779 0074 2817 cp r18,r24
3740 3780 0076 3907 cpc r19,r25
3741 3781 0078 4A07 cpc r20,r26
3742 3782 007a 5B07 cpc r21,r27
3743 3783 007c 00F4 brsh .L197
3745 3785 007e 4901 movw r8,r18
3749 3789 0080 812F mov r24,r17
3751 3791 0082 902F mov r25,r16
3753 3793 0084 9C01 movw r18,r24
3755 3795 0086 3901 movw r6,r18
3757 3797 0088 00C0 rjmp .L198
3761 3801 008a 2E81 ldd r18,Y+6
3762 3802 008c 3F81 ldd r19,Y+7
3763 3803 008e 4885 ldd r20,Y+8
3764 3804 0090 5985 ldd r21,Y+9
3765 3805 0092 DA01 movw r26,r20
3766 3806 0094 C901 movw r24,r18
3767 3807 0096 9170 andi r25,hi8(511)
3768 3808 0098 A070 andi r26,hlo8(511)
3769 3809 009a B070 andi r27,hhi8(511)
3770 3810 009c 0097 sbiw r24,0
3771 3811 009e A105 cpc r26,__zero_reg__
3772 3812 00a0 B105 cpc r27,__zero_reg__
3773 3813 00a2 01F0 breq .+2
3774 3814 00a4 00C0 rjmp .L199
3776 3816 00a6 E881 ld r30,Y
3777 3817 00a8 F981 ldd r31,Y+1
3778 3818 00aa 9D81 ldd r25,Y+5
3780 3820 00ac 8281 ldd r24,Z+2
3781 3821 00ae 9817 cp r25,r24
3782 3822 00b0 00F0 brlo .L200
3784 3824 00b2 2115 cp r18,__zero_reg__
3785 3825 00b4 3105 cpc r19,__zero_reg__
3786 3826 00b6 4105 cpc r20,__zero_reg__
3787 3827 00b8 5105 cpc r21,__zero_reg__
3788 3828 00ba 01F4 brne .L201
3789 3829 00bc 6E85 ldd r22,Y+14
3790 3830 00be 7F85 ldd r23,Y+15
3791 3831 00c0 8889 ldd r24,Y+16
3792 3832 00c2 9989 ldd r25,Y+17
3794 3834 00c4 00C0 rjmp .L202
3797 3837 00c6 4A89 ldd r20,Y+18
3798 3838 00c8 5B89 ldd r21,Y+19
3799 3839 00ca 6C89 ldd r22,Y+20
3800 3840 00cc 7D89 ldd r23,Y+21
3801 3841 00ce CF01 movw r24,r30
3802 3842 00d0 0E94 0000 call get_fat
3806 3846 00d4 6230 cpi r22,lo8(2)
3807 3847 00d6 7105 cpc r23,__zero_reg__
3808 3848 00d8 8105 cpc r24,__zero_reg__
3809 3849 00da 9105 cpc r25,__zero_reg__
3810 3850 00dc 00F4 brsh .L203
3813 3853 00de 8C81 ldd r24,Y+4
3814 3854 00e0 8068 ori r24,lo8(-128)
3815 3855 00e2 8C83 std Y+4,r24
3817 3857 00e4 32E0 ldi r19,lo8(2)
3818 3858 00e6 532E mov r5,r19
3819 3859 00e8 00C0 rjmp .L194
3823 3863 00ea 6F3F cpi r22,lo8(-1)
3824 3864 00ec FFEF ldi r31,hi8(-1)
3825 3865 00ee 7F07 cpc r23,r31
3826 3866 00f0 FFEF ldi r31,hlo8(-1)
3827 3867 00f2 8F07 cpc r24,r31
3828 3868 00f4 FFEF ldi r31,hhi8(-1)
3829 3869 00f6 9F07 cpc r25,r31
3830 3870 00f8 01F4 brne .+2
3831 3871 00fa 00C0 rjmp .L216
3834 3874 00fc 6A8B std Y+18,r22
3835 3875 00fe 7B8B std Y+19,r23
3836 3876 0100 8C8B std Y+20,r24
3837 3877 0102 9D8B std Y+21,r25
3839 3879 0104 1D82 std Y+5,__zero_reg__
3842 3882 0106 0881 ld r16,Y
3843 3883 0108 1981 ldd r17,Y+1
3845 3885 010a 4A89 ldd r20,Y+18
3846 3886 010c 5B89 ldd r21,Y+19
3847 3887 010e 6C89 ldd r22,Y+20
3848 3888 0110 7D89 ldd r23,Y+21
3849 3889 0112 C801 movw r24,r16
3850 3890 0114 0E94 0000 call clust2sect
3853 3893 0118 6115 cp r22,__zero_reg__
3854 3894 011a 7105 cpc r23,__zero_reg__
3855 3895 011c 8105 cpc r24,__zero_reg__
3856 3896 011e 9105 cpc r25,__zero_reg__
3857 3897 0120 01F0 breq .L217
3861 3901 0122 3D81 ldd r19,Y+5
3862 3902 0124 5B01 movw r10,r22
3863 3903 0126 6C01 movw r12,r24
3864 3904 0128 A30E add r10,r19
3865 3905 012a B11C adc r11,__zero_reg__
3866 3906 012c C11C adc r12,__zero_reg__
3867 3907 012e D11C adc r13,__zero_reg__
3870 3910 0130 7401 movw r14,r8
3871 3911 0132 EF2C mov r14,r15
3872 3912 0134 FF24 clr r15
3873 3913 0136 E694 lsr r14
3875 3915 0138 E114 cp r14,__zero_reg__
3876 3916 013a F104 cpc r15,__zero_reg__
3877 3917 013c 01F4 brne .+2
3878 3918 013e 00C0 rjmp .L206
3880 3920 0140 F801 movw r30,r16
3881 3921 0142 2281 ldd r18,Z+2
3882 3922 0144 432F mov r20,r19
3883 3923 0146 50E0 ldi r21,lo8(0)
3884 3924 0148 C701 movw r24,r14
3885 3925 014a 840F add r24,r20
3886 3926 014c 951F adc r25,r21
3887 3927 014e 30E0 ldi r19,lo8(0)
3888 3928 0150 2817 cp r18,r24
3889 3929 0152 3907 cpc r19,r25
3890 3930 0154 00F4 brsh .L207
3892 3932 0156 7901 movw r14,r18
3893 3933 0158 E41A sub r14,r20
3894 3934 015a F50A sbc r15,r21
3897 3937 015c F801 movw r30,r16
3898 3938 015e 8181 ldd r24,Z+1
3899 3939 0160 B301 movw r22,r6
3900 3940 0162 A601 movw r20,r12
3901 3941 0164 9501 movw r18,r10
3902 3942 0166 0E2D mov r16,r14
3903 3943 0168 0E94 0000 call disk_read
3904 3944 016c 8823 tst r24
3905 3945 016e 01F0 breq .+2
3906 3946 0170 00C0 rjmp .L216
3909 3949 0172 E881 ld r30,Y
3910 3950 0174 F981 ldd r31,Y+1
3911 3951 0176 8481 ldd r24,Z+4
3912 3952 0178 8823 tst r24
3913 3953 017a 01F0 breq .L209
3914 3954 017c 22A5 ldd r18,Z+42
3915 3955 017e 33A5 ldd r19,Z+43
3916 3956 0180 44A5 ldd r20,Z+44
3917 3957 0182 55A5 ldd r21,Z+45
3918 3958 0184 2A19 sub r18,r10
3919 3959 0186 3B09 sbc r19,r11
3920 3960 0188 4C09 sbc r20,r12
3921 3961 018a 5D09 sbc r21,r13
3922 3962 018c C701 movw r24,r14
3923 3963 018e A0E0 ldi r26,lo8(0)
3924 3964 0190 B0E0 ldi r27,hi8(0)
3926 3966 0192 2817 cp r18,r24
3927 3967 0194 3907 cpc r19,r25
3928 3968 0196 4A07 cpc r20,r26
3929 3969 0198 5B07 cpc r21,r27
3930 3970 019a 00F4 brsh .L209
3933 3973 019c 99E0 ldi r25,9
3934 3974 019e 220F 1: lsl r18
3935 3975 01a0 331F rol r19
3936 3976 01a2 441F rol r20
3937 3977 01a4 551F rol r21
3938 3978 01a6 9A95 dec r25
3939 3979 01a8 01F4 brne 1b
3940 3980 01aa C301 movw r24,r6
3942 3982 01ac 820F add r24,r18
3943 3983 01ae 931F adc r25,r19
3944 3984 01b0 BE96 adiw r30,46
3945 3985 01b2 BF01 movw r22,r30
3946 3986 01b4 40E0 ldi r20,lo8(512)
3947 3987 01b6 52E0 ldi r21,hi8(512)
3948 3988 01b8 0E94 0000 call mem_cpy
3952 3992 01bc 8D81 ldd r24,Y+5
3953 3993 01be 8E0D add r24,r14
3954 3994 01c0 8D83 std Y+5,r24
3956 3996 01c2 8701 movw r16,r14
3958 3998 01c4 102F mov r17,r16
3959 3999 01c6 0027 clr r16
3960 4000 01c8 110F lsl r17
3961 4001 01ca 00C0 rjmp .L210
3965 4005 01cc AE8A std Y+22,r10
3966 4006 01ce BF8A std Y+23,r11
3967 4007 01d0 C88E std Y+24,r12
3968 4008 01d2 D98E std Y+25,r13
3970 4010 01d4 3F5F subi r19,lo8(-(1))
3971 4011 01d6 3D83 std Y+5,r19
3975 4015 01d8 EE80 ldd r14,Y+6
3976 4016 01da FF80 ldd r15,Y+7
3977 4017 01dc 0885 ldd r16,Y+8
3978 4018 01de 1985 ldd r17,Y+9
3981 4021 01e0 4E89 ldd r20,Y+22
3982 4022 01e2 5F89 ldd r21,Y+23
3983 4023 01e4 688D ldd r22,Y+24
3984 4024 01e6 798D ldd r23,Y+25
3985 4025 01e8 8881 ld r24,Y
3986 4026 01ea 9981 ldd r25,Y+1
3987 4027 01ec 0E94 0000 call move_window
3989 4029 01f0 8823 tst r24
3990 4030 01f2 01F0 breq .L211
3994 4034 01f4 8C81 ldd r24,Y+4
3995 4035 01f6 8068 ori r24,lo8(-128)
3996 4036 01f8 8C83 std Y+4,r24
3997 4037 01fa 5524 clr r5
3998 4038 01fc 5394 inc r5
3999 4039 01fe 00C0 rjmp .L194
4003 4043 0200 C701 movw r24,r14
4004 4044 0202 9170 andi r25,hi8(511)
4005 4045 0204 20E0 ldi r18,lo8(512)
4006 4046 0206 32E0 ldi r19,hi8(512)
4007 4047 0208 281B sub r18,r24
4008 4048 020a 390B sbc r19,r25
4009 4049 020c 8401 movw r16,r8
4011 4051 020e 2815 cp r18,r8
4012 4052 0210 3905 cpc r19,r9
4013 4053 0212 00F4 brsh .L212
4015 4055 0214 8901 movw r16,r18
4018 4058 0216 8E81 ldd r24,Y+6
4019 4059 0218 9F81 ldd r25,Y+7
4020 4060 021a 9170 andi r25,hi8(511)
4021 4061 021c 8E96 adiw r24,46
4022 4062 021e 6881 ld r22,Y
4023 4063 0220 7981 ldd r23,Y+1
4024 4064 0222 680F add r22,r24
4025 4065 0224 791F adc r23,r25
4026 4066 0226 C301 movw r24,r6
4027 4067 0228 A801 movw r20,r16
4028 4068 022a 0E94 0000 call mem_cpy
4032 4072 022e 600E add r6,r16
4033 4073 0230 711E adc r7,r17
4034 4074 0232 C801 movw r24,r16
4035 4075 0234 A0E0 ldi r26,lo8(0)
4036 4076 0236 B0E0 ldi r27,hi8(0)
4038 4078 0238 2E81 ldd r18,Y+6
4039 4079 023a 3F81 ldd r19,Y+7
4040 4080 023c 4885 ldd r20,Y+8
4041 4081 023e 5985 ldd r21,Y+9
4042 4082 0240 280F add r18,r24
4043 4083 0242 391F adc r19,r25
4044 4084 0244 4A1F adc r20,r26
4045 4085 0246 5B1F adc r21,r27
4046 4086 0248 2E83 std Y+6,r18
4047 4087 024a 3F83 std Y+7,r19
4048 4088 024c 4887 std Y+8,r20
4049 4089 024e 5987 std Y+9,r21
4050 4090 0250 F101 movw r30,r2
4051 4091 0252 8081 ld r24,Z
4052 4092 0254 9181 ldd r25,Z+1
4053 4093 0256 800F add r24,r16
4054 4094 0258 911F adc r25,r17
4055 4095 025a 9183 std Z+1,r25
4056 4096 025c 8083 st Z,r24
4057 4097 025e 801A sub r8,r16
4058 4098 0260 910A sbc r9,r17
4062 4102 0262 8114 cp r8,__zero_reg__
4063 4103 0264 9104 cpc r9,__zero_reg__
4064 4104 0266 01F0 breq .+2
4065 4105 0268 00C0 rjmp .L213
4069 4109 026a 852D mov r24,r5
4070 4110 /* epilogue start */
4071 4111 026c DF91 pop r29
4072 4112 026e CF91 pop r28
4074 4114 0270 1F91 pop r17
4076 4116 0272 0F91 pop r16
4078 4118 0274 FF90 pop r15
4079 4119 0276 EF90 pop r14
4081 4121 0278 DF90 pop r13
4082 4122 027a CF90 pop r12
4083 4123 027c BF90 pop r11
4084 4124 027e AF90 pop r10
4086 4126 0280 9F90 pop r9
4087 4127 0282 8F90 pop r8
4089 4129 0284 7F90 pop r7
4090 4130 0286 6F90 pop r6
4092 4132 0288 5F90 pop r5
4094 4134 028a 3F90 pop r3
4095 4135 028c 2F90 pop r2
4099 4140 .section .text.f_gets,"ax",@progbits
4105 4147 0000 6F92 push r6
4106 4148 0002 7F92 push r7
4107 4149 0004 8F92 push r8
4108 4150 0006 9F92 push r9
4109 4151 0008 AF92 push r10
4110 4152 000a BF92 push r11
4111 4153 000c CF92 push r12
4112 4154 000e DF92 push r13
4113 4155 0010 EF92 push r14
4114 4156 0012 FF92 push r15
4115 4157 0014 0F93 push r16
4116 4158 0016 1F93 push r17
4117 4159 0018 DF93 push r29
4118 4160 001a CF93 push r28
4119 4161 001c 00D0 rcall .
4120 4162 001e CDB7 in r28,__SP_L__
4121 4163 0020 DEB7 in r29,__SP_H__
4122 4164 /* prologue: function */
4123 4165 /* frame size = 2 */
4124 4166 0022 5C01 movw r10,r24
4125 4167 0024 6B01 movw r12,r22
4126 4168 0026 4A01 movw r8,r20
4128 4170 0028 8C01 movw r16,r24
4130 4172 002a EE24 clr r14
4131 4173 002c FF24 clr r15
4135 4177 0030 C108 sbc r12,__zero_reg__
4136 4178 0032 D108 sbc r13,__zero_reg__
4138 4180 0034 3E01 movw r6,r28
4140 4182 0038 611C adc r6,__zero_reg__
4141 4183 003a 711C adc r7,__zero_reg__
4142 4184 003c 00C0 rjmp .L219
4145 4187 003e C401 movw r24,r8
4146 4188 0040 B801 movw r22,r16
4148 4190 0042 41E0 ldi r20,lo8(1)
4149 4191 0044 50E0 ldi r21,hi8(1)
4150 4192 0046 9301 movw r18,r6
4151 4193 0048 0E94 0000 call f_read
4153 4195 004c 8981 ldd r24,Y+1
4154 4196 004e 9A81 ldd r25,Y+2
4155 4197 0050 0197 sbiw r24,1
4156 4198 0052 01F4 brne .L220
4160 4202 0056 E11C adc r14,__zero_reg__
4161 4203 0058 F11C adc r15,__zero_reg__
4163 4205 005a F801 movw r30,r16
4164 4206 005c 8191 ld r24,Z+
4166 4208 005e 8F01 movw r16,r30
4167 4209 0060 8A30 cpi r24,lo8(10)
4168 4210 0062 01F0 breq .L220
4172 4214 0064 EC14 cp r14,r12
4173 4215 0066 FD04 cpc r15,r13
4174 4216 0068 04F0 brlt .L221
4178 4220 006a F801 movw r30,r16
4179 4221 006c 1082 st Z,__zero_reg__
4181 4223 006e EF28 or r14,r15
4182 4224 0070 01F4 brne .L222
4183 4225 0072 AA24 clr r10
4184 4226 0074 BB24 clr r11
4188 4230 0076 C501 movw r24,r10
4190 4232 /* epilogue start */
4191 4233 0078 0F90 pop __tmp_reg__
4192 4234 007a 0F90 pop __tmp_reg__
4193 4235 007c CF91 pop r28
4194 4236 007e DF91 pop r29
4195 4237 0080 1F91 pop r17
4196 4238 0082 0F91 pop r16
4198 4240 0084 FF90 pop r15
4199 4241 0086 EF90 pop r14
4201 4243 0088 DF90 pop r13
4202 4244 008a CF90 pop r12
4203 4245 008c BF90 pop r11
4204 4246 008e AF90 pop r10
4205 4247 0090 9F90 pop r9
4206 4248 0092 8F90 pop r8
4208 4250 0094 7F90 pop r7
4209 4251 0096 6F90 pop r6
4212 4255 .section .text.check_fs,"ax",@progbits
4217 4261 0000 0F93 push r16
4218 4262 0002 CF93 push r28
4219 4263 0004 DF93 push r29
4220 4264 /* prologue: function */
4221 4265 /* frame size = 0 */
4222 4266 0006 EC01 movw r28,r24
4223 4267 0008 9A01 movw r18,r20
4224 4268 000a AB01 movw r20,r22
4226 4270 000c BC01 movw r22,r24
4227 4271 000e 625D subi r22,lo8(-(46))
4228 4272 0010 7F4F sbci r23,hi8(-(46))
4229 4273 0012 8981 ldd r24,Y+1
4231 4275 0014 01E0 ldi r16,lo8(1)
4232 4276 0016 0E94 0000 call disk_read
4234 4278 001a 8823 tst r24
4235 4279 001c 01F0 breq .L225
4236 4280 001e 63E0 ldi r22,lo8(3)
4237 4281 0020 00C0 rjmp .L226
4240 4284 0022 C35D subi r28,lo8(-(557))
4241 4285 0024 DD4F sbci r29,hi8(-(557))
4242 4286 0026 9881 ld r25,Y
4243 4287 0028 80E0 ldi r24,lo8(0)
4244 4288 002a 2A91 ld r18,-Y
4245 4289 002c CC52 subi r28,lo8(-(-556))
4246 4290 002e D240 sbci r29,hi8(-(-556))
4247 4291 0030 30E0 ldi r19,lo8(0)
4248 4292 0032 822B or r24,r18
4249 4293 0034 932B or r25,r19
4250 4294 0036 8555 subi r24,lo8(-21931)
4251 4295 0038 9A4A sbci r25,hi8(-21931)
4252 4296 003a 01F0 breq .L227
4253 4297 003c 62E0 ldi r22,lo8(2)
4254 4298 003e 00C0 rjmp .L226
4257 4301 0040 C959 subi r28,lo8(-(103))
4258 4302 0042 DF4F sbci r29,hi8(-(103))
4259 4303 0044 2881 ld r18,Y
4260 4304 0046 30E0 ldi r19,lo8(0)
4261 4305 0048 40E0 ldi r20,lo8(0)
4262 4306 004a 50E0 ldi r21,hi8(0)
4263 4307 004c 522F mov r21,r18
4264 4308 004e 4427 clr r20
4265 4309 0050 3327 clr r19
4266 4310 0052 2227 clr r18
4267 4311 0054 8A91 ld r24,-Y
4268 4312 0056 90E0 ldi r25,lo8(0)
4269 4313 0058 A0E0 ldi r26,lo8(0)
4270 4314 005a B0E0 ldi r27,hi8(0)
4271 4315 005c DC01 movw r26,r24
4272 4316 005e 9927 clr r25
4273 4317 0060 8827 clr r24
4274 4318 0062 282B or r18,r24
4275 4319 0064 392B or r19,r25
4276 4320 0066 4A2B or r20,r26
4277 4321 0068 5B2B or r21,r27
4278 4322 006a 2297 sbiw r28,2
4279 4323 006c 8991 ld r24,Y+
4280 4324 006e 90E0 ldi r25,lo8(0)
4281 4325 0070 A0E0 ldi r26,lo8(0)
4282 4326 0072 B0E0 ldi r27,hi8(0)
4283 4327 0074 282B or r18,r24
4284 4328 0076 392B or r19,r25
4285 4329 0078 4A2B or r20,r26
4286 4330 007a 5B2B or r21,r27
4287 4331 007c 9881 ld r25,Y
4288 4332 007e C556 subi r28,lo8(-(-101))
4289 4333 0080 D040 sbci r29,hi8(-(-101))
4290 4334 0082 80E0 ldi r24,lo8(0)
4291 4335 0084 A0E0 ldi r26,lo8(0)
4292 4336 0086 B0E0 ldi r27,hi8(0)
4293 4337 0088 282B or r18,r24
4294 4338 008a 392B or r19,r25
4295 4339 008c 4A2B or r20,r26
4296 4340 008e 5B2B or r21,r27
4297 4341 0090 5070 andi r21,hhi8(16777215)
4298 4342 0092 2654 subi r18,lo8(5521734)
4299 4343 0094 3144 sbci r19,hi8(5521734)
4300 4344 0096 4445 sbci r20,hlo8(5521734)
4301 4345 0098 5040 sbci r21,hhi8(5521734)
4302 4346 009a 01F4 brne .L228
4303 4347 009c 60E0 ldi r22,lo8(0)
4304 4348 009e 00C0 rjmp .L226
4306 4350 00a0 60E0 ldi r22,lo8(0)
4307 4351 00a2 CD57 subi r28,lo8(-(131))
4308 4352 00a4 DF4F sbci r29,hi8(-(131))
4309 4353 00a6 2881 ld r18,Y
4310 4354 00a8 30E0 ldi r19,lo8(0)
4311 4355 00aa 40E0 ldi r20,lo8(0)
4312 4356 00ac 50E0 ldi r21,hi8(0)
4313 4357 00ae 522F mov r21,r18
4314 4358 00b0 4427 clr r20
4315 4359 00b2 3327 clr r19
4316 4360 00b4 2227 clr r18
4317 4361 00b6 8A91 ld r24,-Y
4318 4362 00b8 90E0 ldi r25,lo8(0)
4319 4363 00ba A0E0 ldi r26,lo8(0)
4320 4364 00bc B0E0 ldi r27,hi8(0)
4321 4365 00be DC01 movw r26,r24
4322 4366 00c0 9927 clr r25
4323 4367 00c2 8827 clr r24
4324 4368 00c4 282B or r18,r24
4325 4369 00c6 392B or r19,r25
4326 4370 00c8 4A2B or r20,r26
4327 4371 00ca 5B2B or r21,r27
4328 4372 00cc 2297 sbiw r28,2
4329 4373 00ce 8991 ld r24,Y+
4330 4374 00d0 90E0 ldi r25,lo8(0)
4331 4375 00d2 A0E0 ldi r26,lo8(0)
4332 4376 00d4 B0E0 ldi r27,hi8(0)
4333 4377 00d6 282B or r18,r24
4334 4378 00d8 392B or r19,r25
4335 4379 00da 4A2B or r20,r26
4336 4380 00dc 5B2B or r21,r27
4337 4381 00de 9881 ld r25,Y
4339 4383 00e0 80E0 ldi r24,lo8(0)
4340 4384 00e2 A0E0 ldi r26,lo8(0)
4341 4385 00e4 B0E0 ldi r27,hi8(0)
4342 4386 00e6 282B or r18,r24
4343 4387 00e8 392B or r19,r25
4344 4388 00ea 4A2B or r20,r26
4345 4389 00ec 5B2B or r21,r27
4346 4390 00ee 5070 andi r21,hhi8(16777215)
4347 4391 00f0 2654 subi r18,lo8(5521734)
4348 4392 00f2 3144 sbci r19,hi8(5521734)
4349 4393 00f4 4445 sbci r20,hlo8(5521734)
4350 4394 00f6 5040 sbci r21,hhi8(5521734)
4351 4395 00f8 01F0 breq .L226
4352 4396 00fa 61E0 ldi r22,lo8(1)
4356 4400 00fc 862F mov r24,r22
4357 4401 /* epilogue start */
4358 4402 00fe DF91 pop r29
4359 4403 0100 CF91 pop r28
4361 4405 0102 0F91 pop r16
4364 4409 .section .text.f_sync,"ax",@progbits
4370 4416 0000 0F93 push r16
4371 4417 0002 1F93 push r17
4372 4418 0004 CF93 push r28
4373 4419 0006 DF93 push r29
4374 4420 /* prologue: function */
4375 4421 /* frame size = 0 */
4376 4422 0008 EC01 movw r28,r24
4378 4424 000a 6A81 ldd r22,Y+2
4379 4425 000c 7B81 ldd r23,Y+3
4380 4426 000e 8881 ld r24,Y
4381 4427 0010 9981 ldd r25,Y+1
4383 4429 0012 0E94 0000 call validate
4384 4430 0016 982F mov r25,r24
4387 4433 0018 8823 tst r24
4388 4434 001a 01F0 breq .+2
4389 4435 001c 00C0 rjmp .L232
4392 4438 001e 8C81 ldd r24,Y+4
4394 4440 0020 85FF sbrs r24,5
4395 4441 0022 00C0 rjmp .L232
4397 4443 0024 4A8D ldd r20,Y+26
4398 4444 0026 5B8D ldd r21,Y+27
4399 4445 0028 6C8D ldd r22,Y+28
4400 4446 002a 7D8D ldd r23,Y+29
4401 4447 002c 8881 ld r24,Y
4402 4448 002e 9981 ldd r25,Y+1
4403 4449 0030 0E94 0000 call move_window
4405 4451 0034 982F mov r25,r24
4408 4454 0036 8823 tst r24
4409 4455 0038 01F0 breq .+2
4410 4456 003a 00C0 rjmp .L232
4413 4459 003c 0E8D ldd r16,Y+30
4414 4460 003e 1F8D ldd r17,Y+31
4417 4463 0040 F801 movw r30,r16
4418 4464 0042 8385 ldd r24,Z+11
4420 4466 0044 8062 ori r24,lo8(32)
4421 4467 0046 8387 std Z+11,r24
4423 4469 0048 8A85 ldd r24,Y+10
4424 4470 004a 848F std Z+28,r24
4425 4471 004c 8B85 ldd r24,Y+11
4426 4472 004e 858F std Z+29,r24
4427 4473 0050 8A85 ldd r24,Y+10
4428 4474 0052 9B85 ldd r25,Y+11
4429 4475 0054 AC85 ldd r26,Y+12
4430 4476 0056 BD85 ldd r27,Y+13
4431 4477 0058 CD01 movw r24,r26
4432 4478 005a AA27 clr r26
4433 4479 005c BB27 clr r27
4434 4480 005e 868F std Z+30,r24
4435 4481 0060 8A85 ldd r24,Y+10
4436 4482 0062 9B85 ldd r25,Y+11
4437 4483 0064 AC85 ldd r26,Y+12
4438 4484 0066 BD85 ldd r27,Y+13
4439 4485 0068 8B2F mov r24,r27
4440 4486 006a 9927 clr r25
4441 4487 006c AA27 clr r26
4442 4488 006e BB27 clr r27
4443 4489 0070 878F std Z+31,r24
4445 4491 0072 8E85 ldd r24,Y+14
4446 4492 0074 828F std Z+26,r24
4447 4493 0076 8F85 ldd r24,Y+15
4448 4494 0078 838F std Z+27,r24
4450 4496 007a 8E85 ldd r24,Y+14
4451 4497 007c 9F85 ldd r25,Y+15
4452 4498 007e A889 ldd r26,Y+16
4453 4499 0080 B989 ldd r27,Y+17
4454 4500 0082 CD01 movw r24,r26
4455 4501 0084 AA27 clr r26
4456 4502 0086 BB27 clr r27
4457 4503 0088 848B std Z+20,r24
4458 4504 008a 8E85 ldd r24,Y+14
4459 4505 008c 9F85 ldd r25,Y+15
4460 4506 008e A889 ldd r26,Y+16
4461 4507 0090 B989 ldd r27,Y+17
4462 4508 0092 CD01 movw r24,r26
4463 4509 0094 AA27 clr r26
4464 4510 0096 BB27 clr r27
4465 4511 0098 892F mov r24,r25
4466 4512 009a 9927 clr r25
4467 4513 009c 858B std Z+21,r24
4469 4515 009e 0E94 0000 call get_fattime
4472 4518 00a2 F801 movw r30,r16
4473 4519 00a4 668B std Z+22,r22
4475 4521 00a6 272F mov r18,r23
4476 4522 00a8 3327 clr r19
4477 4523 00aa 278B std Z+23,r18
4478 4524 00ac 9C01 movw r18,r24
4479 4525 00ae 4427 clr r20
4480 4526 00b0 5527 clr r21
4481 4527 00b2 208F std Z+24,r18
4482 4528 00b4 692F mov r22,r25
4483 4529 00b6 7727 clr r23
4484 4530 00b8 8827 clr r24
4485 4531 00ba 9927 clr r25
4487 4533 00bc 618F std Z+25,r22
4489 4535 00be 8C81 ldd r24,Y+4
4490 4536 00c0 8F7D andi r24,lo8(-33)
4491 4537 00c2 8C83 std Y+4,r24
4493 4539 00c4 E881 ld r30,Y
4494 4540 00c6 F981 ldd r31,Y+1
4495 4541 00c8 81E0 ldi r24,lo8(1)
4496 4542 00ca 8483 std Z+4,r24
4498 4544 00cc 0990 ld __tmp_reg__,Y+
4499 4545 00ce D881 ld r29,Y
4500 4546 00d0 C02D mov r28,__tmp_reg__
4504 4550 00d2 CE01 movw r24,r28
4505 4551 00d4 40E0 ldi r20,lo8(0)
4506 4552 00d6 50E0 ldi r21,hi8(0)
4507 4553 00d8 60E0 ldi r22,hlo8(0)
4508 4554 00da 70E0 ldi r23,hhi8(0)
4509 4555 00dc 0E94 0000 call move_window
4510 4556 00e0 982F mov r25,r24
4514 4560 00e2 8823 tst r24
4515 4561 00e4 01F0 breq .+2
4516 4562 00e6 00C0 rjmp .L232
4519 4565 00e8 8881 ld r24,Y
4521 4567 00ea 8330 cpi r24,lo8(3)
4522 4568 00ec 01F0 breq .+2
4523 4569 00ee 00C0 rjmp .L233
4524 4570 00f0 8D81 ldd r24,Y+5
4525 4571 00f2 8823 tst r24
4526 4572 00f4 01F4 brne .+2
4527 4573 00f6 00C0 rjmp .L233
4529 4575 00f8 1AA6 std Y+42,__zero_reg__
4530 4576 00fa 1BA6 std Y+43,__zero_reg__
4531 4577 00fc 1CA6 std Y+44,__zero_reg__
4532 4578 00fe 1DA6 std Y+45,__zero_reg__
4534 4580 0100 8E01 movw r16,r28
4536 4582 0102 025D subi r16,lo8(-(46))
4537 4583 0104 1F4F sbci r17,hi8(-(46))
4538 4584 0106 C801 movw r24,r16
4539 4585 0108 60E0 ldi r22,lo8(0)
4540 4586 010a 70E0 ldi r23,hi8(0)
4541 4587 010c 40E0 ldi r20,lo8(512)
4542 4588 010e 52E0 ldi r21,hi8(512)
4543 4589 0110 0E94 0000 call mem_set
4546 4592 0114 C45D subi r28,lo8(-(556))
4547 4593 0116 DD4F sbci r29,hi8(-(556))
4548 4594 0118 85E5 ldi r24,lo8(85)
4549 4595 011a 8993 st Y+,r24
4550 4596 011c 8AEA ldi r24,lo8(-86)
4551 4597 011e 8883 st Y,r24
4552 4598 0120 CD52 subi r28,lo8(-(-557))
4553 4599 0122 D240 sbci r29,hi8(-(-557))
4555 4601 0124 82E5 ldi r24,lo8(82)
4556 4602 0126 8EA7 std Y+46,r24
4557 4603 0128 8FA7 std Y+47,r24
4558 4604 012a 21E6 ldi r18,lo8(97)
4559 4605 012c 28AB std Y+48,r18
4560 4606 012e 91E4 ldi r25,lo8(65)
4561 4607 0130 99AB std Y+49,r25
4563 4609 0132 CE5E subi r28,lo8(-(530))
4564 4610 0134 DD4F sbci r29,hi8(-(530))
4565 4611 0136 82E7 ldi r24,lo8(114)
4566 4612 0138 8993 st Y+,r24
4567 4613 013a 8993 st Y+,r24
4568 4614 013c 9993 st Y+,r25
4569 4615 013e 2883 st Y,r18
4570 4616 0140 C551 subi r28,lo8(-(-533))
4571 4617 0142 D240 sbci r29,hi8(-(-533))
4573 4619 0144 8E85 ldd r24,Y+14
4574 4620 0146 CA5E subi r28,lo8(-(534))
4575 4621 0148 DD4F sbci r29,hi8(-(534))
4576 4622 014a 8883 st Y,r24
4577 4623 014c C651 subi r28,lo8(-(-534))
4578 4624 014e D240 sbci r29,hi8(-(-534))
4579 4625 0150 8F85 ldd r24,Y+15
4580 4626 0152 C95E subi r28,lo8(-(535))
4581 4627 0154 DD4F sbci r29,hi8(-(535))
4582 4628 0156 8883 st Y,r24
4583 4629 0158 C751 subi r28,lo8(-(-535))
4584 4630 015a D240 sbci r29,hi8(-(-535))
4585 4631 015c 8E85 ldd r24,Y+14
4586 4632 015e 9F85 ldd r25,Y+15
4587 4633 0160 A889 ldd r26,Y+16
4588 4634 0162 B989 ldd r27,Y+17
4589 4635 0164 9D01 movw r18,r26
4590 4636 0166 4427 clr r20
4591 4637 0168 5527 clr r21
4592 4638 016a C85E subi r28,lo8(-(536))
4593 4639 016c DD4F sbci r29,hi8(-(536))
4594 4640 016e 2883 st Y,r18
4595 4641 0170 2196 adiw r28,1
4596 4642 0172 8B2F mov r24,r27
4597 4643 0174 9927 clr r25
4598 4644 0176 AA27 clr r26
4599 4645 0178 BB27 clr r27
4600 4646 017a 8883 st Y,r24
4601 4647 017c C951 subi r28,lo8(-(-537))
4602 4648 017e D240 sbci r29,hi8(-(-537))
4604 4650 0180 8A85 ldd r24,Y+10
4605 4651 0182 C65E subi r28,lo8(-(538))
4606 4652 0184 DD4F sbci r29,hi8(-(538))
4607 4653 0186 8883 st Y,r24
4608 4654 0188 CA51 subi r28,lo8(-(-538))
4609 4655 018a D240 sbci r29,hi8(-(-538))
4610 4656 018c 8B85 ldd r24,Y+11
4611 4657 018e C55E subi r28,lo8(-(539))
4612 4658 0190 DD4F sbci r29,hi8(-(539))
4613 4659 0192 8883 st Y,r24
4614 4660 0194 CB51 subi r28,lo8(-(-539))
4615 4661 0196 D240 sbci r29,hi8(-(-539))
4616 4662 0198 8A85 ldd r24,Y+10
4617 4663 019a 9B85 ldd r25,Y+11
4618 4664 019c AC85 ldd r26,Y+12
4619 4665 019e BD85 ldd r27,Y+13
4620 4666 01a0 9D01 movw r18,r26
4621 4667 01a2 4427 clr r20
4622 4668 01a4 5527 clr r21
4623 4669 01a6 C45E subi r28,lo8(-(540))
4624 4670 01a8 DD4F sbci r29,hi8(-(540))
4625 4671 01aa 2883 st Y,r18
4626 4672 01ac 2196 adiw r28,1
4627 4673 01ae 8B2F mov r24,r27
4628 4674 01b0 9927 clr r25
4629 4675 01b2 AA27 clr r26
4630 4676 01b4 BB27 clr r27
4631 4677 01b6 8883 st Y,r24
4632 4678 01b8 CD51 subi r28,lo8(-(-541))
4633 4679 01ba D240 sbci r29,hi8(-(-541))
4635 4681 01bc 2A89 ldd r18,Y+18
4636 4682 01be 3B89 ldd r19,Y+19
4637 4683 01c0 4C89 ldd r20,Y+20
4638 4684 01c2 5D89 ldd r21,Y+21
4639 4685 01c4 8981 ldd r24,Y+1
4640 4686 01c6 B801 movw r22,r16
4641 4687 01c8 01E0 ldi r16,lo8(1)
4642 4688 01ca 0E94 0000 call disk_write
4644 4690 01ce 1D82 std Y+5,__zero_reg__
4649 4695 01d0 8981 ldd r24,Y+1
4650 4696 01d2 60E0 ldi r22,lo8(0)
4651 4697 01d4 40E0 ldi r20,lo8(0)
4652 4698 01d6 50E0 ldi r21,hi8(0)
4653 4699 01d8 0E94 0000 call disk_ioctl
4655 4701 01dc 8111 cpse r24,__zero_reg__
4656 4702 01de 81E0 ldi r24,lo8(1)
4658 4704 01e0 982F mov r25,r24
4663 4709 01e2 892F mov r24,r25
4664 4710 /* epilogue start */
4665 4711 01e4 DF91 pop r29
4666 4712 01e6 CF91 pop r28
4668 4714 01e8 1F91 pop r17
4669 4715 01ea 0F91 pop r16
4673 4720 .section .text.f_close,"ax",@progbits
4674 4721 .global f_close
4679 4727 0000 CF93 push r28
4680 4728 0002 DF93 push r29
4681 4729 /* prologue: function */
4682 4730 /* frame size = 0 */
4683 4731 0004 EC01 movw r28,r24
4685 4733 0006 0E94 0000 call f_sync
4688 4736 000a 8823 tst r24
4690 4738 000c 01F4 brne .L237
4691 4739 000e 1982 std Y+1,__zero_reg__
4692 4740 0010 1882 st Y,__zero_reg__
4695 4743 /* epilogue start */
4697 4745 0012 DF91 pop r29
4698 4746 0014 CF91 pop r28
4702 4751 .section .text.chk_mounted,"ax",@progbits
4703 4752 .global chk_mounted
4708 4758 0000 6F92 push r6
4709 4759 0002 7F92 push r7
4710 4760 0004 8F92 push r8
4711 4761 0006 9F92 push r9
4712 4762 0008 AF92 push r10
4713 4763 000a BF92 push r11
4714 4764 000c CF92 push r12
4715 4765 000e DF92 push r13
4716 4766 0010 EF92 push r14
4717 4767 0012 FF92 push r15
4718 4768 0014 0F93 push r16
4719 4769 0016 1F93 push r17
4720 4770 0018 CF93 push r28
4721 4771 001a DF93 push r29
4722 4772 /* prologue: function */
4723 4773 /* frame size = 0 */
4724 4774 001c DC01 movw r26,r24
4725 4775 001e 142F mov r17,r20
4727 4777 0020 ED91 ld r30,X+
4728 4778 0022 FC91 ld r31,X
4729 4779 0024 1197 sbiw r26,1
4732 4782 0026 8081 ld r24,Z
4734 4784 0028 282F mov r18,r24
4736 4786 002a 30E0 ldi r19,lo8(0)
4738 4788 002c 2053 subi r18,lo8(-(-48))
4739 4789 002e 3040 sbci r19,hi8(-(-48))
4742 4792 0030 2A30 cpi r18,10
4743 4793 0032 3105 cpc r19,__zero_reg__
4744 4794 0034 00F4 brsh .L240
4746 4796 0036 8181 ldd r24,Z+1
4747 4797 0038 8A33 cpi r24,lo8(58)
4748 4798 003a 01F4 brne .L240
4750 4800 003c 3296 adiw r30,2
4751 4801 003e ED93 st X+,r30
4752 4802 0040 FC93 st X,r31
4754 4804 0042 232B or r18,r19
4755 4805 0044 01F0 breq .L240
4756 4806 0046 8BE0 ldi r24,lo8(11)
4757 4807 0048 00C0 rjmp .L241
4760 4810 004a C091 0000 lds r28,FatFs
4761 4811 004e D091 0000 lds r29,(FatFs)+1
4763 4813 0052 FB01 movw r30,r22
4765 4815 0054 D183 std Z+1,r29
4766 4816 0056 C083 st Z,r28
4768 4818 0058 2097 sbiw r28,0
4769 4819 005a 01F4 brne .L242
4770 4820 005c 8CE0 ldi r24,lo8(12)
4771 4821 005e 00C0 rjmp .L241
4774 4824 0060 8881 ld r24,Y
4775 4825 0062 8823 tst r24
4776 4826 0064 01F0 breq .L243
4778 4828 0066 8981 ldd r24,Y+1
4779 4829 0068 0E94 0000 call disk_status
4782 4832 006c 80FD sbrc r24,0
4783 4833 006e 00C0 rjmp .L243
4785 4835 0070 1123 tst r17
4786 4836 0072 01F4 brne .+2
4787 4837 0074 00C0 rjmp .L244
4788 4838 0076 82FD sbrc r24,2
4789 4839 0078 00C0 rjmp .L245
4790 4840 007a 00C0 rjmp .L244
4794 4844 007c 1882 st Y,__zero_reg__
4796 4846 007e 1982 std Y+1,__zero_reg__
4798 4848 0080 80E0 ldi r24,lo8(0)
4799 4849 0082 0E94 0000 call disk_initialize
4802 4852 0086 80FF sbrs r24,0
4803 4853 0088 00C0 rjmp .L246
4804 4854 008a 83E0 ldi r24,lo8(3)
4805 4855 008c 00C0 rjmp .L241
4808 4858 008e 1123 tst r17
4809 4859 0090 01F0 breq .L247
4810 4860 0092 82FD sbrc r24,2
4811 4861 0094 00C0 rjmp .L245
4814 4864 0096 CE01 movw r24,r28
4815 4865 0098 40E0 ldi r20,lo8(0)
4816 4866 009a 50E0 ldi r21,hi8(0)
4817 4867 009c 60E0 ldi r22,hlo8(0)
4818 4868 009e 70E0 ldi r23,hhi8(0)
4819 4869 00a0 0E94 0000 call check_fs
4821 4871 00a4 8130 cpi r24,lo8(1)
4823 4873 00a6 01F0 breq .L248
4824 4874 00a8 AA24 clr r10
4825 4875 00aa BB24 clr r11
4826 4876 00ac 6501 movw r12,r10
4828 4878 00ae 00C0 rjmp .L249
4832 4882 00b0 FE01 movw r30,r28
4834 4884 00b2 E451 subi r30,lo8(-(492))
4835 4885 00b4 FE4F sbci r31,hi8(-(492))
4837 4887 00b6 8481 ldd r24,Z+4
4839 4889 00b8 8823 tst r24
4840 4890 00ba 01F4 brne .+2
4841 4891 00bc 00C0 rjmp .L250
4843 4893 00be 8385 ldd r24,Z+11
4844 4894 00c0 90E0 ldi r25,lo8(0)
4845 4895 00c2 A0E0 ldi r26,lo8(0)
4846 4896 00c4 B0E0 ldi r27,hi8(0)
4847 4897 00c6 D82E mov r13,r24
4848 4898 00c8 CC24 clr r12
4849 4899 00ca BB24 clr r11
4850 4900 00cc AA24 clr r10
4852 4902 00ce 8285 ldd r24,Z+10
4853 4903 00d0 90E0 ldi r25,lo8(0)
4854 4904 00d2 A0E0 ldi r26,lo8(0)
4855 4905 00d4 B0E0 ldi r27,hi8(0)
4856 4906 00d6 DC01 movw r26,r24
4857 4907 00d8 9927 clr r25
4858 4908 00da 8827 clr r24
4859 4909 00dc A82A or r10,r24
4860 4910 00de B92A or r11,r25
4861 4911 00e0 CA2A or r12,r26
4862 4912 00e2 DB2A or r13,r27
4863 4913 00e4 8085 ldd r24,Z+8
4864 4914 00e6 90E0 ldi r25,lo8(0)
4865 4915 00e8 A0E0 ldi r26,lo8(0)
4866 4916 00ea B0E0 ldi r27,hi8(0)
4867 4917 00ec A82A or r10,r24
4868 4918 00ee B92A or r11,r25
4869 4919 00f0 CA2A or r12,r26
4870 4920 00f2 DB2A or r13,r27
4871 4921 00f4 9185 ldd r25,Z+9
4872 4922 00f6 80E0 ldi r24,lo8(0)
4873 4923 00f8 A0E0 ldi r26,lo8(0)
4874 4924 00fa B0E0 ldi r27,hi8(0)
4875 4925 00fc A82A or r10,r24
4876 4926 00fe B92A or r11,r25
4877 4927 0100 CA2A or r12,r26
4878 4928 0102 DB2A or r13,r27
4880 4930 0104 CE01 movw r24,r28
4881 4931 0106 B601 movw r22,r12
4882 4932 0108 A501 movw r20,r10
4883 4933 010a 0E94 0000 call check_fs
4887 4937 010e 8330 cpi r24,lo8(3)
4888 4938 0110 01F4 brne .L251
4889 4939 0112 81E0 ldi r24,lo8(1)
4891 4941 0114 00C0 rjmp .L241
4895 4945 0116 8823 tst r24
4896 4946 0118 01F0 breq .+2
4897 4947 011a 00C0 rjmp .L250
4898 4948 011c 9AAD ldd r25,Y+58
4899 4949 011e 80E0 ldi r24,lo8(0)
4901 4951 0120 29AD ldd r18,Y+57
4902 4952 0122 30E0 ldi r19,lo8(0)
4903 4953 0124 822B or r24,r18
4904 4954 0126 932B or r25,r19
4905 4955 0128 8050 subi r24,lo8(512)
4906 4956 012a 9240 sbci r25,hi8(512)
4907 4957 012c 01F0 breq .+2
4908 4958 012e 00C0 rjmp .L250
4910 4960 0130 CB5B subi r28,lo8(-(69))
4911 4961 0132 DF4F sbci r29,hi8(-(69))
4912 4962 0134 9881 ld r25,Y
4913 4963 0136 80E0 ldi r24,lo8(0)
4914 4964 0138 2A91 ld r18,-Y
4915 4965 013a C454 subi r28,lo8(-(-68))
4916 4966 013c D040 sbci r29,hi8(-(-68))
4917 4967 013e 30E0 ldi r19,lo8(0)
4918 4968 0140 822B or r24,r18
4919 4969 0142 932B or r25,r19
4920 4970 0144 7C01 movw r14,r24
4922 4972 0146 00E0 ldi r16,lo8(0)
4923 4973 0148 10E0 ldi r17,hi8(0)
4926 4976 014a E114 cp r14,__zero_reg__
4927 4977 014c F104 cpc r15,__zero_reg__
4928 4978 014e 0105 cpc r16,__zero_reg__
4929 4979 0150 1105 cpc r17,__zero_reg__
4930 4980 0152 01F4 brne .L252
4931 4981 0154 CB5A subi r28,lo8(-(85))
4932 4982 0156 DF4F sbci r29,hi8(-(85))
4933 4983 0158 8881 ld r24,Y
4934 4984 015a 90E0 ldi r25,lo8(0)
4935 4985 015c A0E0 ldi r26,lo8(0)
4936 4986 015e B0E0 ldi r27,hi8(0)
4937 4987 0160 182F mov r17,r24
4938 4988 0162 0027 clr r16
4939 4989 0164 FF24 clr r15
4940 4990 0166 EE24 clr r14
4942 4992 0168 8A91 ld r24,-Y
4943 4993 016a 90E0 ldi r25,lo8(0)
4944 4994 016c A0E0 ldi r26,lo8(0)
4945 4995 016e B0E0 ldi r27,hi8(0)
4946 4996 0170 DC01 movw r26,r24
4947 4997 0172 9927 clr r25
4948 4998 0174 8827 clr r24
4949 4999 0176 E82A or r14,r24
4950 5000 0178 F92A or r15,r25
4951 5001 017a 0A2B or r16,r26
4952 5002 017c 1B2B or r17,r27
4953 5003 017e 2297 sbiw r28,2
4954 5004 0180 8991 ld r24,Y+
4955 5005 0182 90E0 ldi r25,lo8(0)
4956 5006 0184 A0E0 ldi r26,lo8(0)
4957 5007 0186 B0E0 ldi r27,hi8(0)
4958 5008 0188 E82A or r14,r24
4959 5009 018a F92A or r15,r25
4960 5010 018c 0A2B or r16,r26
4961 5011 018e 1B2B or r17,r27
4962 5012 0190 9881 ld r25,Y
4963 5013 0192 C355 subi r28,lo8(-(-83))
4964 5014 0194 D040 sbci r29,hi8(-(-83))
4965 5015 0196 80E0 ldi r24,lo8(0)
4966 5016 0198 A0E0 ldi r26,lo8(0)
4967 5017 019a B0E0 ldi r27,hi8(0)
4968 5018 019c E82A or r14,r24
4969 5019 019e F92A or r15,r25
4970 5020 01a0 0A2B or r16,r26
4971 5021 01a2 1B2B or r17,r27
4974 5024 01a4 EE8A std Y+22,r14
4975 5025 01a6 FF8A std Y+23,r15
4976 5026 01a8 088F std Y+24,r16
4977 5027 01aa 198F std Y+25,r17
4979 5029 01ac 2EAD ldd r18,Y+62
4980 5030 01ae 2B83 std Y+3,r18
4982 5032 01b0 30E0 ldi r19,lo8(0)
4983 5033 01b2 40E0 ldi r20,lo8(0)
4984 5034 01b4 50E0 ldi r21,hi8(0)
4985 5035 01b6 C801 movw r24,r16
4986 5036 01b8 B701 movw r22,r14
4987 5037 01ba 0E94 0000 call __mulsi3
4988 5038 01be 3B01 movw r6,r22
4989 5039 01c0 4C01 movw r8,r24
4992 5042 01c2 9DAD ldd r25,Y+61
4993 5043 01c4 80E0 ldi r24,lo8(0)
4994 5044 01c6 2CAD ldd r18,Y+60
4995 5045 01c8 30E0 ldi r19,lo8(0)
4996 5046 01ca 822B or r24,r18
4997 5047 01cc 932B or r25,r19
4998 5048 01ce A0E0 ldi r26,lo8(0)
4999 5049 01d0 B0E0 ldi r27,hi8(0)
5000 5050 01d2 8A0D add r24,r10
5001 5051 01d4 9B1D adc r25,r11
5002 5052 01d6 AC1D adc r26,r12
5003 5053 01d8 BD1D adc r27,r13
5004 5054 01da 8E8F std Y+30,r24
5005 5055 01dc 9F8F std Y+31,r25
5006 5056 01de A8A3 std Y+32,r26
5007 5057 01e0 B9A3 std Y+33,r27
5009 5059 01e2 8BAD ldd r24,Y+59
5010 5060 01e4 8A83 std Y+2,r24
5012 5062 01e6 C05C subi r28,lo8(-(64))
5013 5063 01e8 DF4F sbci r29,hi8(-(64))
5014 5064 01ea 9881 ld r25,Y
5015 5065 01ec C054 subi r28,lo8(-(-64))
5016 5066 01ee D040 sbci r29,hi8(-(-64))
5017 5067 01f0 80E0 ldi r24,lo8(0)
5018 5068 01f2 2FAD ldd r18,Y+63
5019 5069 01f4 422F mov r20,r18
5020 5070 01f6 50E0 ldi r21,lo8(0)
5021 5071 01f8 482B or r20,r24
5022 5072 01fa 592B or r21,r25
5023 5073 01fc 5987 std Y+9,r21
5024 5074 01fe 4887 std Y+8,r20
5026 5076 0200 CE5B subi r28,lo8(-(66))
5027 5077 0202 DF4F sbci r29,hi8(-(66))
5028 5078 0204 9881 ld r25,Y
5029 5079 0206 80E0 ldi r24,lo8(0)
5030 5080 0208 2A91 ld r18,-Y
5031 5081 020a C154 subi r28,lo8(-(-65))
5032 5082 020c D040 sbci r29,hi8(-(-65))
5033 5083 020e 30E0 ldi r19,lo8(0)
5034 5084 0210 822B or r24,r18
5035 5085 0212 932B or r25,r19
5036 5086 0214 7C01 movw r14,r24
5038 5088 0216 00E0 ldi r16,lo8(0)
5039 5089 0218 10E0 ldi r17,hi8(0)
5042 5092 021a E114 cp r14,__zero_reg__
5043 5093 021c F104 cpc r15,__zero_reg__
5044 5094 021e 0105 cpc r16,__zero_reg__
5045 5095 0220 1105 cpc r17,__zero_reg__
5046 5096 0222 01F4 brne .L253
5047 5097 0224 CF5A subi r28,lo8(-(81))
5048 5098 0226 DF4F sbci r29,hi8(-(81))
5049 5099 0228 8881 ld r24,Y
5050 5100 022a 90E0 ldi r25,lo8(0)
5051 5101 022c A0E0 ldi r26,lo8(0)
5052 5102 022e B0E0 ldi r27,hi8(0)
5053 5103 0230 182F mov r17,r24
5054 5104 0232 0027 clr r16
5055 5105 0234 FF24 clr r15
5056 5106 0236 EE24 clr r14
5058 5108 0238 8A91 ld r24,-Y
5059 5109 023a 90E0 ldi r25,lo8(0)
5060 5110 023c A0E0 ldi r26,lo8(0)
5061 5111 023e B0E0 ldi r27,hi8(0)
5062 5112 0240 DC01 movw r26,r24
5063 5113 0242 9927 clr r25
5064 5114 0244 8827 clr r24
5065 5115 0246 E82A or r14,r24
5066 5116 0248 F92A or r15,r25
5067 5117 024a 0A2B or r16,r26
5068 5118 024c 1B2B or r17,r27
5069 5119 024e 2297 sbiw r28,2
5070 5120 0250 8991 ld r24,Y+
5071 5121 0252 90E0 ldi r25,lo8(0)
5072 5122 0254 A0E0 ldi r26,lo8(0)
5073 5123 0256 B0E0 ldi r27,hi8(0)
5074 5124 0258 E82A or r14,r24
5075 5125 025a F92A or r15,r25
5076 5126 025c 0A2B or r16,r26
5077 5127 025e 1B2B or r17,r27
5078 5128 0260 9881 ld r25,Y
5079 5129 0262 CF54 subi r28,lo8(-(-79))
5080 5130 0264 D040 sbci r29,hi8(-(-79))
5081 5131 0266 80E0 ldi r24,lo8(0)
5082 5132 0268 A0E0 ldi r26,lo8(0)
5083 5133 026a B0E0 ldi r27,hi8(0)
5084 5134 026c E82A or r14,r24
5085 5135 026e F92A or r15,r25
5086 5136 0270 0A2B or r16,r26
5087 5137 0272 1B2B or r17,r27
5090 5140 0274 9DAD ldd r25,Y+61
5091 5141 0276 80E0 ldi r24,lo8(0)
5092 5142 0278 2CAD ldd r18,Y+60
5093 5143 027a 30E0 ldi r19,lo8(0)
5094 5144 027c 822B or r24,r18
5095 5145 027e 932B or r25,r19
5096 5146 0280 A0E0 ldi r26,lo8(0)
5097 5147 0282 B0E0 ldi r27,hi8(0)
5098 5148 0284 E81A sub r14,r24
5099 5149 0286 F90A sbc r15,r25
5100 5150 0288 0A0B sbc r16,r26
5101 5151 028a 1B0B sbc r17,r27
5103 5153 028c E618 sub r14,r6
5104 5154 028e F708 sbc r15,r7
5105 5155 0290 0809 sbc r16,r8
5106 5156 0292 1909 sbc r17,r9
5107 5157 0294 B4E0 ldi r27,4
5108 5158 0296 5695 1: lsr r21
5109 5159 0298 4795 ror r20
5110 5160 029a BA95 dec r27
5111 5161 029c 01F4 brne 1b
5112 5162 029e CA01 movw r24,r20
5113 5163 02a0 A0E0 ldi r26,lo8(0)
5114 5164 02a2 B0E0 ldi r27,hi8(0)
5115 5165 02a4 E81A sub r14,r24
5116 5166 02a6 F90A sbc r15,r25
5117 5167 02a8 0A0B sbc r16,r26
5118 5168 02aa 1B0B sbc r17,r27
5119 5169 02ac 2A81 ldd r18,Y+2
5120 5170 02ae 30E0 ldi r19,lo8(0)
5121 5171 02b0 40E0 ldi r20,lo8(0)
5122 5172 02b2 50E0 ldi r21,hi8(0)
5123 5173 02b4 C801 movw r24,r16
5124 5174 02b6 B701 movw r22,r14
5125 5175 02b8 0E94 0000 call __udivmodsi4
5126 5176 02bc 2E5F subi r18,lo8(-(2))
5127 5177 02be 3F4F sbci r19,hi8(-(2))
5128 5178 02c0 4F4F sbci r20,hlo8(-(2))
5129 5179 02c2 5F4F sbci r21,hhi8(-(2))
5131 5181 02c4 2A8F std Y+26,r18
5132 5182 02c6 3B8F std Y+27,r19
5133 5183 02c8 4C8F std Y+28,r20
5134 5184 02ca 5D8F std Y+29,r21
5136 5186 02cc 273F cpi r18,lo8(4087)
5137 5187 02ce 8FE0 ldi r24,hi8(4087)
5138 5188 02d0 3807 cpc r19,r24
5139 5189 02d2 80E0 ldi r24,hlo8(4087)
5140 5190 02d4 4807 cpc r20,r24
5141 5191 02d6 80E0 ldi r24,hhi8(4087)
5142 5192 02d8 5807 cpc r21,r24
5143 5193 02da 00F4 brsh .L254
5144 5194 02dc 11E0 ldi r17,lo8(1)
5146 5196 02de 00C0 rjmp .L255
5150 5200 02e0 275F subi r18,lo8(65527)
5151 5201 02e2 3F4F sbci r19,hi8(65527)
5152 5202 02e4 4040 sbci r20,hlo8(65527)
5153 5203 02e6 5040 sbci r21,hhi8(65527)
5154 5204 02e8 00F0 brlo .+2
5155 5205 02ea 00C0 rjmp .L256
5156 5206 02ec 12E0 ldi r17,lo8(2)
5160 5210 02ee 8E8D ldd r24,Y+30
5161 5211 02f0 9F8D ldd r25,Y+31
5162 5212 02f2 A8A1 ldd r26,Y+32
5163 5213 02f4 B9A1 ldd r27,Y+33
5164 5214 02f6 860D add r24,r6
5165 5215 02f8 971D adc r25,r7
5166 5216 02fa A81D adc r26,r8
5167 5217 02fc B91D adc r27,r9
5168 5218 02fe 8AA3 std Y+34,r24
5169 5219 0300 9BA3 std Y+35,r25
5170 5220 0302 ACA3 std Y+36,r26
5171 5221 0304 BDA3 std Y+37,r27
5174 5224 0306 8885 ldd r24,Y+8
5175 5225 0308 9985 ldd r25,Y+9
5176 5226 030a A4E0 ldi r26,4
5177 5227 030c 9695 1: lsr r25
5178 5228 030e 8795 ror r24
5179 5229 0310 AA95 dec r26
5180 5230 0312 01F4 brne 1b
5181 5231 0314 A0E0 ldi r26,lo8(0)
5182 5232 0316 B0E0 ldi r27,hi8(0)
5183 5233 0318 2E8D ldd r18,Y+30
5184 5234 031a 3F8D ldd r19,Y+31
5185 5235 031c 48A1 ldd r20,Y+32
5186 5236 031e 59A1 ldd r21,Y+33
5188 5238 0320 820F add r24,r18
5189 5239 0322 931F adc r25,r19
5190 5240 0324 A41F adc r26,r20
5191 5241 0326 B51F adc r27,r21
5192 5242 0328 860D add r24,r6
5193 5243 032a 971D adc r25,r7
5194 5244 032c A81D adc r26,r8
5195 5245 032e B91D adc r27,r9
5196 5246 0330 8EA3 std Y+38,r24
5197 5247 0332 9FA3 std Y+39,r25
5198 5248 0334 A8A7 std Y+40,r26
5199 5249 0336 B9A7 std Y+41,r27
5201 5251 0338 8FEF ldi r24,lo8(-1)
5202 5252 033a 9FEF ldi r25,hi8(-1)
5203 5253 033c AFEF ldi r26,hlo8(-1)
5204 5254 033e BFEF ldi r27,hhi8(-1)
5205 5255 0340 8E87 std Y+14,r24
5206 5256 0342 9F87 std Y+15,r25
5207 5257 0344 A88B std Y+16,r26
5208 5258 0346 B98B std Y+17,r27
5210 5260 0348 1C82 std Y+4,__zero_reg__
5212 5262 034a 1330 cpi r17,lo8(3)
5213 5263 034c 01F0 breq .+2
5214 5264 034e 00C0 rjmp .L257
5216 5266 0350 1D82 std Y+5,__zero_reg__
5218 5268 0352 C15A subi r28,lo8(-(95))
5219 5269 0354 DF4F sbci r29,hi8(-(95))
5220 5270 0356 3881 ld r19,Y
5221 5271 0358 20E0 ldi r18,lo8(0)
5222 5272 035a 8A91 ld r24,-Y
5223 5273 035c CE55 subi r28,lo8(-(-94))
5224 5274 035e D040 sbci r29,hi8(-(-94))
5225 5275 0360 90E0 ldi r25,lo8(0)
5226 5276 0362 282B or r18,r24
5227 5277 0364 392B or r19,r25
5228 5278 0366 40E0 ldi r20,lo8(0)
5229 5279 0368 50E0 ldi r21,hi8(0)
5230 5280 036a 2A0D add r18,r10
5231 5281 036c 3B1D adc r19,r11
5232 5282 036e 4C1D adc r20,r12
5233 5283 0370 5D1D adc r21,r13
5234 5284 0372 2A8B std Y+18,r18
5235 5285 0374 3B8B std Y+19,r19
5236 5286 0376 4C8B std Y+20,r20
5237 5287 0378 5D8B std Y+21,r21
5239 5289 037a BE01 movw r22,r28
5240 5290 037c 625D subi r22,lo8(-(46))
5241 5291 037e 7F4F sbci r23,hi8(-(46))
5242 5292 0380 8981 ldd r24,Y+1
5243 5293 0382 01E0 ldi r16,lo8(1)
5245 5295 0384 0E94 0000 call disk_read
5246 5296 0388 8823 tst r24
5247 5297 038a 01F0 breq .+2
5248 5298 038c 00C0 rjmp .L257
5249 5299 038e C35D subi r28,lo8(-(557))
5250 5300 0390 DD4F sbci r29,hi8(-(557))
5251 5301 0392 9881 ld r25,Y
5252 5302 0394 80E0 ldi r24,lo8(0)
5253 5303 0396 2A91 ld r18,-Y
5254 5304 0398 CC52 subi r28,lo8(-(-556))
5255 5305 039a D240 sbci r29,hi8(-(-556))
5256 5306 039c 30E0 ldi r19,lo8(0)
5257 5307 039e 822B or r24,r18
5258 5308 03a0 932B or r25,r19
5259 5309 03a2 8555 subi r24,lo8(-21931)
5260 5310 03a4 9A4A sbci r25,hi8(-21931)
5261 5311 03a6 01F0 breq .+2
5262 5312 03a8 00C0 rjmp .L257
5263 5313 03aa 29A9 ldd r18,Y+49
5264 5314 03ac 30E0 ldi r19,lo8(0)
5265 5315 03ae 40E0 ldi r20,lo8(0)
5266 5316 03b0 50E0 ldi r21,hi8(0)
5267 5317 03b2 522F mov r21,r18
5268 5318 03b4 4427 clr r20
5269 5319 03b6 3327 clr r19
5270 5320 03b8 2227 clr r18
5271 5321 03ba 88A9 ldd r24,Y+48
5272 5322 03bc 90E0 ldi r25,lo8(0)
5273 5323 03be A0E0 ldi r26,lo8(0)
5274 5324 03c0 B0E0 ldi r27,hi8(0)
5275 5325 03c2 DC01 movw r26,r24
5276 5326 03c4 9927 clr r25
5277 5327 03c6 8827 clr r24
5278 5328 03c8 282B or r18,r24
5279 5329 03ca 392B or r19,r25
5280 5330 03cc 4A2B or r20,r26
5281 5331 03ce 5B2B or r21,r27
5282 5332 03d0 8EA5 ldd r24,Y+46
5283 5333 03d2 90E0 ldi r25,lo8(0)
5284 5334 03d4 A0E0 ldi r26,lo8(0)
5285 5335 03d6 B0E0 ldi r27,hi8(0)
5286 5336 03d8 282B or r18,r24
5287 5337 03da 392B or r19,r25
5288 5338 03dc 4A2B or r20,r26
5289 5339 03de 5B2B or r21,r27
5290 5340 03e0 9FA5 ldd r25,Y+47
5291 5341 03e2 80E0 ldi r24,lo8(0)
5292 5342 03e4 A0E0 ldi r26,lo8(0)
5293 5343 03e6 B0E0 ldi r27,hi8(0)
5294 5344 03e8 282B or r18,r24
5295 5345 03ea 392B or r19,r25
5296 5346 03ec 4A2B or r20,r26
5297 5347 03ee 5B2B or r21,r27
5298 5348 03f0 2255 subi r18,lo8(1096897106)
5299 5349 03f2 3245 sbci r19,hi8(1096897106)
5300 5350 03f4 4146 sbci r20,hlo8(1096897106)
5301 5351 03f6 5144 sbci r21,hhi8(1096897106)
5302 5352 03f8 01F0 breq .+2
5303 5353 03fa 00C0 rjmp .L257
5304 5354 03fc CB5E subi r28,lo8(-(533))
5305 5355 03fe DD4F sbci r29,hi8(-(533))
5306 5356 0400 2881 ld r18,Y
5307 5357 0402 30E0 ldi r19,lo8(0)
5308 5358 0404 40E0 ldi r20,lo8(0)
5309 5359 0406 50E0 ldi r21,hi8(0)
5310 5360 0408 522F mov r21,r18
5311 5361 040a 4427 clr r20
5312 5362 040c 3327 clr r19
5313 5363 040e 2227 clr r18
5314 5364 0410 8A91 ld r24,-Y
5315 5365 0412 90E0 ldi r25,lo8(0)
5316 5366 0414 A0E0 ldi r26,lo8(0)
5317 5367 0416 B0E0 ldi r27,hi8(0)
5318 5368 0418 DC01 movw r26,r24
5319 5369 041a 9927 clr r25
5320 5370 041c 8827 clr r24
5321 5371 041e 282B or r18,r24
5322 5372 0420 392B or r19,r25
5323 5373 0422 4A2B or r20,r26
5324 5374 0424 5B2B or r21,r27
5325 5375 0426 2297 sbiw r28,2
5326 5376 0428 8991 ld r24,Y+
5327 5377 042a 90E0 ldi r25,lo8(0)
5328 5378 042c A0E0 ldi r26,lo8(0)
5329 5379 042e B0E0 ldi r27,hi8(0)
5330 5380 0430 282B or r18,r24
5331 5381 0432 392B or r19,r25
5332 5382 0434 4A2B or r20,r26
5333 5383 0436 5B2B or r21,r27
5334 5384 0438 9881 ld r25,Y
5335 5385 043a C351 subi r28,lo8(-(-531))
5336 5386 043c D240 sbci r29,hi8(-(-531))
5337 5387 043e 80E0 ldi r24,lo8(0)
5338 5388 0440 A0E0 ldi r26,lo8(0)
5339 5389 0442 B0E0 ldi r27,hi8(0)
5340 5390 0444 282B or r18,r24
5341 5391 0446 392B or r19,r25
5342 5392 0448 4A2B or r20,r26
5343 5393 044a 5B2B or r21,r27
5344 5394 044c 2257 subi r18,lo8(1631679090)
5345 5395 044e 3247 sbci r19,hi8(1631679090)
5346 5396 0450 4144 sbci r20,hlo8(1631679090)
5347 5397 0452 5146 sbci r21,hhi8(1631679090)
5348 5398 0454 01F0 breq .+2
5349 5399 0456 00C0 rjmp .L257
5351 5401 0458 C35E subi r28,lo8(-(541))
5352 5402 045a DD4F sbci r29,hi8(-(541))
5353 5403 045c 2881 ld r18,Y
5354 5404 045e 30E0 ldi r19,lo8(0)
5355 5405 0460 40E0 ldi r20,lo8(0)
5356 5406 0462 50E0 ldi r21,hi8(0)
5357 5407 0464 522F mov r21,r18
5358 5408 0466 4427 clr r20
5359 5409 0468 3327 clr r19
5360 5410 046a 2227 clr r18
5361 5411 046c 8A91 ld r24,-Y
5362 5412 046e 90E0 ldi r25,lo8(0)
5363 5413 0470 A0E0 ldi r26,lo8(0)
5364 5414 0472 B0E0 ldi r27,hi8(0)
5365 5415 0474 DC01 movw r26,r24
5366 5416 0476 9927 clr r25
5367 5417 0478 8827 clr r24
5368 5418 047a 282B or r18,r24
5369 5419 047c 392B or r19,r25
5370 5420 047e 4A2B or r20,r26
5371 5421 0480 5B2B or r21,r27
5372 5422 0482 2297 sbiw r28,2
5373 5423 0484 8991 ld r24,Y+
5374 5424 0486 90E0 ldi r25,lo8(0)
5375 5425 0488 A0E0 ldi r26,lo8(0)
5376 5426 048a B0E0 ldi r27,hi8(0)
5377 5427 048c 282B or r18,r24
5378 5428 048e 392B or r19,r25
5379 5429 0490 4A2B or r20,r26
5380 5430 0492 5B2B or r21,r27
5381 5431 0494 9881 ld r25,Y
5382 5432 0496 CB51 subi r28,lo8(-(-539))
5383 5433 0498 D240 sbci r29,hi8(-(-539))
5384 5434 049a 80E0 ldi r24,lo8(0)
5385 5435 049c A0E0 ldi r26,lo8(0)
5386 5436 049e B0E0 ldi r27,hi8(0)
5387 5437 04a0 282B or r18,r24
5388 5438 04a2 392B or r19,r25
5389 5439 04a4 4A2B or r20,r26
5390 5440 04a6 5B2B or r21,r27
5391 5441 04a8 2A87 std Y+10,r18
5392 5442 04aa 3B87 std Y+11,r19
5393 5443 04ac 4C87 std Y+12,r20
5394 5444 04ae 5D87 std Y+13,r21
5396 5446 04b0 C75E subi r28,lo8(-(537))
5397 5447 04b2 DD4F sbci r29,hi8(-(537))
5398 5448 04b4 2881 ld r18,Y
5399 5449 04b6 30E0 ldi r19,lo8(0)
5400 5450 04b8 40E0 ldi r20,lo8(0)
5401 5451 04ba 50E0 ldi r21,hi8(0)
5402 5452 04bc 522F mov r21,r18
5403 5453 04be 4427 clr r20
5404 5454 04c0 3327 clr r19
5405 5455 04c2 2227 clr r18
5406 5456 04c4 8A91 ld r24,-Y
5407 5457 04c6 90E0 ldi r25,lo8(0)
5408 5458 04c8 A0E0 ldi r26,lo8(0)
5409 5459 04ca B0E0 ldi r27,hi8(0)
5410 5460 04cc DC01 movw r26,r24
5411 5461 04ce 9927 clr r25
5412 5462 04d0 8827 clr r24
5413 5463 04d2 282B or r18,r24
5414 5464 04d4 392B or r19,r25
5415 5465 04d6 4A2B or r20,r26
5416 5466 04d8 5B2B or r21,r27
5417 5467 04da 2297 sbiw r28,2
5418 5468 04dc 8991 ld r24,Y+
5419 5469 04de 90E0 ldi r25,lo8(0)
5420 5470 04e0 A0E0 ldi r26,lo8(0)
5421 5471 04e2 B0E0 ldi r27,hi8(0)
5422 5472 04e4 282B or r18,r24
5423 5473 04e6 392B or r19,r25
5424 5474 04e8 4A2B or r20,r26
5425 5475 04ea 5B2B or r21,r27
5426 5476 04ec 9881 ld r25,Y
5427 5477 04ee C751 subi r28,lo8(-(-535))
5428 5478 04f0 D240 sbci r29,hi8(-(-535))
5429 5479 04f2 80E0 ldi r24,lo8(0)
5430 5480 04f4 A0E0 ldi r26,lo8(0)
5431 5481 04f6 B0E0 ldi r27,hi8(0)
5432 5482 04f8 282B or r18,r24
5433 5483 04fa 392B or r19,r25
5434 5484 04fc 4A2B or r20,r26
5435 5485 04fe 5B2B or r21,r27
5436 5486 0500 2E87 std Y+14,r18
5437 5487 0502 3F87 std Y+15,r19
5438 5488 0504 488B std Y+16,r20
5439 5489 0506 598B std Y+17,r21
5443 5493 0508 1883 st Y,r17
5445 5495 050a 1AA6 std Y+42,__zero_reg__
5446 5496 050c 1BA6 std Y+43,__zero_reg__
5447 5497 050e 1CA6 std Y+44,__zero_reg__
5448 5498 0510 1DA6 std Y+45,__zero_reg__
5450 5500 0512 8091 0000 lds r24,Fsid
5451 5501 0516 9091 0000 lds r25,(Fsid)+1
5452 5502 051a 0196 adiw r24,1
5453 5503 051c 9093 0000 sts (Fsid)+1,r25
5454 5504 0520 8093 0000 sts Fsid,r24
5455 5505 0524 9F83 std Y+7,r25
5456 5506 0526 8E83 std Y+6,r24
5457 5507 0528 00C0 rjmp .L244
5461 5511 052a 8AE0 ldi r24,lo8(10)
5462 5512 052c 00C0 rjmp .L241
5465 5515 052e 80E0 ldi r24,lo8(0)
5466 5516 0530 00C0 rjmp .L241
5469 5519 0532 8DE0 ldi r24,lo8(13)
5472 5522 /* epilogue start */
5474 5524 0534 DF91 pop r29
5475 5525 0536 CF91 pop r28
5477 5527 0538 1F91 pop r17
5479 5529 053a 0F91 pop r16
5481 5531 053c FF90 pop r15
5482 5532 053e EF90 pop r14
5484 5534 0540 DF90 pop r13
5485 5535 0542 CF90 pop r12
5486 5536 0544 BF90 pop r11
5487 5537 0546 AF90 pop r10
5489 5539 0548 9F90 pop r9
5490 5540 054a 8F90 pop r8
5491 5541 054c 7F90 pop r7
5492 5542 054e 6F90 pop r6
5498 5548 0552 C35A subi r28,lo8(-(93))
5499 5549 0554 DF4F sbci r29,hi8(-(93))
5500 5550 0556 2881 ld r18,Y
5502 5552 0558 30E0 ldi r19,lo8(0)
5503 5553 055a 40E0 ldi r20,lo8(0)
5504 5554 055c 50E0 ldi r21,hi8(0)
5505 5555 055e 522F mov r21,r18
5506 5556 0560 4427 clr r20
5507 5557 0562 3327 clr r19
5508 5558 0564 2227 clr r18
5509 5559 0566 8A91 ld r24,-Y
5510 5560 0568 90E0 ldi r25,lo8(0)
5511 5561 056a A0E0 ldi r26,lo8(0)
5512 5562 056c B0E0 ldi r27,hi8(0)
5513 5563 056e DC01 movw r26,r24
5514 5564 0570 9927 clr r25
5515 5565 0572 8827 clr r24
5516 5566 0574 282B or r18,r24
5517 5567 0576 392B or r19,r25
5518 5568 0578 4A2B or r20,r26
5519 5569 057a 5B2B or r21,r27
5520 5570 057c 2297 sbiw r28,2
5521 5571 057e 8991 ld r24,Y+
5522 5572 0580 90E0 ldi r25,lo8(0)
5523 5573 0582 A0E0 ldi r26,lo8(0)
5524 5574 0584 B0E0 ldi r27,hi8(0)
5525 5575 0586 282B or r18,r24
5526 5576 0588 392B or r19,r25
5527 5577 058a 4A2B or r20,r26
5528 5578 058c 5B2B or r21,r27
5529 5579 058e 9881 ld r25,Y
5530 5580 0590 CB55 subi r28,lo8(-(-91))
5531 5581 0592 D040 sbci r29,hi8(-(-91))
5532 5582 0594 80E0 ldi r24,lo8(0)
5533 5583 0596 A0E0 ldi r26,lo8(0)
5534 5584 0598 B0E0 ldi r27,hi8(0)
5535 5585 059a 282B or r18,r24
5536 5586 059c 392B or r19,r25
5537 5587 059e 4A2B or r20,r26
5538 5588 05a0 5B2B or r21,r27
5539 5589 05a2 2AA3 std Y+34,r18
5540 5590 05a4 3BA3 std Y+35,r19
5541 5591 05a6 4CA3 std Y+36,r20
5542 5592 05a8 5DA3 std Y+37,r21
5543 5593 05aa 13E0 ldi r17,lo8(3)
5545 5595 05ac 00C0 rjmp .L258
5549 5600 0000 2022 2A2B .string " \"*+,[=]|\177"
5552 5601 .section .text.f_open,"ax",@progbits
5558 5608 0000 2F92 push r2
5559 5609 0002 3F92 push r3
5560 5610 0004 4F92 push r4
5561 5611 0006 5F92 push r5
5562 5612 0008 6F92 push r6
5563 5613 000a 7F92 push r7
5564 5614 000c 8F92 push r8
5565 5615 000e 9F92 push r9
5566 5616 0010 AF92 push r10
5567 5617 0012 BF92 push r11
5568 5618 0014 CF92 push r12
5569 5619 0016 DF92 push r13
5570 5620 0018 EF92 push r14
5571 5621 001a FF92 push r15
5572 5622 001c 0F93 push r16
5573 5623 001e 1F93 push r17
5574 5624 0020 DF93 push r29
5575 5625 0022 CF93 push r28
5576 5626 0024 CDB7 in r28,__SP_L__
5577 5627 0026 DEB7 in r29,__SP_H__
5578 5628 0028 AD97 sbiw r28,45
5579 5629 002a 0FB6 in __tmp_reg__,__SREG__
5581 5631 002e DEBF out __SP_H__,r29
5582 5632 0030 0FBE out __SREG__,__tmp_reg__
5583 5633 0032 CDBF out __SP_L__,r28
5584 5634 /* prologue: function */
5585 5635 /* frame size = 45 */
5586 5636 0034 9DA7 std Y+45,r25
5587 5637 0036 8CA7 std Y+44,r24
5588 5638 0038 7CA3 std Y+36,r23
5589 5639 003a 6BA3 std Y+35,r22
5591 5641 003c DC01 movw r26,r24
5592 5642 003e 1D92 st X+,__zero_reg__
5593 5643 0040 1C92 st X,__zero_reg__
5595 5645 0042 B42F mov r27,r20
5596 5646 0044 BF71 andi r27,lo8(31)
5597 5647 0046 BDA3 std Y+37,r27
5600 5650 0048 4E71 andi r20,lo8(30)
5602 5652 004a CE01 movw r24,r28
5604 5654 004c 8396 adiw r24,35
5605 5655 004e BE01 movw r22,r28
5607 5657 0050 635F subi r22,lo8(-(13))
5608 5658 0052 7F4F sbci r23,hi8(-(13))
5609 5659 0054 0E94 0000 call chk_mounted
5612 5662 0058 8823 tst r24
5614 5664 005a 01F0 breq .L261
5615 5665 005c 282F mov r18,r24
5616 5666 005e 00C0 rjmp .L262
5620 5670 0060 CE01 movw r24,r28
5622 5672 0062 0196 adiw r24,1
5623 5673 0064 9AA3 std Y+34,r25
5624 5674 0066 89A3 std Y+33,r24
5626 5676 0068 EBA0 ldd r14,Y+35
5627 5677 006a FCA0 ldd r15,Y+36
5629 5679 006c 00C0 rjmp .L263
5635 5685 0070 E11C adc r14,__zero_reg__
5636 5686 0072 F11C adc r15,__zero_reg__
5638 5688 0074 F701 movw r30,r14
5639 5689 0076 8081 ld r24,Z
5640 5690 0078 8032 cpi r24,lo8(32)
5641 5691 007a 01F0 breq .L264
5643 5693 007c 8F32 cpi r24,lo8(47)
5644 5694 007e 01F0 breq .L265
5645 5695 0080 8C35 cpi r24,lo8(92)
5646 5696 0082 01F4 brne .L266
5650 5700 0086 E11C adc r14,__zero_reg__
5651 5701 0088 F11C adc r15,__zero_reg__
5654 5704 008a 1B8A std Y+19,__zero_reg__
5655 5705 008c 1C8A std Y+20,__zero_reg__
5656 5706 008e 1D8A std Y+21,__zero_reg__
5657 5707 0090 1E8A std Y+22,__zero_reg__
5659 5709 0092 D701 movw r26,r14
5660 5710 0094 8C91 ld r24,X
5661 5711 0096 8032 cpi r24,lo8(32)
5662 5712 0098 00F4 brsh .L267
5665 5715 009a CE01 movw r24,r28
5666 5716 009c 0D96 adiw r24,13
5667 5717 009e 60E0 ldi r22,lo8(0)
5668 5718 00a0 70E0 ldi r23,hi8(0)
5669 5719 00a2 0E94 0000 call dir_seek
5670 5720 00a6 282F mov r18,r24
5674 5724 00a8 18A2 std Y+32,__zero_reg__
5675 5725 00aa 1F8E std Y+31,__zero_reg__
5676 5726 00ac 00C0 rjmp .L268
5682 5732 00ae A5E0 ldi r26,lo8(5)
5683 5733 00b0 3A2E mov r3,r26
5688 5738 00b2 FDE0 ldi r31,lo8(13)
5689 5739 00b4 4F2E mov r4,r31
5690 5740 00b6 512C mov r5,__zero_reg__
5691 5741 00b8 4C0E add r4,r28
5692 5742 00ba 5D1E adc r5,r29
5699 5749 00bc 09A1 ldd r16,Y+33
5700 5750 00be 1AA1 ldd r17,Y+34
5702 5752 00c0 C801 movw r24,r16
5703 5753 00c2 60E2 ldi r22,lo8(32)
5704 5754 00c4 70E0 ldi r23,hi8(32)
5705 5755 00c6 4BE0 ldi r20,lo8(11)
5706 5756 00c8 50E0 ldi r21,hi8(11)
5707 5757 00ca 0E94 0000 call mem_set
5709 5759 00ce 40E0 ldi r20,lo8(0)
5710 5760 00d0 50E0 ldi r21,hi8(0)
5712 5762 00d2 CC24 clr r12
5713 5763 00d4 DD24 clr r13
5714 5764 00d6 E8E0 ldi r30,lo8(8)
5715 5765 00d8 AE2E mov r10,r30
5716 5766 00da B12C mov r11,__zero_reg__
5717 5767 00dc A0E0 ldi r26,lo8(0)
5721 5771 00de F701 movw r30,r14
5722 5772 00e0 EC0D add r30,r12
5723 5773 00e2 FD1D adc r31,r13
5724 5774 00e4 2081 ld r18,Z
5726 5776 00e8 C11C adc r12,__zero_reg__
5727 5777 00ea D11C adc r13,__zero_reg__
5729 5779 00ec 2132 cpi r18,lo8(33)
5730 5780 00ee 00F4 brsh .+2
5731 5781 00f0 00C0 rjmp .L269
5732 5782 00f2 2F32 cpi r18,lo8(47)
5733 5783 00f4 01F4 brne .+2
5734 5784 00f6 00C0 rjmp .L270
5735 5785 00f8 2C35 cpi r18,lo8(92)
5736 5786 00fa 01F4 brne .+2
5737 5787 00fc 00C0 rjmp .L270
5739 5789 00fe 2E32 cpi r18,lo8(46)
5740 5790 0100 01F0 breq .L271
5741 5791 0102 4A15 cp r20,r10
5742 5792 0104 5B05 cpc r21,r11
5743 5793 0106 04F0 brlt .L272
5746 5796 0108 B8E0 ldi r27,lo8(8)
5747 5797 010a AB16 cp r10,r27
5748 5798 010c B104 cpc r11,__zero_reg__
5749 5799 010e 01F0 breq .+2
5750 5800 0110 00C0 rjmp .L273
5751 5801 0112 2E32 cpi r18,lo8(46)
5752 5802 0114 01F0 breq .+2
5753 5803 0116 00C0 rjmp .L273
5755 5805 0118 AA0F lsl r26
5756 5806 011a AA0F lsl r26
5757 5807 011c 48E0 ldi r20,lo8(8)
5758 5808 011e 50E0 ldi r21,hi8(8)
5759 5809 0120 7BE0 ldi r23,lo8(11)
5760 5810 0122 A72E mov r10,r23
5761 5811 0124 B12C mov r11,__zero_reg__
5762 5812 0126 00C0 rjmp .L319
5765 5815 0128 27FD sbrc r18,7
5767 5817 012a A360 ori r26,lo8(3)
5770 5820 012c 822F mov r24,r18
5771 5821 012e 8158 subi r24,lo8(-(127))
5772 5822 0130 8F31 cpi r24,lo8(31)
5773 5823 0132 00F0 brlo .L276
5774 5824 0134 8F55 subi r24,lo8(-(-95))
5775 5825 0136 8D31 cpi r24,lo8(29)
5776 5826 0138 00F4 brsh .L277
5779 5829 013a F701 movw r30,r14
5780 5830 013c EC0D add r30,r12
5781 5831 013e FD1D adc r31,r13
5782 5832 0140 3081 ld r19,Z
5784 5834 0142 832F mov r24,r19
5785 5835 0144 8054 subi r24,lo8(-(-64))
5786 5836 0146 8F33 cpi r24,lo8(63)
5787 5837 0148 00F0 brlo .L278
5788 5838 014a 8054 subi r24,lo8(-(-64))
5789 5839 014c 8D37 cpi r24,lo8(125)
5790 5840 014e 00F0 brlo .+2
5791 5841 0150 00C0 rjmp .L273
5793 5843 0152 C501 movw r24,r10
5794 5844 0154 0197 sbiw r24,1
5795 5845 0156 4817 cp r20,r24
5796 5846 0158 5907 cpc r21,r25
5797 5847 015a 04F0 brlt .+2
5798 5848 015c 00C0 rjmp .L273
5801 5851 0160 C11C adc r12,__zero_reg__
5802 5852 0162 D11C adc r13,__zero_reg__
5804 5854 0164 F801 movw r30,r16
5805 5855 0166 E40F add r30,r20
5806 5856 0168 F51F adc r31,r21
5807 5857 016a 2083 st Z,r18
5808 5858 016c CA01 movw r24,r20
5809 5859 016e 0196 adiw r24,1
5812 5862 0170 F801 movw r30,r16
5813 5863 0172 E80F add r30,r24
5814 5864 0174 F91F adc r31,r25
5815 5865 0176 3083 st Z,r19
5816 5866 0178 AC01 movw r20,r24
5817 5867 017a 00C0 rjmp .L321
5821 5871 017c 622F mov r22,r18
5822 5872 017e 70E0 ldi r23,lo8(0)
5823 5873 0180 E0E0 ldi r30,lo8(.LC0)
5824 5874 0182 F0E0 ldi r31,hi8(.LC0)
5826 5876 0184 00C0 rjmp .L279
5831 5881 0186 3196 adiw r30,1
5833 5883 0188 8081 ld r24,Z
5834 5884 018a 8823 tst r24
5835 5885 018c 01F0 breq .L280
5836 5886 018e 90E0 ldi r25,lo8(0)
5837 5887 0190 8617 cp r24,r22
5838 5888 0192 9707 cpc r25,r23
5839 5889 0194 01F4 brne .L281
5840 5890 0196 00C0 rjmp .L273
5845 5895 0198 822F mov r24,r18
5846 5896 019a 8154 subi r24,lo8(-(-65))
5847 5897 019c 8A31 cpi r24,lo8(26)
5848 5898 019e 00F4 brsh .L282
5850 5900 01a0 A260 ori r26,lo8(2)
5851 5901 01a2 00C0 rjmp .L283
5854 5904 01a4 822F mov r24,r18
5855 5905 01a6 8156 subi r24,lo8(-(-97))
5856 5906 01a8 8A31 cpi r24,lo8(26)
5857 5907 01aa 00F4 brsh .L283
5859 5909 01ac A160 ori r26,lo8(1)
5860 5910 01ae 2052 subi r18,lo8(-(-32))
5863 5913 01b0 F801 movw r30,r16
5865 5915 01b2 E40F add r30,r20
5866 5916 01b4 F51F adc r31,r21
5867 5917 01b6 2083 st Z,r18
5870 5920 01b8 4F5F subi r20,lo8(-(1))
5871 5921 01ba 5F4F sbci r21,hi8(-(1))
5872 5922 01bc 00C0 rjmp .L319
5874 5924 01be 9A2F mov r25,r26
5875 5925 01c0 64E0 ldi r22,lo8(4)
5879 5929 01c2 452B or r20,r21
5880 5930 01c4 01F4 brne .+2
5881 5931 01c6 00C0 rjmp .L273
5883 5933 01c8 F801 movw r30,r16
5884 5934 01ca 8081 ld r24,Z
5885 5935 01cc 853E cpi r24,lo8(-27)
5886 5936 01ce 01F4 brne .L284
5887 5937 01d0 3082 st Z,r3
5890 5940 01d2 F8E0 ldi r31,lo8(8)
5891 5941 01d4 AF16 cp r10,r31
5892 5942 01d6 B104 cpc r11,__zero_reg__
5893 5943 01d8 01F4 brne .L285
5894 5944 01da 9A2F mov r25,r26
5895 5945 01dc 990F lsl r25
5896 5946 01de 990F lsl r25
5900 5950 01e0 292F mov r18,r25
5901 5951 01e2 30E0 ldi r19,lo8(0)
5903 5953 01e4 C901 movw r24,r18
5904 5954 01e6 8370 andi r24,lo8(3)
5905 5955 01e8 9070 andi r25,hi8(3)
5906 5956 01ea 0197 sbiw r24,1
5907 5957 01ec 01F4 brne .L286
5908 5958 01ee 6061 ori r22,lo8(16)
5911 5961 01f0 2C70 andi r18,lo8(12)
5912 5962 01f2 3070 andi r19,hi8(12)
5913 5963 01f4 2430 cpi r18,4
5914 5964 01f6 3105 cpc r19,__zero_reg__
5915 5965 01f8 01F4 brne .L287
5916 5966 01fa 6860 ori r22,lo8(8)
5919 5969 01fc D801 movw r26,r16
5920 5970 01fe 1B96 adiw r26,11
5921 5971 0200 6C93 st X,r22
5926 5976 0202 C201 movw r24,r4
5927 5977 0204 60E0 ldi r22,lo8(0)
5928 5978 0206 70E0 ldi r23,hi8(0)
5930 5980 0208 0E94 0000 call dir_seek
5933 5983 020c 482F mov r20,r24
5937 5987 020e 8823 tst r24
5938 5988 0210 01F4 brne .L288
5942 5992 0212 4B8D ldd r20,Y+27
5943 5993 0214 5C8D ldd r21,Y+28
5944 5994 0216 6D8D ldd r22,Y+29
5945 5995 0218 7E8D ldd r23,Y+30
5946 5996 021a 8D85 ldd r24,Y+13
5947 5997 021c 9E85 ldd r25,Y+14
5949 5999 021e 0E94 0000 call move_window
5950 6000 0222 482F mov r20,r24
5954 6004 0224 8823 tst r24
5955 6005 0226 01F4 brne .L288
5958 6008 0228 EF8D ldd r30,Y+31
5959 6009 022a F8A1 ldd r31,Y+32
5962 6012 022c 8081 ld r24,Z
5964 6014 022e 8823 tst r24
5965 6015 0230 01F4 brne .L289
5966 6016 0232 44E0 ldi r20,lo8(4)
5967 6017 0234 00C0 rjmp .L288
5970 6020 0236 8385 ldd r24,Z+11
5971 6021 0238 83FD sbrc r24,3
5972 6022 023a 00C0 rjmp .L290
5973 6023 023c 89A1 ldd r24,Y+33
5975 6025 023e 9AA1 ldd r25,Y+34
5977 6027 0240 9C01 movw r18,r24
5979 6029 0242 D901 movw r26,r18
5981 6031 0244 2BE0 ldi r18,lo8(11)
5982 6032 0246 30E0 ldi r19,hi8(11)
5988 6038 0248 2150 subi r18,lo8(-(-1))
5989 6039 024a 3040 sbci r19,hi8(-(-1))
5990 6040 024c 8FEF ldi r24,hi8(-1)
5991 6041 024e 2F3F cpi r18,lo8(-1)
5992 6042 0250 3807 cpc r19,r24
5993 6043 0252 01F0 breq .L288
5994 6044 0254 9081 ld r25,Z
5996 6046 0256 8C91 ld r24,X
5997 6047 0258 9817 cp r25,r24
5998 6048 025a 01F4 brne .L290
5999 6049 025c 3196 adiw r30,1
6001 6051 025e 1196 adiw r26,1
6002 6052 0260 00C0 rjmp .L291
6009 6059 0262 C201 movw r24,r4
6010 6060 0264 60E0 ldi r22,lo8(0)
6011 6061 0266 0E94 0000 call dir_next
6013 6063 026a 00C0 rjmp .L322
6018 6068 026c E9A1 ldd r30,Y+33
6019 6069 026e FAA1 ldd r31,Y+34
6021 6071 0270 8385 ldd r24,Z+11
6023 6073 0272 8470 andi r24,lo8(4)
6025 6075 0274 4423 tst r20
6026 6076 0276 01F0 breq .L293
6027 6077 0278 242F mov r18,r20
6030 6080 027a 4430 cpi r20,lo8(4)
6031 6081 027c 01F4 brne .L294
6032 6082 027e 8823 tst r24
6033 6083 0280 01F0 breq .L295
6034 6084 0282 00C0 rjmp .L268
6038 6088 0284 8823 tst r24
6039 6089 0286 01F4 brne .L294
6041 6091 0288 EF8D ldd r30,Y+31
6042 6092 028a F8A1 ldd r31,Y+32
6045 6095 028c 8385 ldd r24,Z+11
6047 6097 028e 84FF sbrs r24,4
6048 6098 0290 00C0 rjmp .L295
6052 6102 0292 EC0C add r14,r12
6053 6103 0294 FD1C adc r15,r13
6057 6107 0296 7588 ldd r7,Z+21
6058 6108 0298 6624 clr r6
6059 6109 029a 2489 ldd r18,Z+20
6061 6111 029c 30E0 ldi r19,lo8(0)
6062 6112 029e 2629 or r18,r6
6063 6113 02a0 3729 or r19,r7
6064 6114 02a2 40E0 ldi r20,lo8(0)
6065 6115 02a4 50E0 ldi r21,hi8(0)
6067 6117 02a6 A901 movw r20,r18
6068 6118 02a8 3327 clr r19
6069 6119 02aa 2227 clr r18
6070 6120 02ac 938C ldd r9,Z+27
6071 6121 02ae 8824 clr r8
6072 6122 02b0 828D ldd r24,Z+26
6073 6123 02b2 90E0 ldi r25,lo8(0)
6075 6125 02b4 8829 or r24,r8
6076 6126 02b6 9929 or r25,r9
6077 6127 02b8 A0E0 ldi r26,lo8(0)
6078 6128 02ba B0E0 ldi r27,hi8(0)
6080 6130 02bc 282B or r18,r24
6081 6131 02be 392B or r19,r25
6082 6132 02c0 4A2B or r20,r26
6083 6133 02c2 5B2B or r21,r27
6084 6134 02c4 2B8B std Y+19,r18
6085 6135 02c6 3C8B std Y+20,r19
6086 6136 02c8 4D8B std Y+21,r20
6087 6137 02ca 5E8B std Y+22,r21
6088 6138 02cc 00C0 rjmp .L320
6091 6141 02ce 26E0 ldi r18,lo8(6)
6093 6143 02d0 00C0 rjmp .L268
6096 6146 02d2 242F mov r18,r20
6098 6148 02d4 00C0 rjmp .L268
6101 6151 02d6 25E0 ldi r18,lo8(5)
6107 6157 02d8 9DA1 ldd r25,Y+37
6109 6159 02da 492F mov r20,r25
6111 6161 02dc 50E0 ldi r21,lo8(0)
6112 6162 02de CA01 movw r24,r20
6114 6164 02e0 8C71 andi r24,lo8(28)
6115 6165 02e2 9070 andi r25,hi8(28)
6116 6166 02e4 892B or r24,r25
6117 6167 02e6 01F4 brne .+2
6118 6168 02e8 00C0 rjmp .L296
6121 6171 02ea 2223 tst r18
6122 6172 02ec 01F4 brne .+2
6123 6173 02ee 00C0 rjmp .L297
6125 6175 02f0 2430 cpi r18,lo8(4)
6126 6176 02f2 01F0 breq .+2
6127 6177 02f4 00C0 rjmp .L262
6130 6180 02f6 8E01 movw r16,r28
6132 6182 02f8 035F subi r16,lo8(-(13))
6133 6183 02fa 1F4F sbci r17,hi8(-(13))
6134 6184 02fc C801 movw r24,r16
6135 6185 02fe 60E0 ldi r22,lo8(0)
6136 6186 0300 70E0 ldi r23,hi8(0)
6138 6188 0302 0E94 0000 call dir_seek
6140 6190 0306 282F mov r18,r24
6144 6194 0308 8823 tst r24
6145 6195 030a 01F0 breq .+2
6146 6196 030c 00C0 rjmp .L262
6151 6201 030e 4B8D ldd r20,Y+27
6152 6202 0310 5C8D ldd r21,Y+28
6153 6203 0312 6D8D ldd r22,Y+29
6154 6204 0314 7E8D ldd r23,Y+30
6155 6205 0316 8D85 ldd r24,Y+13
6156 6206 0318 9E85 ldd r25,Y+14
6158 6208 031a 0E94 0000 call move_window
6160 6210 031e 282F mov r18,r24
6164 6214 0320 8823 tst r24
6165 6215 0322 01F0 breq .+2
6166 6216 0324 00C0 rjmp .L262
6169 6219 0326 EF8D ldd r30,Y+31
6170 6220 0328 F8A1 ldd r31,Y+32
6171 6221 032a E081 ld r30,Z
6174 6224 032c E53E cpi r30,lo8(-27)
6175 6225 032e 01F4 brne .+2
6176 6226 0330 00C0 rjmp .L298
6177 6227 0332 EE23 tst r30
6178 6228 0334 01F4 brne .+2
6179 6229 0336 00C0 rjmp .L298
6182 6232 0338 C801 movw r24,r16
6184 6234 033a 61E0 ldi r22,lo8(1)
6185 6235 033c 0E94 0000 call dir_next
6187 6237 0340 282F mov r18,r24
6191 6241 0342 8823 tst r24
6192 6242 0344 01F0 breq .L315
6194 6244 0346 00C0 rjmp .L262
6197 6247 0348 0F8D ldd r16,Y+31
6198 6248 034a 18A1 ldd r17,Y+32
6201 6251 034c C801 movw r24,r16
6203 6253 034e 60E0 ldi r22,lo8(0)
6204 6254 0350 70E0 ldi r23,hi8(0)
6205 6255 0352 40E2 ldi r20,lo8(32)
6206 6256 0354 50E0 ldi r21,hi8(32)
6207 6257 0356 0E94 0000 call mem_set
6210 6260 035a 69A1 ldd r22,Y+33
6211 6261 035c 7AA1 ldd r23,Y+34
6212 6262 035e C801 movw r24,r16
6213 6263 0360 4BE0 ldi r20,lo8(11)
6214 6264 0362 50E0 ldi r21,hi8(11)
6215 6265 0364 0E94 0000 call mem_cpy
6217 6267 0368 E9A1 ldd r30,Y+33
6218 6268 036a FAA1 ldd r31,Y+34
6219 6269 036c 8385 ldd r24,Z+11
6220 6270 036e 8871 andi r24,lo8(24)
6221 6271 0370 D801 movw r26,r16
6222 6272 0372 1C96 adiw r26,12
6223 6273 0374 8C93 st X,r24
6225 6275 0376 ED85 ldd r30,Y+13
6226 6276 0378 FE85 ldd r31,Y+14
6227 6277 037a 81E0 ldi r24,lo8(1)
6228 6278 037c 8483 std Z+4,r24
6232 6282 037e BDA1 ldd r27,Y+37
6233 6283 0380 B860 ori r27,lo8(8)
6234 6284 0382 BDA3 std Y+37,r27
6237 6287 0384 EF8C ldd r14,Y+31
6238 6288 0386 F8A0 ldd r15,Y+32
6240 6290 0388 00C0 rjmp .L300
6244 6294 038a 42FF sbrs r20,2
6245 6295 038c 00C0 rjmp .L301
6246 6296 038e 28E0 ldi r18,lo8(8)
6247 6297 0390 00C0 rjmp .L262
6250 6300 0392 EF8C ldd r14,Y+31
6251 6301 0394 F8A0 ldd r15,Y+32
6254 6304 0396 E114 cp r14,__zero_reg__
6255 6305 0398 F104 cpc r15,__zero_reg__
6256 6306 039a 01F4 brne .+2
6257 6307 039c 00C0 rjmp .L302
6258 6308 039e F701 movw r30,r14
6260 6310 03a0 8385 ldd r24,Z+11
6261 6311 03a2 8171 andi r24,lo8(17)
6262 6312 03a4 01F0 breq .+2
6263 6313 03a6 00C0 rjmp .L302
6265 6315 03a8 43FF sbrs r20,3
6266 6316 03aa 00C0 rjmp .L300
6268 6318 03ac 9589 ldd r25,Z+21
6269 6319 03ae 80E0 ldi r24,lo8(0)
6270 6320 03b0 2489 ldd r18,Z+20
6272 6322 03b2 30E0 ldi r19,lo8(0)
6274 6324 03b4 822B or r24,r18
6275 6325 03b6 932B or r25,r19
6276 6326 03b8 A0E0 ldi r26,lo8(0)
6277 6327 03ba B0E0 ldi r27,hi8(0)
6279 6329 03bc 2C01 movw r4,r24
6280 6330 03be 3324 clr r3
6281 6331 03c0 2224 clr r2
6283 6333 03c2 938D ldd r25,Z+27
6284 6334 03c4 80E0 ldi r24,lo8(0)
6285 6335 03c6 228D ldd r18,Z+26
6286 6336 03c8 30E0 ldi r19,lo8(0)
6287 6337 03ca 822B or r24,r18
6288 6338 03cc 932B or r25,r19
6289 6339 03ce A0E0 ldi r26,lo8(0)
6290 6340 03d0 B0E0 ldi r27,hi8(0)
6291 6341 03d2 282A or r2,r24
6292 6342 03d4 392A or r3,r25
6293 6343 03d6 4A2A or r4,r26
6294 6344 03d8 5B2A or r5,r27
6296 6346 03da 148A std Z+20,__zero_reg__
6297 6347 03dc 158A std Z+21,__zero_reg__
6299 6349 03de 128E std Z+26,__zero_reg__
6300 6350 03e0 138E std Z+27,__zero_reg__
6302 6352 03e2 148E std Z+28,__zero_reg__
6303 6353 03e4 158E std Z+29,__zero_reg__
6304 6354 03e6 168E std Z+30,__zero_reg__
6305 6355 03e8 178E std Z+31,__zero_reg__
6307 6357 03ea 8D85 ldd r24,Y+13
6308 6358 03ec 9E85 ldd r25,Y+14
6309 6359 03ee 9BA7 std Y+43,r25
6310 6360 03f0 8AA7 std Y+42,r24
6311 6361 03f2 81E0 ldi r24,lo8(1)
6312 6362 03f4 AAA5 ldd r26,Y+42
6313 6363 03f6 BBA5 ldd r27,Y+43
6314 6364 03f8 1496 adiw r26,4
6315 6365 03fa 8C93 st X,r24
6317 6367 03fc AAA5 ldd r26,Y+42
6318 6368 03fe BBA5 ldd r27,Y+43
6319 6369 0400 9A96 adiw r26,42
6320 6370 0402 8D91 ld r24,X+
6321 6371 0404 9D91 ld r25,X+
6322 6372 0406 0D90 ld __tmp_reg__,X+
6323 6373 0408 BC91 ld r27,X
6324 6374 040a A02D mov r26,__tmp_reg__
6325 6375 040c 8EA3 std Y+38,r24
6326 6376 040e 9FA3 std Y+39,r25
6327 6377 0410 A8A7 std Y+40,r26
6328 6378 0412 B9A7 std Y+41,r27
6331 6381 0414 2114 cp r2,__zero_reg__
6332 6382 0416 3104 cpc r3,__zero_reg__
6333 6383 0418 4104 cpc r4,__zero_reg__
6334 6384 041a 5104 cpc r5,__zero_reg__
6335 6385 041c 01F4 brne .+2
6336 6386 041e 00C0 rjmp .L303
6340 6390 0420 B1E0 ldi r27,lo8(1)
6341 6391 0422 2B16 cp r2,r27
6342 6392 0424 3104 cpc r3,__zero_reg__
6343 6393 0426 4104 cpc r4,__zero_reg__
6344 6394 0428 5104 cpc r5,__zero_reg__
6345 6395 042a 01F4 brne .+2
6346 6396 042c 00C0 rjmp .L304
6347 6397 042e EAA5 ldd r30,Y+42
6348 6398 0430 FBA5 ldd r31,Y+43
6349 6399 0432 828D ldd r24,Z+26
6350 6400 0434 938D ldd r25,Z+27
6351 6401 0436 A48D ldd r26,Z+28
6352 6402 0438 B58D ldd r27,Z+29
6353 6403 043a 2816 cp r2,r24
6354 6404 043c 3906 cpc r3,r25
6355 6405 043e 4A06 cpc r4,r26
6356 6406 0440 5B06 cpc r5,r27
6357 6407 0442 00F0 brlo .+2
6358 6408 0444 00C0 rjmp .L304
6359 6409 0446 6201 movw r12,r4
6360 6410 0448 5101 movw r10,r2
6362 6412 044a 00C0 rjmp .L305
6367 6417 044c 8AA5 ldd r24,Y+42
6368 6418 044e 9BA5 ldd r25,Y+43
6369 6419 0450 B601 movw r22,r12
6370 6420 0452 A501 movw r20,r10
6371 6421 0454 0E94 0000 call get_fat
6373 6423 0458 3B01 movw r6,r22
6374 6424 045a 4C01 movw r8,r24
6378 6428 045c 6115 cp r22,__zero_reg__
6379 6429 045e 7105 cpc r23,__zero_reg__
6380 6430 0460 8105 cpc r24,__zero_reg__
6381 6431 0462 9105 cpc r25,__zero_reg__
6382 6432 0464 01F4 brne .+2
6383 6433 0466 00C0 rjmp .L306
6386 6436 0468 6130 cpi r22,lo8(1)
6387 6437 046a 7105 cpc r23,__zero_reg__
6388 6438 046c 8105 cpc r24,__zero_reg__
6389 6439 046e 9105 cpc r25,__zero_reg__
6390 6440 0470 01F4 brne .+2
6391 6441 0472 00C0 rjmp .L304
6393 6443 0474 6F3F cpi r22,lo8(-1)
6394 6444 0476 2FEF ldi r18,hi8(-1)
6395 6445 0478 7207 cpc r23,r18
6396 6446 047a 2FEF ldi r18,hlo8(-1)
6397 6447 047c 8207 cpc r24,r18
6398 6448 047e 2FEF ldi r18,hhi8(-1)
6399 6449 0480 9207 cpc r25,r18
6400 6450 0482 01F4 brne .L307
6401 6451 0484 21E0 ldi r18,lo8(1)
6403 6453 0486 00C0 rjmp .L262
6408 6458 0488 8AA5 ldd r24,Y+42
6409 6459 048a 9BA5 ldd r25,Y+43
6410 6460 048c B601 movw r22,r12
6411 6461 048e A501 movw r20,r10
6412 6462 0490 00E0 ldi r16,lo8(0)
6413 6463 0492 10E0 ldi r17,hi8(0)
6414 6464 0494 20E0 ldi r18,hlo8(0)
6415 6465 0496 30E0 ldi r19,hhi8(0)
6417 6467 0498 0E94 0000 call put_fat
6419 6469 049c 282F mov r18,r24
6423 6473 049e 8823 tst r24
6424 6474 04a0 01F0 breq .+2
6425 6475 04a2 00C0 rjmp .L262
6428 6478 04a4 EAA5 ldd r30,Y+42
6429 6479 04a6 FBA5 ldd r31,Y+43
6430 6480 04a8 8685 ldd r24,Z+14
6431 6481 04aa 9785 ldd r25,Z+15
6432 6482 04ac A089 ldd r26,Z+16
6433 6483 04ae B189 ldd r27,Z+17
6435 6485 04b0 8F3F cpi r24,lo8(-1)
6436 6486 04b2 FFEF ldi r31,hi8(-1)
6437 6487 04b4 9F07 cpc r25,r31
6438 6488 04b6 FFEF ldi r31,hlo8(-1)
6439 6489 04b8 AF07 cpc r26,r31
6440 6490 04ba FFEF ldi r31,hhi8(-1)
6441 6491 04bc BF07 cpc r27,r31
6442 6492 04be 01F0 breq .L308
6444 6494 04c0 0196 adiw r24,1
6445 6495 04c2 A11D adc r26,__zero_reg__
6446 6496 04c4 B11D adc r27,__zero_reg__
6447 6497 04c6 EAA5 ldd r30,Y+42
6448 6498 04c8 FBA5 ldd r31,Y+43
6449 6499 04ca 8687 std Z+14,r24
6450 6500 04cc 9787 std Z+15,r25
6451 6501 04ce A08B std Z+16,r26
6452 6502 04d0 B18B std Z+17,r27
6454 6504 04d2 21E0 ldi r18,lo8(1)
6456 6506 04d4 2583 std Z+5,r18
6459 6509 04d6 6401 movw r12,r8
6460 6510 04d8 5301 movw r10,r6
6464 6514 04da EAA5 ldd r30,Y+42
6465 6515 04dc FBA5 ldd r31,Y+43
6466 6516 04de 828D ldd r24,Z+26
6467 6517 04e0 938D ldd r25,Z+27
6468 6518 04e2 A48D ldd r26,Z+28
6469 6519 04e4 B58D ldd r27,Z+29
6470 6520 04e6 A816 cp r10,r24
6471 6521 04e8 B906 cpc r11,r25
6472 6522 04ea CA06 cpc r12,r26
6473 6523 04ec DB06 cpc r13,r27
6474 6524 04ee 00F4 brsh .+2
6475 6525 04f0 00C0 rjmp .L309
6476 6526 04f2 00C0 rjmp .L306
6479 6529 04f4 22E0 ldi r18,lo8(2)
6481 6531 04f6 00C0 rjmp .L262
6487 6537 04f8 8D85 ldd r24,Y+13
6488 6538 04fa 9E85 ldd r25,Y+14
6489 6539 04fc 4EA1 ldd r20,Y+38
6490 6540 04fe 5FA1 ldd r21,Y+39
6491 6541 0500 68A5 ldd r22,Y+40
6492 6542 0502 79A5 ldd r23,Y+41
6493 6543 0504 0E94 0000 call move_window
6495 6545 0508 282F mov r18,r24
6498 6548 050a 8823 tst r24
6499 6549 050c 01F0 breq .+2
6500 6550 050e 00C0 rjmp .L262
6504 6554 0510 FDA1 ldd r31,Y+37
6505 6555 0512 F3FF sbrs r31,3
6506 6556 0514 00C0 rjmp .L310
6508 6558 0516 D701 movw r26,r14
6510 6560 0518 1B96 adiw r26,11
6511 6561 051a 1C92 st X,__zero_reg__
6513 6563 051c 0E94 0000 call get_fattime
6516 6566 0520 F701 movw r30,r14
6517 6567 0522 6687 std Z+14,r22
6518 6568 0524 272F mov r18,r23
6519 6569 0526 3327 clr r19
6520 6570 0528 2787 std Z+15,r18
6521 6571 052a 9C01 movw r18,r24
6522 6572 052c 4427 clr r20
6523 6573 052e 5527 clr r21
6524 6574 0530 208B std Z+16,r18
6525 6575 0532 692F mov r22,r25
6526 6576 0534 7727 clr r23
6527 6577 0536 8827 clr r24
6528 6578 0538 9927 clr r25
6529 6579 053a 618B std Z+17,r22
6531 6581 053c ED85 ldd r30,Y+13
6532 6582 053e FE85 ldd r31,Y+14
6533 6583 0540 81E0 ldi r24,lo8(1)
6534 6584 0542 8483 std Z+4,r24
6536 6586 0544 FDA1 ldd r31,Y+37
6537 6587 0546 F062 ori r31,lo8(32)
6538 6588 0548 FDA3 std Y+37,r31
6540 6590 054a 00C0 rjmp .L310
6545 6595 054c 2223 tst r18
6546 6596 054e 01F0 breq .+2
6547 6597 0550 00C0 rjmp .L262
6549 6599 0552 EF8C ldd r14,Y+31
6550 6600 0554 F8A0 ldd r15,Y+32
6553 6603 0556 E114 cp r14,__zero_reg__
6554 6604 0558 F104 cpc r15,__zero_reg__
6555 6605 055a 01F4 brne .+2
6556 6606 055c 00C0 rjmp .L311
6557 6607 055e D701 movw r26,r14
6559 6609 0560 1B96 adiw r26,11
6560 6610 0562 8C91 ld r24,X
6561 6611 0564 84FD sbrc r24,4
6562 6612 0566 00C0 rjmp .L311
6564 6614 0568 41FF sbrs r20,1
6565 6615 056a 00C0 rjmp .L310
6566 6616 056c 80FD sbrc r24,0
6567 6617 056e 00C0 rjmp .L302
6571 6621 0570 ED85 ldd r30,Y+13
6572 6622 0572 FE85 ldd r31,Y+14
6574 6624 0574 22A5 ldd r18,Z+42
6575 6625 0576 33A5 ldd r19,Z+43
6576 6626 0578 44A5 ldd r20,Z+44
6577 6627 057a 55A5 ldd r21,Z+45
6579 6629 057c ACA5 ldd r26,Y+44
6580 6630 057e BDA5 ldd r27,Y+45
6582 6632 0580 5A96 adiw r26,26
6583 6633 0582 2D93 st X+,r18
6584 6634 0584 3D93 st X+,r19
6585 6635 0586 4D93 st X+,r20
6586 6636 0588 5C93 st X,r21
6587 6637 058a 5D97 sbiw r26,26+3
6589 6639 058c 8F8D ldd r24,Y+31
6590 6640 058e 98A1 ldd r25,Y+32
6592 6642 0590 5F96 adiw r26,30+1
6593 6643 0592 9C93 st X,r25
6594 6644 0594 8E93 st -X,r24
6595 6645 0596 5E97 sbiw r26,30
6597 6647 0598 2DA1 ldd r18,Y+37
6598 6648 059a 1496 adiw r26,4
6599 6649 059c 2C93 st X,r18
6601 6651 059e D701 movw r26,r14
6602 6652 05a0 5596 adiw r26,21
6603 6653 05a2 3C91 ld r19,X
6604 6654 05a4 5597 sbiw r26,21
6606 6656 05a6 20E0 ldi r18,lo8(0)
6607 6657 05a8 5496 adiw r26,20
6608 6658 05aa 8C91 ld r24,X
6609 6659 05ac 5497 sbiw r26,20
6610 6660 05ae 90E0 ldi r25,lo8(0)
6611 6661 05b0 282B or r18,r24
6612 6662 05b2 392B or r19,r25
6613 6663 05b4 40E0 ldi r20,lo8(0)
6614 6664 05b6 50E0 ldi r21,hi8(0)
6615 6665 05b8 A901 movw r20,r18
6616 6666 05ba 3327 clr r19
6617 6667 05bc 2227 clr r18
6618 6668 05be 5B96 adiw r26,27
6619 6669 05c0 9C91 ld r25,X
6620 6670 05c2 5B97 sbiw r26,27
6621 6671 05c4 80E0 ldi r24,lo8(0)
6622 6672 05c6 5A96 adiw r26,26
6623 6673 05c8 6C91 ld r22,X
6625 6675 05ca 70E0 ldi r23,lo8(0)
6626 6676 05cc 862B or r24,r22
6627 6677 05ce 972B or r25,r23
6628 6678 05d0 A0E0 ldi r26,lo8(0)
6629 6679 05d2 B0E0 ldi r27,hi8(0)
6630 6680 05d4 282B or r18,r24
6631 6681 05d6 392B or r19,r25
6632 6682 05d8 4A2B or r20,r26
6633 6683 05da 5B2B or r21,r27
6634 6684 05dc ACA5 ldd r26,Y+44
6635 6685 05de BDA5 ldd r27,Y+45
6636 6686 05e0 1E96 adiw r26,14
6637 6687 05e2 2D93 st X+,r18
6638 6688 05e4 3D93 st X+,r19
6639 6689 05e6 4D93 st X+,r20
6640 6690 05e8 5C93 st X,r21
6641 6691 05ea 5197 sbiw r26,14+3
6643 6693 05ec D701 movw r26,r14
6644 6694 05ee 5F96 adiw r26,31
6645 6695 05f0 2C91 ld r18,X
6646 6696 05f2 5F97 sbiw r26,31
6647 6697 05f4 30E0 ldi r19,lo8(0)
6648 6698 05f6 40E0 ldi r20,lo8(0)
6649 6699 05f8 50E0 ldi r21,hi8(0)
6650 6700 05fa 522F mov r21,r18
6651 6701 05fc 4427 clr r20
6652 6702 05fe 3327 clr r19
6653 6703 0600 2227 clr r18
6655 6705 0602 5E96 adiw r26,30
6656 6706 0604 8C91 ld r24,X
6657 6707 0606 90E0 ldi r25,lo8(0)
6658 6708 0608 A0E0 ldi r26,lo8(0)
6659 6709 060a B0E0 ldi r27,hi8(0)
6660 6710 060c DC01 movw r26,r24
6661 6711 060e 9927 clr r25
6662 6712 0610 8827 clr r24
6663 6713 0612 282B or r18,r24
6664 6714 0614 392B or r19,r25
6665 6715 0616 4A2B or r20,r26
6666 6716 0618 5B2B or r21,r27
6667 6717 061a D701 movw r26,r14
6668 6718 061c 5C96 adiw r26,28
6669 6719 061e 8C91 ld r24,X
6670 6720 0620 90E0 ldi r25,lo8(0)
6671 6721 0622 A0E0 ldi r26,lo8(0)
6672 6722 0624 B0E0 ldi r27,hi8(0)
6673 6723 0626 282B or r18,r24
6674 6724 0628 392B or r19,r25
6675 6725 062a 4A2B or r20,r26
6676 6726 062c 5B2B or r21,r27
6677 6727 062e D701 movw r26,r14
6678 6728 0630 5D96 adiw r26,29
6679 6729 0632 9C91 ld r25,X
6680 6730 0634 80E0 ldi r24,lo8(0)
6681 6731 0636 A0E0 ldi r26,lo8(0)
6682 6732 0638 B0E0 ldi r27,hi8(0)
6683 6733 063a 282B or r18,r24
6684 6734 063c 392B or r19,r25
6685 6735 063e 4A2B or r20,r26
6686 6736 0640 5B2B or r21,r27
6687 6737 0642 ACA5 ldd r26,Y+44
6688 6738 0644 BDA5 ldd r27,Y+45
6689 6739 0646 1A96 adiw r26,10
6690 6740 0648 2D93 st X+,r18
6691 6741 064a 3D93 st X+,r19
6692 6742 064c 4D93 st X+,r20
6693 6743 064e 5C93 st X,r21
6694 6744 0650 1D97 sbiw r26,10+3
6696 6746 0652 1696 adiw r26,6
6697 6747 0654 1D92 st X+,__zero_reg__
6698 6748 0656 1D92 st X+,__zero_reg__
6699 6749 0658 1D92 st X+,__zero_reg__
6700 6750 065a 1C92 st X,__zero_reg__
6701 6751 065c 1997 sbiw r26,6+3
6702 6752 065e 8FEF ldi r24,lo8(-1)
6703 6753 0660 1596 adiw r26,5
6704 6754 0662 8C93 st X,r24
6706 6756 0664 ACA5 ldd r26,Y+44
6707 6757 0666 BDA5 ldd r27,Y+45
6708 6758 0668 5696 adiw r26,22
6709 6759 066a 1D92 st X+,__zero_reg__
6710 6760 066c 1D92 st X+,__zero_reg__
6711 6761 066e 1D92 st X+,__zero_reg__
6712 6762 0670 1C92 st X,__zero_reg__
6713 6763 0672 5997 sbiw r26,22+3
6715 6765 0674 1196 adiw r26,1
6716 6766 0676 FC93 st X,r31
6717 6767 0678 EE93 st -X,r30
6718 6768 067a 8681 ldd r24,Z+6
6719 6769 067c 9781 ldd r25,Z+7
6720 6770 067e 1396 adiw r26,2+1
6721 6771 0680 9C93 st X,r25
6722 6772 0682 8E93 st -X,r24
6723 6773 0684 1297 sbiw r26,2
6724 6774 0686 20E0 ldi r18,lo8(0)
6726 6776 0688 00C0 rjmp .L262
6730 6780 068a 27E0 ldi r18,lo8(7)
6731 6781 068c 00C0 rjmp .L262
6733 6783 068e 24E0 ldi r18,lo8(4)
6737 6787 0690 822F mov r24,r18
6738 6788 /* epilogue start */
6739 6789 0692 AD96 adiw r28,45
6740 6790 0694 0FB6 in __tmp_reg__,__SREG__
6742 6792 0698 DEBF out __SP_H__,r29
6743 6793 069a 0FBE out __SREG__,__tmp_reg__
6744 6794 069c CDBF out __SP_L__,r28
6745 6795 069e CF91 pop r28
6746 6796 06a0 DF91 pop r29
6747 6797 06a2 1F91 pop r17
6748 6798 06a4 0F91 pop r16
6750 6800 06a6 FF90 pop r15
6751 6801 06a8 EF90 pop r14
6753 6803 06aa DF90 pop r13
6754 6804 06ac CF90 pop r12
6756 6806 06ae BF90 pop r11
6757 6807 06b0 AF90 pop r10
6759 6809 06b2 9F90 pop r9
6760 6810 06b4 8F90 pop r8
6761 6811 06b6 7F90 pop r7
6762 6812 06b8 6F90 pop r6
6763 6813 06ba 5F90 pop r5
6764 6814 06bc 4F90 pop r4
6765 6815 06be 3F90 pop r3
6766 6816 06c0 2F90 pop r2
6774 6824 06c4 4B8D ldd r20,Y+27
6775 6825 06c6 5C8D ldd r21,Y+28
6776 6826 06c8 6D8D ldd r22,Y+29
6777 6827 06ca 7E8D ldd r23,Y+30
6778 6828 06cc 8D85 ldd r24,Y+13
6779 6829 06ce 9E85 ldd r25,Y+14
6781 6831 06d0 0E94 0000 call move_window
6783 6833 06d4 282F mov r18,r24
6787 6837 06d6 8823 tst r24
6788 6838 06d8 01F4 brne .L262
6790 6840 06da 00C0 rjmp .L323
6796 6846 06dc ED85 ldd r30,Y+13
6797 6847 06de FE85 ldd r31,Y+14
6799 6849 06e2 2108 sbc r2,__zero_reg__
6800 6850 06e4 3108 sbc r3,__zero_reg__
6801 6851 06e6 4108 sbc r4,__zero_reg__
6802 6852 06e8 5108 sbc r5,__zero_reg__
6804 6854 06ea 2286 std Z+10,r2
6805 6855 06ec 3386 std Z+11,r3
6806 6856 06ee 4486 std Z+12,r4
6807 6857 06f0 5586 std Z+13,r5
6808 6858 06f2 00C0 rjmp .L303
6811 6861 06f4 9A2F mov r25,r26
6812 6862 06f6 60E0 ldi r22,lo8(0)
6814 6864 06f8 00C0 rjmp .L313
6822 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:2 *ABS*:0000003f __SREG__
6823 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:3 *ABS*:0000003e __SP_H__
6824 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:4 *ABS*:0000003d __SP_L__
6825 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:5 *ABS*:00000034 __CCP__
6826 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:6 *ABS*:00000000 __tmp_reg__
6827 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:7 *ABS*:00000001 __zero_reg__
6828 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:18 .text.mem_cpy:00000000 mem_cpy
6829 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:62 .text.mem_set:00000000 mem_set
6830 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:93 .text.clust2sect:00000000 clust2sect
6831 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:175 .text.f_mount:00000000 f_mount
6833 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:218 .text.validate:00000000 validate
6834 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:257 .text.move_window:00000000 move_window
6835 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:420 .text.put_fat:00000000 put_fat
6836 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:740 .text.get_fat:00000000 get_fat
6837 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:1027 .text.create_chain:00000000 create_chain
6838 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:1350 .text.f_lseek:00000000 f_lseek
6839 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:1924 .text.dir_seek:00000000 dir_seek
6840 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:2173 .text.f_write:00000000 f_write
6841 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:2744 .text.f_putc:00000000 f_putc
6842 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:2807 .text.f_puts:00000000 f_puts
6843 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:2868 .text.f_printf:00000000 f_printf
6844 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:3356 .text.dir_next:00000000 dir_next
6845 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:3698 .text.f_read:00000000 f_read
6846 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:4143 .text.f_gets:00000000 f_gets
6847 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:4257 .text.check_fs:00000000 check_fs
6848 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:4412 .text.f_sync:00000000 f_sync
6849 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:4723 .text.f_close:00000000 f_close
6850 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:4754 .text.chk_mounted:00000000 chk_mounted
6851 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:6868 .bss:00000002 Fsid
6852 C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:5604 .text.f_open:00000000 f_open