9 16 .section .text.clust2sect,"ax",@progbits
21 29 /* prologue: function */
22 30 /* frame size = 0 */
23 31 000c EC01 movw r28,r24
24 32 000e 7A01 movw r14,r20
25 33 0010 8B01 movw r16,r22
27 35 0012 8EEF ldi r24,lo8(-2)
28 36 0014 9FEF ldi r25,hi8(-2)
29 37 0016 AFEF ldi r26,hlo8(-2)
30 38 0018 BFEF ldi r27,hhi8(-2)
32 40 001a E80E add r14,r24
33 41 001c F91E adc r15,r25
34 42 001e 0A1F adc r16,r26
35 43 0020 1B1F adc r17,r27
38 46 0022 8E85 ldd r24,Y+14
39 47 0024 9F85 ldd r25,Y+15
40 48 0026 A889 ldd r26,Y+16
41 49 0028 B989 ldd r27,Y+17
42 50 002a 0297 sbiw r24,2
43 51 002c A109 sbc r26,__zero_reg__
44 52 002e B109 sbc r27,__zero_reg__
45 53 0030 E816 cp r14,r24
46 54 0032 F906 cpc r15,r25
47 55 0034 0A07 cpc r16,r26
48 56 0036 1B07 cpc r17,r27
50 58 003a 20E0 ldi r18,lo8(0)
51 59 003c 30E0 ldi r19,hi8(0)
52 60 003e 40E0 ldi r20,hlo8(0)
53 61 0040 50E0 ldi r21,hhi8(0)
57 65 0044 2A81 ldd r18,Y+2
58 66 0046 30E0 ldi r19,lo8(0)
59 67 0048 40E0 ldi r20,lo8(0)
60 68 004a 50E0 ldi r21,hi8(0)
61 69 004c C801 movw r24,r16
62 70 004e B701 movw r22,r14
63 71 0050 0E94 0000 call __mulsi3
64 72 0054 9B01 movw r18,r22
65 73 0056 AC01 movw r20,r24
66 74 0058 8A8D ldd r24,Y+26
67 75 005a 9B8D ldd r25,Y+27
68 76 005c AC8D ldd r26,Y+28
69 77 005e BD8D ldd r27,Y+29
70 78 0060 280F add r18,r24
71 79 0062 391F adc r19,r25
72 80 0064 4A1F adc r20,r26
73 81 0066 5B1F adc r21,r27
76 84 0068 B901 movw r22,r18
77 85 006a CA01 movw r24,r20
78 86 /* epilogue start */
89 98 .section .text.f_mount,"ax",@progbits
95 105 /* prologue: function */
96 106 /* frame size = 0 */
97 107 0000 DB01 movw r26,r22
100 110 0004 01F0 breq .L6
102 112 0006 8BE0 ldi r24,lo8(11)
108 118 000a E091 0000 lds r30,FatFs
109 119 000e F091 0000 lds r31,(FatFs)+1
112 122 0012 3097 sbiw r30,0
113 123 0014 01F0 breq .L8
115 125 0016 1082 st Z,__zero_reg__
118 128 0018 1097 sbiw r26,0
119 129 001a 01F0 breq .L9
121 131 001c 1C92 st X,__zero_reg__
124 134 001e B093 0000 sts (FatFs)+1,r27
125 135 0022 A093 0000 sts FatFs,r26
126 136 0026 80E0 ldi r24,lo8(0)
131 142 .section .text.validate,"ax",@progbits
136 148 /* prologue: function */
137 149 /* frame size = 0 */
138 150 0000 FC01 movw r30,r24
140 152 0002 0097 sbiw r24,0
141 153 0004 01F0 breq .L12
142 154 0006 8081 ld r24,Z
144 156 0008 8823 tst r24
145 157 000a 01F0 breq .L12
146 158 000c 8681 ldd r24,Z+6
147 159 000e 9781 ldd r25,Z+7
148 160 0010 8617 cp r24,r22
149 161 0012 9707 cpc r25,r23
150 162 0014 01F4 brne .L12
152 164 0016 8181 ldd r24,Z+1
153 165 0018 0E94 0000 call disk_status
155 167 001c 80FD sbrc r24,0
156 168 001e 00C0 rjmp .L13
157 169 0020 80E0 ldi r24,lo8(0)
160 172 0024 83E0 ldi r24,lo8(3)
164 176 0028 89E0 ldi r24,lo8(9)
168 181 .section .text.f_close,"ax",@progbits
174 188 0000 CF93 push r28
175 189 0002 DF93 push r29
176 190 /* prologue: function */
177 191 /* frame size = 0 */
178 192 0004 EC01 movw r28,r24
180 194 0006 6A81 ldd r22,Y+2
181 195 0008 7B81 ldd r23,Y+3
182 196 000a 8881 ld r24,Y
183 197 000c 9981 ldd r25,Y+1
185 199 000e 0E94 0000 call validate
187 201 0012 8823 tst r24
189 203 0014 01F4 brne .L17
190 204 0016 1982 std Y+1,__zero_reg__
191 205 0018 1882 st Y,__zero_reg__
194 208 /* epilogue start */
196 210 001a DF91 pop r29
197 211 001c CF91 pop r28
201 216 .section .text.move_window,"ax",@progbits
206 222 0000 CF92 push r12
207 223 0002 DF92 push r13
208 224 0004 EF92 push r14
209 225 0006 FF92 push r15
210 226 0008 0F93 push r16
211 227 000a CF93 push r28
212 228 000c DF93 push r29
213 229 /* prologue: function */
214 230 /* frame size = 0 */
215 231 000e EC01 movw r28,r24
216 232 0010 6A01 movw r12,r20
217 233 0012 7B01 movw r14,r22
219 235 0014 8E8D ldd r24,Y+30
220 236 0016 9F8D ldd r25,Y+31
221 237 0018 A8A1 ldd r26,Y+32
222 238 001a B9A1 ldd r27,Y+33
224 240 001c 8417 cp r24,r20
225 241 001e 9507 cpc r25,r21
226 242 0020 A607 cpc r26,r22
227 243 0022 B707 cpc r27,r23
228 244 0024 01F0 breq .L20
230 246 0026 4115 cp r20,__zero_reg__
231 247 0028 5105 cpc r21,__zero_reg__
232 248 002a 6105 cpc r22,__zero_reg__
233 249 002c 7105 cpc r23,__zero_reg__
234 250 002e 01F0 breq .L20
236 252 0030 BE01 movw r22,r28
237 253 0032 6E5D subi r22,lo8(-(34))
238 254 0034 7F4F sbci r23,hi8(-(34))
239 255 0036 8981 ldd r24,Y+1
240 256 0038 A701 movw r20,r14
241 257 003a 9601 movw r18,r12
242 258 003c 01E0 ldi r16,lo8(1)
243 259 003e 0E94 0000 call disk_read
245 261 0042 8823 tst r24
246 262 0044 01F0 breq .L21
247 263 0046 81E0 ldi r24,lo8(1)
248 264 0048 00C0 rjmp .L22
251 267 004a CE8E std Y+30,r12
252 268 004c DF8E std Y+31,r13
253 269 004e E8A2 std Y+32,r14
254 270 0050 F9A2 std Y+33,r15
257 273 0052 80E0 ldi r24,lo8(0)
259 275 /* epilogue start */
261 277 0054 DF91 pop r29
262 278 0056 CF91 pop r28
264 280 0058 0F91 pop r16
265 281 005a FF90 pop r15
266 282 005c EF90 pop r14
267 283 005e DF90 pop r13
268 284 0060 CF90 pop r12
272 289 .section .text.get_fat,"ax",@progbits
278 296 0000 7F92 push r7
279 297 0002 8F92 push r8
280 298 0004 9F92 push r9
281 299 0006 AF92 push r10
282 300 0008 BF92 push r11
283 301 000a CF92 push r12
284 302 000c DF92 push r13
285 303 000e EF92 push r14
286 304 0010 FF92 push r15
287 305 0012 0F93 push r16
288 306 0014 1F93 push r17
289 307 0016 CF93 push r28
290 308 0018 DF93 push r29
291 309 /* prologue: function */
292 310 /* frame size = 0 */
293 311 001a 4C01 movw r8,r24
294 312 001c 7A01 movw r14,r20
295 313 001e 8B01 movw r16,r22
297 315 0020 4230 cpi r20,lo8(2)
298 316 0022 5105 cpc r21,__zero_reg__
299 317 0024 6105 cpc r22,__zero_reg__
300 318 0026 7105 cpc r23,__zero_reg__
302 320 0028 00F4 brsh .+2
303 321 002a 00C0 rjmp .L25
304 322 002c F401 movw r30,r8
305 323 002e 8685 ldd r24,Z+14
306 324 0030 9785 ldd r25,Z+15
307 325 0032 A089 ldd r26,Z+16
308 326 0034 B189 ldd r27,Z+17
309 327 0036 4817 cp r20,r24
310 328 0038 5907 cpc r21,r25
311 329 003a 6A07 cpc r22,r26
312 330 003c 7B07 cpc r23,r27
313 331 003e 00F0 brlo .+2
314 332 0040 00C0 rjmp .L25
316 334 0042 A288 ldd r10,Z+18
317 335 0044 B388 ldd r11,Z+19
318 336 0046 C488 ldd r12,Z+20
319 337 0048 D588 ldd r13,Z+21
322 340 004a 8081 ld r24,Z
323 341 004c 8230 cpi r24,lo8(2)
324 342 004e 01F4 brne .+2
325 343 0050 00C0 rjmp .L28
326 344 0052 8330 cpi r24,lo8(3)
327 345 0054 01F4 brne .+2
328 346 0056 00C0 rjmp .L29
329 347 0058 8130 cpi r24,lo8(1)
330 348 005a 01F0 breq .+2
331 349 005c 00C0 rjmp .L26
333 351 005e EA01 movw r28,r20
335 353 0060 D695 lsr r29
336 354 0062 C795 ror r28
338 356 0064 C40F add r28,r20
339 357 0066 D51F adc r29,r21
341 359 0068 AE01 movw r20,r28
343 361 006a 452F mov r20,r21
344 362 006c 5527 clr r21
345 363 006e 4695 lsr r20
346 364 0070 60E0 ldi r22,lo8(0)
347 365 0072 70E0 ldi r23,hi8(0)
348 366 0074 4A0D add r20,r10
349 367 0076 5B1D adc r21,r11
350 368 0078 6C1D adc r22,r12
351 369 007a 7D1D adc r23,r13
352 370 007c C401 movw r24,r8
353 371 007e 0E94 0000 call move_window
354 372 0082 8823 tst r24
355 373 0084 01F0 breq .+2
356 374 0086 00C0 rjmp .L26
358 376 0088 FE01 movw r30,r28
359 377 008a F170 andi r31,hi8(511)
360 378 008c E80D add r30,r8
361 379 008e F91D adc r31,r9
362 380 0090 72A0 ldd r7,Z+34
363 381 0092 2196 adiw r28,1
366 384 0094 AE01 movw r20,r28
367 385 0096 452F mov r20,r21
368 386 0098 5527 clr r21
369 387 009a 4695 lsr r20
370 388 009c 60E0 ldi r22,lo8(0)
371 389 009e 70E0 ldi r23,hi8(0)
372 390 00a0 4A0D add r20,r10
373 391 00a2 5B1D adc r21,r11
374 392 00a4 6C1D adc r22,r12
375 393 00a6 7D1D adc r23,r13
376 394 00a8 C401 movw r24,r8
377 395 00aa 0E94 0000 call move_window
378 396 00ae 8823 tst r24
379 397 00b0 01F0 breq .+2
380 398 00b2 00C0 rjmp .L26
382 400 00b4 672D mov r22,r7
384 402 00b6 70E0 ldi r23,lo8(0)
387 405 00b8 D170 andi r29,hi8(511)
388 406 00ba C80D add r28,r8
389 407 00bc D91D adc r29,r9
390 408 00be 9AA1 ldd r25,Y+34
391 409 00c0 80E0 ldi r24,lo8(0)
392 410 00c2 682B or r22,r24
393 411 00c4 792B or r23,r25
396 414 00c6 C701 movw r24,r14
398 416 00c8 8170 andi r24,lo8(1)
399 417 00ca 9070 andi r25,hi8(1)
400 418 00cc 892B or r24,r25
401 419 00ce 01F0 breq .L30
402 420 00d0 44E0 ldi r20,4
403 421 00d2 7695 1: lsr r23
404 422 00d4 6795 ror r22
405 423 00d6 4A95 dec r20
406 424 00d8 01F4 brne 1b
407 425 00da 9B01 movw r18,r22
408 426 00dc 00C0 rjmp .L33
410 428 00de 9B01 movw r18,r22
411 429 00e0 40E0 ldi r20,lo8(0)
412 430 00e2 50E0 ldi r21,hi8(0)
413 431 00e4 3F70 andi r19,hi8(4095)
414 432 00e6 4070 andi r20,hlo8(4095)
415 433 00e8 5070 andi r21,hhi8(4095)
416 434 00ea 00C0 rjmp .L31
420 438 00ec 452F mov r20,r21
421 439 00ee 562F mov r21,r22
422 440 00f0 672F mov r22,r23
423 441 00f2 7727 clr r23
425 443 00f4 4A0D add r20,r10
426 444 00f6 5B1D adc r21,r11
427 445 00f8 6C1D adc r22,r12
428 446 00fa 7D1D adc r23,r13
429 447 00fc C401 movw r24,r8
430 448 00fe 0E94 0000 call move_window
431 449 0102 8823 tst r24
432 450 0104 01F4 brne .L26
434 452 0106 F701 movw r30,r14
436 454 0108 EE0F lsl r30
437 455 010a FF1F rol r31
438 456 010c F170 andi r31,hi8(511)
439 457 010e E80D add r30,r8
440 458 0110 F91D adc r31,r9
441 459 0112 82A1 ldd r24,Z+34
442 460 0114 93A1 ldd r25,Z+35
443 461 0116 9C01 movw r18,r24
446 464 0118 40E0 ldi r20,lo8(0)
447 465 011a 50E0 ldi r21,hi8(0)
448 466 011c 00C0 rjmp .L31
452 470 011e 97E0 ldi r25,7
453 471 0120 7695 1: lsr r23
454 472 0122 6795 ror r22
455 473 0124 5795 ror r21
456 474 0126 4795 ror r20
457 475 0128 9A95 dec r25
458 476 012a 01F4 brne 1b
460 478 012c 4A0D add r20,r10
461 479 012e 5B1D adc r21,r11
462 480 0130 6C1D adc r22,r12
463 481 0132 7D1D adc r23,r13
464 482 0134 C401 movw r24,r8
465 483 0136 0E94 0000 call move_window
466 484 013a 8823 tst r24
467 485 013c 01F4 brne .L26
469 487 013e F701 movw r30,r14
471 489 0140 EE0F lsl r30
472 490 0142 FF1F rol r31
473 491 0144 EE0F lsl r30
474 492 0146 FF1F rol r31
475 493 0148 F170 andi r31,hi8(511)
476 494 014a E80D add r30,r8
477 495 014c F91D adc r31,r9
478 496 014e 22A1 ldd r18,Z+34
479 497 0150 33A1 ldd r19,Z+35
480 498 0152 44A1 ldd r20,Z+36
481 499 0154 55A1 ldd r21,Z+37
482 500 0156 5F70 andi r21,hhi8(268435455)
483 501 0158 00C0 rjmp .L31
486 504 015a 21E0 ldi r18,lo8(1)
487 505 015c 30E0 ldi r19,hi8(1)
488 506 015e 40E0 ldi r20,hlo8(1)
489 507 0160 50E0 ldi r21,hhi8(1)
490 508 0162 00C0 rjmp .L31
493 511 0164 2FEF ldi r18,lo8(-1)
494 512 0166 3FEF ldi r19,hi8(-1)
495 513 0168 4FEF ldi r20,hlo8(-1)
496 514 016a 5FEF ldi r21,hhi8(-1)
500 518 016c B901 movw r22,r18
502 520 016e CA01 movw r24,r20
503 521 /* epilogue start */
504 522 0170 DF91 pop r29
505 523 0172 CF91 pop r28
507 525 0174 1F91 pop r17
508 526 0176 0F91 pop r16
509 527 0178 FF90 pop r15
510 528 017a EF90 pop r14
512 530 017c DF90 pop r13
513 531 017e CF90 pop r12
514 532 0180 BF90 pop r11
515 533 0182 AF90 pop r10
523 542 .section .text.f_lseek,"ax",@progbits
529 549 0000 2F92 push r2
530 550 0002 3F92 push r3
531 551 0004 4F92 push r4
532 552 0006 5F92 push r5
533 553 0008 6F92 push r6
534 554 000a 7F92 push r7
535 555 000c 8F92 push r8
536 556 000e 9F92 push r9
537 557 0010 AF92 push r10
538 558 0012 BF92 push r11
539 559 0014 CF92 push r12
540 560 0016 DF92 push r13
541 561 0018 EF92 push r14
542 562 001a FF92 push r15
543 563 001c 0F93 push r16
544 564 001e 1F93 push r17
545 565 0020 DF93 push r29
546 566 0022 CF93 push r28
547 567 0024 00D0 rcall .
548 568 0026 0F92 push __tmp_reg__
549 569 0028 CDB7 in r28,__SP_L__
550 570 002a DEB7 in r29,__SP_H__
551 571 /* prologue: function */
552 572 /* frame size = 3 */
553 573 002c 9B83 std Y+3,r25
554 574 002e 8A83 std Y+2,r24
555 575 0030 E42E mov r14,r20
556 576 0032 D52E mov r13,r21
558 578 0034 C62E mov r12,r22
560 580 0036 B72E mov r11,r23
563 583 0038 DC01 movw r26,r24
564 584 003a 1296 adiw r26,2
565 585 003c 6D91 ld r22,X+
566 586 003e 7C91 ld r23,X
567 587 0040 1397 sbiw r26,2+1
569 589 0042 8D91 ld r24,X+
570 590 0044 9C91 ld r25,X
572 592 0046 0E94 0000 call validate
574 594 004a 8983 std Y+1,r24
577 597 004c 8823 tst r24
578 598 004e 01F0 breq .+2
579 599 0050 00C0 rjmp .L35
581 601 0052 EA81 ldd r30,Y+2
582 602 0054 FB81 ldd r31,Y+3
583 603 0056 8481 ldd r24,Z+4
584 604 0058 87FD sbrc r24,7
585 605 005a 00C0 rjmp .L51
587 607 005c AA81 ldd r26,Y+2
588 608 005e BB81 ldd r27,Y+3
589 609 0060 1A96 adiw r26,10
590 610 0062 6D90 ld r6,X+
591 611 0064 7D90 ld r7,X+
592 612 0066 8D90 ld r8,X+
593 613 0068 9C90 ld r9,X
594 614 006a 1D97 sbiw r26,10+3
595 615 006c 2E2D mov r18,r14
596 616 006e 3D2D mov r19,r13
597 617 0070 4C2D mov r20,r12
598 618 0072 5B2D mov r21,r11
599 619 0074 C901 movw r24,r18
600 620 0076 DA01 movw r26,r20
601 621 0078 5C01 movw r10,r24
602 622 007a 6D01 movw r12,r26
603 623 007c 6A14 cp r6,r10
604 624 007e 7B04 cpc r7,r11
605 625 0080 8C04 cpc r8,r12
606 626 0082 9D04 cpc r9,r13
607 627 0084 00F4 brsh .L37
609 629 0086 6401 movw r12,r8
610 630 0088 5301 movw r10,r6
614 634 008a EA81 ldd r30,Y+2
615 635 008c FB81 ldd r31,Y+3
616 636 008e 2681 ldd r18,Z+6
617 637 0090 3781 ldd r19,Z+7
618 638 0092 4085 ldd r20,Z+8
619 639 0094 5185 ldd r21,Z+9
622 642 0096 1682 std Z+6,__zero_reg__
623 643 0098 1782 std Z+7,__zero_reg__
624 644 009a 1086 std Z+8,__zero_reg__
625 645 009c 1186 std Z+9,__zero_reg__
626 646 009e 8FEF ldi r24,lo8(-1)
627 647 00a0 8583 std Z+5,r24
629 649 00a2 A114 cp r10,__zero_reg__
630 650 00a4 B104 cpc r11,__zero_reg__
631 651 00a6 C104 cpc r12,__zero_reg__
632 652 00a8 D104 cpc r13,__zero_reg__
633 653 00aa 01F4 brne .+2
634 654 00ac 00C0 rjmp .L38
636 656 00ae 0190 ld __tmp_reg__,Z+
637 657 00b0 F081 ld r31,Z
638 658 00b2 E02D mov r30,__tmp_reg__
639 659 00b4 8281 ldd r24,Z+2
640 660 00b6 682E mov r6,r24
647 667 00be 09E0 ldi r16,9
648 668 00c0 660C 1: lsl r6
652 672 00c8 0A95 dec r16
653 673 00ca 01F4 brne 1b
656 676 00cc 2115 cp r18,__zero_reg__
657 677 00ce 3105 cpc r19,__zero_reg__
658 678 00d0 4105 cpc r20,__zero_reg__
659 679 00d2 5105 cpc r21,__zero_reg__
660 680 00d4 01F0 breq .L39
661 681 00d6 1901 movw r2,r18
662 682 00d8 2A01 movw r4,r20
664 684 00dc 2108 sbc r2,__zero_reg__
665 685 00de 3108 sbc r3,__zero_reg__
666 686 00e0 4108 sbc r4,__zero_reg__
667 687 00e2 5108 sbc r5,__zero_reg__
668 688 00e4 C601 movw r24,r12
669 689 00e6 B501 movw r22,r10
670 690 00e8 6150 subi r22,lo8(-(-1))
671 691 00ea 7040 sbci r23,hi8(-(-1))
672 692 00ec 8040 sbci r24,hlo8(-(-1))
673 693 00ee 9040 sbci r25,hhi8(-(-1))
674 694 00f0 A401 movw r20,r8
675 695 00f2 9301 movw r18,r6
677 697 00f4 0E94 0000 call __udivmodsi4
678 698 00f8 7901 movw r14,r18
679 699 00fa 8A01 movw r16,r20
680 700 00fc C201 movw r24,r4
681 701 00fe B101 movw r22,r2
682 702 0100 A401 movw r20,r8
683 703 0102 9301 movw r18,r6
684 704 0104 0E94 0000 call __udivmodsi4
685 705 0108 E216 cp r14,r18
686 706 010a F306 cpc r15,r19
687 707 010c 0407 cpc r16,r20
688 708 010e 1507 cpc r17,r21
689 709 0110 00F0 brlo .L39
691 711 0112 8827 clr r24
692 712 0114 9927 clr r25
693 713 0116 DC01 movw r26,r24
694 714 0118 8619 sub r24,r6
695 715 011a 9709 sbc r25,r7
696 716 011c A809 sbc r26,r8
697 717 011e B909 sbc r27,r9
698 718 0120 8221 and r24,r2
699 719 0122 9321 and r25,r3
700 720 0124 A421 and r26,r4
701 721 0126 B521 and r27,r5
702 722 0128 EA81 ldd r30,Y+2
703 723 012a FB81 ldd r31,Y+3
704 724 012c 8683 std Z+6,r24
705 725 012e 9783 std Z+7,r25
706 726 0130 A087 std Z+8,r26
707 727 0132 B187 std Z+9,r27
709 729 0134 A81A sub r10,r24
710 730 0136 B90A sbc r11,r25
711 731 0138 CA0A sbc r12,r26
712 732 013a DB0A sbc r13,r27
714 734 013c 4289 ldd r20,Z+18
715 735 013e 5389 ldd r21,Z+19
716 736 0140 6489 ldd r22,Z+20
717 737 0142 7589 ldd r23,Z+21
719 739 0144 00C0 rjmp .L40
723 743 0146 AA81 ldd r26,Y+2
724 744 0148 BB81 ldd r27,Y+3
725 745 014a 1E96 adiw r26,14
726 746 014c 4D91 ld r20,X+
727 747 014e 5D91 ld r21,X+
728 748 0150 6D91 ld r22,X+
729 749 0152 7C91 ld r23,X
730 750 0154 5197 sbiw r26,14+3
733 753 0156 FD01 movw r30,r26
734 754 0158 428B std Z+18,r20
735 755 015a 538B std Z+19,r21
736 756 015c 648B std Z+20,r22
737 757 015e 758B std Z+21,r23
740 760 0160 4115 cp r20,__zero_reg__
741 761 0162 5105 cpc r21,__zero_reg__
742 762 0164 6105 cpc r22,__zero_reg__
743 763 0166 7105 cpc r23,__zero_reg__
744 764 0168 01F0 breq .+2
745 765 016a 00C0 rjmp .L49
746 766 016c 00C0 rjmp .L38
749 769 016e AA81 ldd r26,Y+2
750 770 0170 BB81 ldd r27,Y+3
751 771 0172 8D91 ld r24,X+
752 772 0174 9C91 ld r25,X
753 773 0176 0E94 0000 call get_fat
755 775 017a AB01 movw r20,r22
756 776 017c BC01 movw r22,r24
759 779 017e 4F3F cpi r20,lo8(-1)
760 780 0180 BFEF ldi r27,hi8(-1)
761 781 0182 5B07 cpc r21,r27
762 782 0184 BFEF ldi r27,hlo8(-1)
763 783 0186 6B07 cpc r22,r27
764 784 0188 BFEF ldi r27,hhi8(-1)
765 785 018a 7B07 cpc r23,r27
766 786 018c 01F4 brne .L42
767 787 018e EA81 ldd r30,Y+2
768 788 0190 FB81 ldd r31,Y+3
769 789 0192 8481 ldd r24,Z+4
770 790 0194 8068 ori r24,lo8(-128)
771 791 0196 8483 std Z+4,r24
772 792 0198 F1E0 ldi r31,lo8(1)
774 794 019a F983 std Y+1,r31
776 796 019c 00C0 rjmp .L35
779 799 019e 4230 cpi r20,lo8(2)
780 800 01a0 5105 cpc r21,__zero_reg__
781 801 01a2 6105 cpc r22,__zero_reg__
782 802 01a4 7105 cpc r23,__zero_reg__
783 803 01a6 00F0 brlo .L43
784 804 01a8 AA81 ldd r26,Y+2
785 805 01aa BB81 ldd r27,Y+3
786 806 01ac ED91 ld r30,X+
787 807 01ae FC91 ld r31,X
788 808 01b0 8685 ldd r24,Z+14
789 809 01b2 9785 ldd r25,Z+15
790 810 01b4 A089 ldd r26,Z+16
791 811 01b6 B189 ldd r27,Z+17
792 812 01b8 4817 cp r20,r24
793 813 01ba 5907 cpc r21,r25
794 814 01bc 6A07 cpc r22,r26
795 815 01be 7B07 cpc r23,r27
796 816 01c0 00F0 brlo .L44
798 818 01c2 EA81 ldd r30,Y+2
799 819 01c4 FB81 ldd r31,Y+3
800 820 01c6 8481 ldd r24,Z+4
801 821 01c8 8068 ori r24,lo8(-128)
802 822 01ca 8483 std Z+4,r24
805 825 01cc F2E0 ldi r31,lo8(2)
806 826 01ce 00C0 rjmp .L50
810 830 01d0 AA81 ldd r26,Y+2
811 831 01d2 BB81 ldd r27,Y+3
812 832 01d4 5296 adiw r26,18
813 833 01d6 4D93 st X+,r20
814 834 01d8 5D93 st X+,r21
815 835 01da 6D93 st X+,r22
816 836 01dc 7C93 st X,r23
817 837 01de 5597 sbiw r26,18+3
819 839 01e0 FD01 movw r30,r26
820 840 01e2 8681 ldd r24,Z+6
821 841 01e4 9781 ldd r25,Z+7
822 842 01e6 A085 ldd r26,Z+8
823 843 01e8 B185 ldd r27,Z+9
824 844 01ea 860D add r24,r6
825 845 01ec 971D adc r25,r7
826 846 01ee A81D adc r26,r8
827 847 01f0 B91D adc r27,r9
828 848 01f2 8683 std Z+6,r24
829 849 01f4 9783 std Z+7,r25
830 850 01f6 A087 std Z+8,r26
831 851 01f8 B187 std Z+9,r27
833 853 01fa A618 sub r10,r6
834 854 01fc B708 sbc r11,r7
835 855 01fe C808 sbc r12,r8
836 856 0200 D908 sbc r13,r9
840 860 0202 6A14 cp r6,r10
841 861 0204 7B04 cpc r7,r11
842 862 0206 8C04 cpc r8,r12
843 863 0208 9D04 cpc r9,r13
844 864 020a 00F4 brsh .+2
845 865 020c 00C0 rjmp .L45
848 868 020e EA81 ldd r30,Y+2
849 869 0210 FB81 ldd r31,Y+3
850 870 0212 8681 ldd r24,Z+6
851 871 0214 9781 ldd r25,Z+7
852 872 0216 A085 ldd r26,Z+8
853 873 0218 B185 ldd r27,Z+9
854 874 021a 8A0D add r24,r10
855 875 021c 9B1D adc r25,r11
856 876 021e AC1D adc r26,r12
857 877 0220 BD1D adc r27,r13
858 878 0222 8683 std Z+6,r24
859 879 0224 9783 std Z+7,r25
860 880 0226 A087 std Z+8,r26
861 881 0228 B187 std Z+9,r27
863 883 022a D601 movw r26,r12
864 884 022c C501 movw r24,r10
865 885 022e 19E0 ldi r17,9
866 886 0230 B695 1: lsr r27
867 887 0232 A795 ror r26
868 888 0234 9795 ror r25
869 889 0236 8795 ror r24
870 890 0238 1A95 dec r17
871 891 023a 01F4 brne 1b
872 892 023c E82E mov r14,r24
873 893 023e 8583 std Z+5,r24
875 895 0240 8FEF ldi r24,lo8(511)
876 896 0242 91E0 ldi r25,hi8(511)
877 897 0244 A0E0 ldi r26,hlo8(511)
878 898 0246 B0E0 ldi r27,hhi8(511)
879 899 0248 A822 and r10,r24
880 900 024a B922 and r11,r25
881 901 024c CA22 and r12,r26
882 902 024e DB22 and r13,r27
883 903 0250 A114 cp r10,__zero_reg__
884 904 0252 B104 cpc r11,__zero_reg__
885 905 0254 C104 cpc r12,__zero_reg__
886 906 0256 D104 cpc r13,__zero_reg__
887 907 0258 01F0 breq .L38
889 909 025a 8081 ld r24,Z
890 910 025c 9181 ldd r25,Z+1
891 911 025e 0E94 0000 call clust2sect
894 914 0262 6115 cp r22,__zero_reg__
895 915 0264 7105 cpc r23,__zero_reg__
896 916 0266 8105 cpc r24,__zero_reg__
897 917 0268 9105 cpc r25,__zero_reg__
899 919 026a 01F4 brne .L46
900 920 026c AA81 ldd r26,Y+2
901 921 026e BB81 ldd r27,Y+3
902 922 0270 1496 adiw r26,4
903 923 0272 8C91 ld r24,X
904 924 0274 1497 sbiw r26,4
905 925 0276 8068 ori r24,lo8(-128)
906 926 0278 1496 adiw r26,4
907 927 027a 8C93 st X,r24
908 928 027c B2E0 ldi r27,lo8(2)
909 929 027e B983 std Y+1,r27
911 931 0280 00C0 rjmp .L35
914 934 0282 9B01 movw r18,r22
915 935 0284 AC01 movw r20,r24
916 936 0286 2E0D add r18,r14
917 937 0288 311D adc r19,__zero_reg__
918 938 028a 411D adc r20,__zero_reg__
919 939 028c 511D adc r21,__zero_reg__
922 942 028e E394 inc r14
923 943 0290 EA81 ldd r30,Y+2
924 944 0292 FB81 ldd r31,Y+3
925 945 0294 E582 std Z+5,r14
926 946 0296 00C0 rjmp .L47
929 949 0298 20E0 ldi r18,lo8(0)
930 950 029a 30E0 ldi r19,hi8(0)
931 951 029c 40E0 ldi r20,hlo8(0)
932 952 029e 50E0 ldi r21,hhi8(0)
936 956 02a0 EA81 ldd r30,Y+2
937 957 02a2 FB81 ldd r31,Y+3
938 958 02a4 8681 ldd r24,Z+6
939 959 02a6 9781 ldd r25,Z+7
940 960 02a8 A085 ldd r26,Z+8
941 961 02aa B185 ldd r27,Z+9
942 962 02ac 9170 andi r25,hi8(511)
943 963 02ae A070 andi r26,hlo8(511)
944 964 02b0 B070 andi r27,hhi8(511)
945 965 02b2 0097 sbiw r24,0
946 966 02b4 A105 cpc r26,__zero_reg__
947 967 02b6 B105 cpc r27,__zero_reg__
948 968 02b8 01F0 breq .L35
949 969 02ba 8689 ldd r24,Z+22
950 970 02bc 9789 ldd r25,Z+23
951 971 02be A08D ldd r26,Z+24
952 972 02c0 B18D ldd r27,Z+25
953 973 02c2 2817 cp r18,r24
954 974 02c4 3907 cpc r19,r25
955 975 02c6 4A07 cpc r20,r26
956 976 02c8 5B07 cpc r21,r27
957 977 02ca 01F0 breq .L35
959 979 02cc 268B std Z+22,r18
960 980 02ce 378B std Z+23,r19
961 981 02d0 408F std Z+24,r20
962 982 02d2 518F std Z+25,r21
966 986 02d4 8981 ldd r24,Y+1
967 987 /* epilogue start */
968 988 02d6 0F90 pop __tmp_reg__
969 989 02d8 0F90 pop __tmp_reg__
970 990 02da 0F90 pop __tmp_reg__
971 991 02dc CF91 pop r28
972 992 02de DF91 pop r29
973 993 02e0 1F91 pop r17
974 994 02e2 0F91 pop r16
975 995 02e4 FF90 pop r15
976 996 02e6 EF90 pop r14
977 997 02e8 DF90 pop r13
979 999 02ea CF90 pop r12
981 1001 02ec BF90 pop r11
983 1003 02ee AF90 pop r10
985 1005 02f0 9F90 pop r9
986 1006 02f2 8F90 pop r8
988 1008 02f4 7F90 pop r7
990 1010 02f6 6F90 pop r6
992 1012 02f8 5F90 pop r5
993 1013 02fa 4F90 pop r4
994 1014 02fc 3F90 pop r3
995 1015 02fe 2F90 pop r2
998 1019 .section .text.dir_seek,"ax",@progbits
1003 1025 0000 EF92 push r14
1004 1026 0002 FF92 push r15
1005 1027 0004 0F93 push r16
1006 1028 0006 1F93 push r17
1007 1029 0008 CF93 push r28
1008 1030 000a DF93 push r29
1009 1031 /* prologue: function */
1010 1032 /* frame size = 0 */
1011 1033 000c 8C01 movw r16,r24
1012 1034 000e EB01 movw r28,r22
1014 1036 0010 DC01 movw r26,r24
1015 1037 0012 1596 adiw r26,4+1
1016 1038 0014 7C93 st X,r23
1017 1039 0016 6E93 st -X,r22
1018 1040 0018 1497 sbiw r26,4
1020 1042 001a 1696 adiw r26,6
1021 1043 001c 4D91 ld r20,X+
1022 1044 001e 5D91 ld r21,X+
1023 1045 0020 6D91 ld r22,X+
1024 1046 0022 7C91 ld r23,X
1025 1047 0024 1997 sbiw r26,6+3
1028 1050 0026 4130 cpi r20,lo8(1)
1029 1051 0028 5105 cpc r21,__zero_reg__
1030 1052 002a 6105 cpc r22,__zero_reg__
1031 1053 002c 7105 cpc r23,__zero_reg__
1032 1054 002e 01F4 brne .+2
1033 1055 0030 00C0 rjmp .L53
1034 1056 0032 ED91 ld r30,X+
1035 1057 0034 FC91 ld r31,X
1036 1058 0036 8685 ldd r24,Z+14
1037 1059 0038 9785 ldd r25,Z+15
1038 1060 003a A089 ldd r26,Z+16
1039 1061 003c B189 ldd r27,Z+17
1041 1063 003e 4817 cp r20,r24
1042 1064 0040 5907 cpc r21,r25
1043 1065 0042 6A07 cpc r22,r26
1044 1066 0044 7B07 cpc r23,r27
1045 1067 0046 00F0 brlo .+2
1046 1068 0048 00C0 rjmp .L53
1048 1070 004a 4115 cp r20,__zero_reg__
1049 1071 004c 5105 cpc r21,__zero_reg__
1050 1072 004e 6105 cpc r22,__zero_reg__
1051 1073 0050 7105 cpc r23,__zero_reg__
1052 1074 0052 01F4 brne .L54
1053 1075 0054 8081 ld r24,Z
1054 1076 0056 8330 cpi r24,lo8(3)
1055 1077 0058 01F4 brne .L55
1057 1079 005a 4689 ldd r20,Z+22
1058 1080 005c 5789 ldd r21,Z+23
1059 1081 005e 608D ldd r22,Z+24
1060 1082 0060 718D ldd r23,Z+25
1062 1084 0062 4115 cp r20,__zero_reg__
1063 1085 0064 5105 cpc r21,__zero_reg__
1064 1086 0066 6105 cpc r22,__zero_reg__
1065 1087 0068 7105 cpc r23,__zero_reg__
1066 1088 006a 01F4 brne .L54
1069 1091 006c F801 movw r30,r16
1070 1092 006e 1286 std Z+10,__zero_reg__
1071 1093 0070 1386 std Z+11,__zero_reg__
1072 1094 0072 1486 std Z+12,__zero_reg__
1073 1095 0074 1586 std Z+13,__zero_reg__
1075 1097 0076 0190 ld __tmp_reg__,Z+
1076 1098 0078 F081 ld r31,Z
1077 1099 007a E02D mov r30,__tmp_reg__
1078 1100 007c 8085 ldd r24,Z+8
1079 1101 007e 9185 ldd r25,Z+9
1080 1102 0080 C817 cp r28,r24
1081 1103 0082 D907 cpc r29,r25
1082 1104 0084 00F0 brlo .+2
1083 1105 0086 00C0 rjmp .L53
1086 1108 0088 CE01 movw r24,r28
1087 1109 008a A4E0 ldi r26,4
1088 1110 008c 9695 1: lsr r25
1089 1111 008e 8795 ror r24
1090 1112 0090 AA95 dec r26
1091 1113 0092 01F4 brne 1b
1092 1114 0094 A0E0 ldi r26,lo8(0)
1093 1115 0096 B0E0 ldi r27,hi8(0)
1094 1116 0098 2689 ldd r18,Z+22
1095 1117 009a 3789 ldd r19,Z+23
1096 1118 009c 408D ldd r20,Z+24
1097 1119 009e 518D ldd r21,Z+25
1098 1120 00a0 820F add r24,r18
1099 1121 00a2 931F adc r25,r19
1100 1122 00a4 A41F adc r26,r20
1101 1123 00a6 B51F adc r27,r21
1102 1124 00a8 F801 movw r30,r16
1103 1125 00aa 8687 std Z+14,r24
1104 1126 00ac 9787 std Z+15,r25
1105 1127 00ae A08B std Z+16,r26
1106 1128 00b0 B18B std Z+17,r27
1107 1129 00b2 00C0 rjmp .L56
1111 1133 00b4 8281 ldd r24,Z+2
1112 1134 00b6 E82E mov r14,r24
1114 1136 00b8 FF24 clr r15
1116 1138 00ba E4E0 ldi r30,4
1117 1139 00bc EE0C 1: lsl r14
1118 1140 00be FF1C rol r15
1119 1141 00c0 EA95 dec r30
1120 1142 00c2 01F4 brne 1b
1122 1144 00c4 00C0 rjmp .L57
1126 1148 00c6 0E94 0000 call get_fat
1128 1150 00ca AB01 movw r20,r22
1129 1151 00cc BC01 movw r22,r24
1132 1154 00ce 4F3F cpi r20,lo8(-1)
1133 1155 00d0 FFEF ldi r31,hi8(-1)
1134 1156 00d2 5F07 cpc r21,r31
1135 1157 00d4 FFEF ldi r31,hlo8(-1)
1136 1158 00d6 6F07 cpc r22,r31
1137 1159 00d8 FFEF ldi r31,hhi8(-1)
1138 1160 00da 7F07 cpc r23,r31
1139 1161 00dc 01F4 brne .L58
1140 1162 00de 81E0 ldi r24,lo8(1)
1141 1163 00e0 00C0 rjmp .L59
1144 1166 00e2 4230 cpi r20,lo8(2)
1145 1167 00e4 5105 cpc r21,__zero_reg__
1146 1168 00e6 6105 cpc r22,__zero_reg__
1147 1169 00e8 7105 cpc r23,__zero_reg__
1148 1170 00ea 00F4 brsh .+2
1149 1171 00ec 00C0 rjmp .L53
1150 1172 00ee D801 movw r26,r16
1151 1173 00f0 ED91 ld r30,X+
1152 1174 00f2 FC91 ld r31,X
1153 1175 00f4 8685 ldd r24,Z+14
1154 1176 00f6 9785 ldd r25,Z+15
1155 1177 00f8 A089 ldd r26,Z+16
1156 1178 00fa B189 ldd r27,Z+17
1157 1179 00fc 4817 cp r20,r24
1158 1180 00fe 5907 cpc r21,r25
1159 1181 0100 6A07 cpc r22,r26
1160 1182 0102 7B07 cpc r23,r27
1161 1183 0104 00F4 brsh .L53
1163 1185 0106 CE19 sub r28,r14
1164 1186 0108 DF09 sbc r29,r15
1167 1189 010a F801 movw r30,r16
1168 1190 010c 8081 ld r24,Z
1169 1191 010e 9181 ldd r25,Z+1
1171 1193 0110 CE15 cp r28,r14
1172 1194 0112 DF05 cpc r29,r15
1173 1195 0114 00F4 brsh .L60
1175 1197 0116 D801 movw r26,r16
1176 1198 0118 1A96 adiw r26,10
1177 1199 011a 4D93 st X+,r20
1178 1200 011c 5D93 st X+,r21
1179 1201 011e 6D93 st X+,r22
1180 1202 0120 7C93 st X,r23
1181 1203 0122 1D97 sbiw r26,10+3
1183 1205 0124 0E94 0000 call clust2sect
1185 1207 0128 9E01 movw r18,r28
1186 1208 012a 44E0 ldi r20,4
1187 1209 012c 3695 1: lsr r19
1188 1210 012e 2795 ror r18
1189 1211 0130 4A95 dec r20
1190 1212 0132 01F4 brne 1b
1191 1213 0134 40E0 ldi r20,lo8(0)
1192 1214 0136 50E0 ldi r21,hi8(0)
1193 1215 0138 260F add r18,r22
1194 1216 013a 371F adc r19,r23
1195 1217 013c 481F adc r20,r24
1196 1218 013e 591F adc r21,r25
1197 1219 0140 F801 movw r30,r16
1198 1220 0142 2687 std Z+14,r18
1199 1221 0144 3787 std Z+15,r19
1200 1222 0146 408B std Z+16,r20
1201 1223 0148 518B std Z+17,r21
1205 1227 014a CF70 andi r28,lo8(15)
1206 1228 014c D070 andi r29,hi8(15)
1207 1229 014e 85E0 ldi r24,5
1208 1230 0150 CC0F 1: lsl r28
1209 1231 0152 DD1F rol r29
1210 1232 0154 8A95 dec r24
1211 1233 0156 01F4 brne 1b
1212 1234 0158 A296 adiw r28,34
1213 1235 015a D801 movw r26,r16
1214 1236 015c 8D91 ld r24,X+
1215 1237 015e 9C91 ld r25,X
1216 1238 0160 1197 sbiw r26,1
1217 1239 0162 8C0F add r24,r28
1218 1240 0164 9D1F adc r25,r29
1219 1241 0166 5396 adiw r26,18+1
1220 1242 0168 9C93 st X,r25
1221 1243 016a 8E93 st -X,r24
1222 1244 016c 5297 sbiw r26,18
1223 1245 016e 80E0 ldi r24,lo8(0)
1224 1246 0170 00C0 rjmp .L59
1228 1250 0172 82E0 ldi r24,lo8(2)
1230 1252 /* epilogue start */
1232 1254 0174 DF91 pop r29
1233 1255 0176 CF91 pop r28
1235 1257 0178 1F91 pop r17
1236 1258 017a 0F91 pop r16
1238 1260 017c FF90 pop r15
1240 1262 017e EF90 pop r14
1244 1267 .section .text.f_read,"ax",@progbits
1250 1274 0000 2F92 push r2
1251 1275 0002 3F92 push r3
1252 1276 0004 4F92 push r4
1253 1277 0006 5F92 push r5
1254 1278 0008 7F92 push r7
1255 1279 000a 8F92 push r8
1256 1280 000c 9F92 push r9
1257 1281 000e AF92 push r10
1258 1282 0010 BF92 push r11
1259 1283 0012 CF92 push r12
1260 1284 0014 DF92 push r13
1261 1285 0016 EF92 push r14
1262 1286 0018 FF92 push r15
1263 1287 001a 0F93 push r16
1264 1288 001c 1F93 push r17
1265 1289 001e CF93 push r28
1266 1290 0020 DF93 push r29
1267 1291 /* prologue: function */
1268 1292 /* frame size = 0 */
1269 1293 0022 EC01 movw r28,r24
1270 1294 0024 162F mov r17,r22
1271 1295 0026 072F mov r16,r23
1273 1297 0028 4A01 movw r8,r20
1274 1298 002a 1901 movw r2,r18
1276 1300 002c D901 movw r26,r18
1277 1301 002e 1D92 st X+,__zero_reg__
1278 1302 0030 1C92 st X,__zero_reg__
1280 1304 0032 6A81 ldd r22,Y+2
1281 1305 0034 7B81 ldd r23,Y+3
1283 1307 0036 8881 ld r24,Y
1284 1308 0038 9981 ldd r25,Y+1
1286 1310 003a 0E94 0000 call validate
1288 1312 003e 782E mov r7,r24
1291 1315 0040 8823 tst r24
1292 1316 0042 01F0 breq .+2
1293 1317 0044 00C0 rjmp .L63
1296 1320 0046 8C81 ldd r24,Y+4
1298 1322 0048 87FD sbrc r24,7
1299 1323 004a 00C0 rjmp .L85
1302 1326 004c 80FD sbrc r24,0
1303 1327 004e 00C0 rjmp .L65
1304 1328 0050 27E0 ldi r18,lo8(7)
1305 1329 0052 722E mov r7,r18
1306 1330 0054 00C0 rjmp .L63
1309 1333 0056 2A85 ldd r18,Y+10
1310 1334 0058 3B85 ldd r19,Y+11
1311 1335 005a 4C85 ldd r20,Y+12
1312 1336 005c 5D85 ldd r21,Y+13
1314 1338 005e 8E81 ldd r24,Y+6
1315 1339 0060 9F81 ldd r25,Y+7
1316 1340 0062 A885 ldd r26,Y+8
1317 1341 0064 B985 ldd r27,Y+9
1318 1342 0066 281B sub r18,r24
1319 1343 0068 390B sbc r19,r25
1320 1344 006a 4A0B sbc r20,r26
1321 1345 006c 5B0B sbc r21,r27
1323 1347 006e C401 movw r24,r8
1324 1348 0070 A0E0 ldi r26,lo8(0)
1325 1349 0072 B0E0 ldi r27,hi8(0)
1327 1351 0074 2817 cp r18,r24
1328 1352 0076 3907 cpc r19,r25
1329 1353 0078 4A07 cpc r20,r26
1330 1354 007a 5B07 cpc r21,r27
1331 1355 007c 00F4 brsh .L66
1333 1357 007e 4901 movw r8,r18
1337 1361 0080 812F mov r24,r17
1339 1363 0082 902F mov r25,r16
1341 1365 0084 9C01 movw r18,r24
1343 1367 0086 2901 movw r4,r18
1345 1369 0088 00C0 rjmp .L67
1349 1373 008a 2E81 ldd r18,Y+6
1350 1374 008c 3F81 ldd r19,Y+7
1351 1375 008e 4885 ldd r20,Y+8
1352 1376 0090 5985 ldd r21,Y+9
1353 1377 0092 DA01 movw r26,r20
1354 1378 0094 C901 movw r24,r18
1355 1379 0096 9170 andi r25,hi8(511)
1356 1380 0098 A070 andi r26,hlo8(511)
1357 1381 009a B070 andi r27,hhi8(511)
1358 1382 009c 0097 sbiw r24,0
1359 1383 009e A105 cpc r26,__zero_reg__
1360 1384 00a0 B105 cpc r27,__zero_reg__
1361 1385 00a2 01F0 breq .+2
1362 1386 00a4 00C0 rjmp .L68
1364 1388 00a6 E881 ld r30,Y
1365 1389 00a8 F981 ldd r31,Y+1
1367 1391 00aa 9D81 ldd r25,Y+5
1369 1393 00ac 8281 ldd r24,Z+2
1370 1394 00ae 9817 cp r25,r24
1371 1395 00b0 00F0 brlo .L69
1373 1397 00b2 2115 cp r18,__zero_reg__
1374 1398 00b4 3105 cpc r19,__zero_reg__
1375 1399 00b6 4105 cpc r20,__zero_reg__
1376 1400 00b8 5105 cpc r21,__zero_reg__
1377 1401 00ba 01F4 brne .L70
1378 1402 00bc 6E85 ldd r22,Y+14
1379 1403 00be 7F85 ldd r23,Y+15
1380 1404 00c0 8889 ldd r24,Y+16
1381 1405 00c2 9989 ldd r25,Y+17
1383 1407 00c4 00C0 rjmp .L71
1386 1410 00c6 4A89 ldd r20,Y+18
1387 1411 00c8 5B89 ldd r21,Y+19
1388 1412 00ca 6C89 ldd r22,Y+20
1389 1413 00cc 7D89 ldd r23,Y+21
1390 1414 00ce CF01 movw r24,r30
1391 1415 00d0 0E94 0000 call get_fat
1395 1419 00d4 6230 cpi r22,lo8(2)
1396 1420 00d6 7105 cpc r23,__zero_reg__
1397 1421 00d8 8105 cpc r24,__zero_reg__
1398 1422 00da 9105 cpc r25,__zero_reg__
1399 1423 00dc 00F4 brsh .L72
1402 1426 00de 8C81 ldd r24,Y+4
1403 1427 00e0 8068 ori r24,lo8(-128)
1404 1428 00e2 8C83 std Y+4,r24
1406 1430 00e4 92E0 ldi r25,lo8(2)
1407 1431 00e6 792E mov r7,r25
1408 1432 00e8 00C0 rjmp .L63
1412 1436 00ea 6F3F cpi r22,lo8(-1)
1413 1437 00ec BFEF ldi r27,hi8(-1)
1414 1438 00ee 7B07 cpc r23,r27
1415 1439 00f0 BFEF ldi r27,hlo8(-1)
1416 1440 00f2 8B07 cpc r24,r27
1417 1441 00f4 BFEF ldi r27,hhi8(-1)
1418 1442 00f6 9B07 cpc r25,r27
1419 1443 00f8 01F4 brne .+2
1420 1444 00fa 00C0 rjmp .L86
1423 1447 00fc 6A8B std Y+18,r22
1424 1448 00fe 7B8B std Y+19,r23
1425 1449 0100 8C8B std Y+20,r24
1426 1450 0102 9D8B std Y+21,r25
1428 1452 0104 1D82 std Y+5,__zero_reg__
1432 1456 0106 0881 ld r16,Y
1433 1457 0108 1981 ldd r17,Y+1
1435 1459 010a 4A89 ldd r20,Y+18
1436 1460 010c 5B89 ldd r21,Y+19
1437 1461 010e 6C89 ldd r22,Y+20
1438 1462 0110 7D89 ldd r23,Y+21
1439 1463 0112 C801 movw r24,r16
1440 1464 0114 0E94 0000 call clust2sect
1443 1467 0118 6115 cp r22,__zero_reg__
1444 1468 011a 7105 cpc r23,__zero_reg__
1445 1469 011c 8105 cpc r24,__zero_reg__
1446 1470 011e 9105 cpc r25,__zero_reg__
1447 1471 0120 01F0 breq .L87
1451 1475 0122 ED81 ldd r30,Y+5
1452 1476 0124 5B01 movw r10,r22
1453 1477 0126 6C01 movw r12,r24
1454 1478 0128 AE0E add r10,r30
1455 1479 012a B11C adc r11,__zero_reg__
1456 1480 012c C11C adc r12,__zero_reg__
1457 1481 012e D11C adc r13,__zero_reg__
1460 1484 0130 7401 movw r14,r8
1461 1485 0132 EF2C mov r14,r15
1462 1486 0134 FF24 clr r15
1463 1487 0136 E694 lsr r14
1465 1489 0138 E114 cp r14,__zero_reg__
1466 1490 013a F104 cpc r15,__zero_reg__
1467 1491 013c 01F0 breq .L75
1469 1493 013e D801 movw r26,r16
1470 1494 0140 1296 adiw r26,2
1471 1495 0142 2C91 ld r18,X
1472 1496 0144 F0E0 ldi r31,lo8(0)
1473 1497 0146 C701 movw r24,r14
1474 1498 0148 8E0F add r24,r30
1475 1499 014a 9F1F adc r25,r31
1476 1500 014c 622F mov r22,r18
1477 1501 014e 70E0 ldi r23,lo8(0)
1478 1502 0150 6817 cp r22,r24
1479 1503 0152 7907 cpc r23,r25
1480 1504 0154 00F4 brsh .L76
1482 1506 0156 7B01 movw r14,r22
1483 1507 0158 EE1A sub r14,r30
1484 1508 015a FF0A sbc r15,r31
1487 1511 015c F801 movw r30,r16
1488 1512 015e 8181 ldd r24,Z+1
1489 1513 0160 B201 movw r22,r4
1490 1514 0162 A601 movw r20,r12
1491 1515 0164 9501 movw r18,r10
1492 1516 0166 0E2D mov r16,r14
1493 1517 0168 0E94 0000 call disk_read
1494 1518 016c 8823 tst r24
1495 1519 016e 01F4 brne .L86
1498 1522 0170 8D81 ldd r24,Y+5
1499 1523 0172 8E0D add r24,r14
1500 1524 0174 8D83 std Y+5,r24
1502 1526 0176 B701 movw r22,r14
1504 1528 0178 762F mov r23,r22
1505 1529 017a 6627 clr r22
1506 1530 017c 770F lsl r23
1507 1531 017e 00C0 rjmp .L78
1511 1535 0180 AE8A std Y+22,r10
1512 1536 0182 BF8A std Y+23,r11
1513 1537 0184 C88E std Y+24,r12
1514 1538 0186 D98E std Y+25,r13
1516 1540 0188 EF5F subi r30,lo8(-(1))
1517 1541 018a ED83 std Y+5,r30
1521 1545 018c EE80 ldd r14,Y+6
1522 1546 018e FF80 ldd r15,Y+7
1523 1547 0190 0885 ldd r16,Y+8
1524 1548 0192 1985 ldd r17,Y+9
1527 1551 0194 4E89 ldd r20,Y+22
1528 1552 0196 5F89 ldd r21,Y+23
1529 1553 0198 688D ldd r22,Y+24
1530 1554 019a 798D ldd r23,Y+25
1531 1555 019c 8881 ld r24,Y
1532 1556 019e 9981 ldd r25,Y+1
1533 1557 01a0 0E94 0000 call move_window
1535 1559 01a4 8823 tst r24
1536 1560 01a6 01F0 breq .L79
1540 1564 01a8 8C81 ldd r24,Y+4
1541 1565 01aa 8068 ori r24,lo8(-128)
1542 1566 01ac 8C83 std Y+4,r24
1543 1567 01ae 7724 clr r7
1544 1568 01b0 7394 inc r7
1545 1569 01b2 00C0 rjmp .L63
1549 1573 01b4 C701 movw r24,r14
1550 1574 01b6 9170 andi r25,hi8(511)
1551 1575 01b8 20E0 ldi r18,lo8(512)
1552 1576 01ba 32E0 ldi r19,hi8(512)
1553 1577 01bc 281B sub r18,r24
1554 1578 01be 390B sbc r19,r25
1555 1579 01c0 B401 movw r22,r8
1557 1581 01c2 2815 cp r18,r8
1558 1582 01c4 3905 cpc r19,r9
1559 1583 01c6 00F4 brsh .L80
1561 1585 01c8 B901 movw r22,r18
1564 1588 01ca 9B01 movw r18,r22
1569 1593 01cc 8E81 ldd r24,Y+6
1570 1594 01ce 9F81 ldd r25,Y+7
1571 1595 01d0 9170 andi r25,hi8(511)
1572 1596 01d2 8296 adiw r24,34
1573 1597 01d4 E881 ld r30,Y
1574 1598 01d6 F981 ldd r31,Y+1
1576 1600 01d8 E80F add r30,r24
1577 1601 01da F91F adc r31,r25
1578 1602 01dc D201 movw r26,r4
1579 1603 01de 00C0 rjmp .L81
1583 1607 01e0 8191 ld r24,Z+
1584 1608 01e2 8D93 st X+,r24
1586 1610 01e4 2150 subi r18,lo8(-(-1))
1587 1611 01e6 3040 sbci r19,hi8(-(-1))
1588 1612 01e8 8FEF ldi r24,hi8(-1)
1589 1613 01ea 2F3F cpi r18,lo8(-1)
1590 1614 01ec 3807 cpc r19,r24
1591 1615 01ee 01F4 brne .L82
1597 1621 01f0 460E add r4,r22
1598 1622 01f2 571E adc r5,r23
1599 1623 01f4 CB01 movw r24,r22
1600 1624 01f6 A0E0 ldi r26,lo8(0)
1601 1625 01f8 B0E0 ldi r27,hi8(0)
1603 1627 01fa 2E81 ldd r18,Y+6
1604 1628 01fc 3F81 ldd r19,Y+7
1605 1629 01fe 4885 ldd r20,Y+8
1606 1630 0200 5985 ldd r21,Y+9
1608 1632 0202 280F add r18,r24
1609 1633 0204 391F adc r19,r25
1610 1634 0206 4A1F adc r20,r26
1611 1635 0208 5B1F adc r21,r27
1612 1636 020a 2E83 std Y+6,r18
1613 1637 020c 3F83 std Y+7,r19
1614 1638 020e 4887 std Y+8,r20
1615 1639 0210 5987 std Y+9,r21
1616 1640 0212 D101 movw r26,r2
1618 1642 0214 8D91 ld r24,X+
1619 1643 0216 9C91 ld r25,X
1620 1644 0218 1197 sbiw r26,1
1621 1645 021a 860F add r24,r22
1622 1646 021c 971F adc r25,r23
1623 1647 021e 8D93 st X+,r24
1624 1648 0220 9C93 st X,r25
1625 1649 0222 861A sub r8,r22
1626 1650 0224 970A sbc r9,r23
1630 1654 0226 8114 cp r8,__zero_reg__
1631 1655 0228 9104 cpc r9,__zero_reg__
1632 1656 022a 01F0 breq .+2
1633 1657 022c 00C0 rjmp .L83
1637 1661 022e 872D mov r24,r7
1638 1662 /* epilogue start */
1639 1663 0230 DF91 pop r29
1640 1664 0232 CF91 pop r28
1642 1666 0234 1F91 pop r17
1644 1668 0236 0F91 pop r16
1646 1670 0238 FF90 pop r15
1647 1671 023a EF90 pop r14
1649 1673 023c DF90 pop r13
1650 1674 023e CF90 pop r12
1651 1675 0240 BF90 pop r11
1652 1676 0242 AF90 pop r10
1654 1678 0244 9F90 pop r9
1655 1679 0246 8F90 pop r8
1657 1681 0248 7F90 pop r7
1659 1683 024a 5F90 pop r5
1660 1684 024c 4F90 pop r4
1662 1686 024e 3F90 pop r3
1663 1687 0250 2F90 pop r2
1667 1692 .section .text.check_fs,"ax",@progbits
1672 1698 0000 0F93 push r16
1673 1699 0002 CF93 push r28
1674 1700 0004 DF93 push r29
1675 1701 /* prologue: function */
1676 1702 /* frame size = 0 */
1677 1703 0006 EC01 movw r28,r24
1678 1704 0008 9A01 movw r18,r20
1679 1705 000a AB01 movw r20,r22
1681 1707 000c BC01 movw r22,r24
1682 1708 000e 6E5D subi r22,lo8(-(34))
1683 1709 0010 7F4F sbci r23,hi8(-(34))
1684 1710 0012 8981 ldd r24,Y+1
1686 1712 0014 01E0 ldi r16,lo8(1)
1687 1713 0016 0E94 0000 call disk_read
1689 1715 001a 8823 tst r24
1690 1716 001c 01F0 breq .L89
1691 1717 001e 23E0 ldi r18,lo8(3)
1692 1718 0020 00C0 rjmp .L90
1695 1721 0022 C05E subi r28,lo8(-(544))
1696 1722 0024 DD4F sbci r29,hi8(-(544))
1697 1723 0026 8881 ld r24,Y
1698 1724 0028 9981 ldd r25,Y+1
1699 1725 002a C052 subi r28,lo8(-(-544))
1700 1726 002c D240 sbci r29,hi8(-(-544))
1701 1727 002e 8555 subi r24,lo8(-21931)
1702 1728 0030 9A4A sbci r25,hi8(-21931)
1703 1729 0032 01F0 breq .L91
1704 1730 0034 22E0 ldi r18,lo8(2)
1705 1731 0036 00C0 rjmp .L90
1708 1734 0038 C85A subi r28,lo8(-(88))
1709 1735 003a DF4F sbci r29,hi8(-(88))
1710 1736 003c 8881 ld r24,Y
1711 1737 003e 9981 ldd r25,Y+1
1712 1738 0040 AA81 ldd r26,Y+2
1713 1739 0042 BB81 ldd r27,Y+3
1714 1740 0044 C855 subi r28,lo8(-(-88))
1715 1741 0046 D040 sbci r29,hi8(-(-88))
1716 1742 0048 B070 andi r27,hhi8(16777215)
1717 1743 004a 8654 subi r24,lo8(5521734)
1718 1744 004c 9144 sbci r25,hi8(5521734)
1719 1745 004e A445 sbci r26,hlo8(5521734)
1720 1746 0050 B040 sbci r27,hhi8(5521734)
1721 1747 0052 01F4 brne .L92
1722 1748 0054 20E0 ldi r18,lo8(0)
1723 1749 0056 00C0 rjmp .L90
1725 1751 0058 20E0 ldi r18,lo8(0)
1726 1752 005a CC58 subi r28,lo8(-(116))
1727 1753 005c DF4F sbci r29,hi8(-(116))
1728 1754 005e 8881 ld r24,Y
1729 1755 0060 9981 ldd r25,Y+1
1730 1756 0062 AA81 ldd r26,Y+2
1731 1757 0064 BB81 ldd r27,Y+3
1732 1758 0066 B070 andi r27,hhi8(16777215)
1733 1759 0068 8654 subi r24,lo8(5521734)
1734 1760 006a 9144 sbci r25,hi8(5521734)
1735 1761 006c A445 sbci r26,hlo8(5521734)
1736 1762 006e B040 sbci r27,hhi8(5521734)
1737 1763 0070 01F0 breq .L90
1738 1764 0072 21E0 ldi r18,lo8(1)
1741 1767 0074 822F mov r24,r18
1742 1768 /* epilogue start */
1743 1769 0076 DF91 pop r29
1744 1770 0078 CF91 pop r28
1746 1772 007a 0F91 pop r16
1749 1776 .section .text.chk_mounted,"ax",@progbits
1750 1777 .global chk_mounted
1755 1783 0000 AF92 push r10
1756 1784 0002 BF92 push r11
1757 1785 0004 CF92 push r12
1758 1786 0006 DF92 push r13
1759 1787 0008 EF92 push r14
1760 1788 000a FF92 push r15
1761 1789 000c 0F93 push r16
1762 1790 000e 1F93 push r17
1763 1791 0010 CF93 push r28
1764 1792 0012 DF93 push r29
1765 1793 /* prologue: function */
1766 1794 /* frame size = 0 */
1767 1795 0014 DC01 movw r26,r24
1768 1796 0016 AB01 movw r20,r22
1771 1799 0018 ED91 ld r30,X+
1772 1800 001a FC91 ld r31,X
1773 1801 001c 1197 sbiw r26,1
1776 1804 001e 8081 ld r24,Z
1778 1806 0020 282F mov r18,r24
1780 1808 0022 30E0 ldi r19,lo8(0)
1782 1810 0024 2053 subi r18,lo8(-(-48))
1783 1811 0026 3040 sbci r19,hi8(-(-48))
1786 1814 0028 2A30 cpi r18,10
1787 1815 002a 3105 cpc r19,__zero_reg__
1788 1816 002c 00F4 brsh .L96
1790 1818 002e 8181 ldd r24,Z+1
1791 1819 0030 8A33 cpi r24,lo8(58)
1792 1820 0032 01F4 brne .L96
1794 1822 0034 3296 adiw r30,2
1795 1823 0036 ED93 st X+,r30
1796 1824 0038 FC93 st X,r31
1798 1826 003a 232B or r18,r19
1799 1827 003c 01F0 breq .L96
1800 1828 003e 8BE0 ldi r24,lo8(11)
1801 1829 0040 00C0 rjmp .L97
1804 1832 0042 C091 0000 lds r28,FatFs
1805 1833 0046 D091 0000 lds r29,(FatFs)+1
1807 1835 004a FA01 movw r30,r20
1809 1837 004c D183 std Z+1,r29
1810 1838 004e C083 st Z,r28
1812 1840 0050 2097 sbiw r28,0
1813 1841 0052 01F4 brne .L98
1814 1842 0054 8CE0 ldi r24,lo8(12)
1815 1843 0056 00C0 rjmp .L97
1818 1846 0058 8881 ld r24,Y
1819 1847 005a 8823 tst r24
1820 1848 005c 01F0 breq .L99
1822 1850 005e 8981 ldd r24,Y+1
1823 1851 0060 0E94 0000 call disk_status
1826 1854 0064 80FF sbrs r24,0
1827 1855 0066 00C0 rjmp .L112
1831 1859 0068 1882 st Y,__zero_reg__
1833 1861 006a 1982 std Y+1,__zero_reg__
1835 1863 006c 80E0 ldi r24,lo8(0)
1836 1864 006e 0E94 0000 call disk_initialize
1839 1867 0072 80FF sbrs r24,0
1840 1868 0074 00C0 rjmp .L100
1841 1869 0076 83E0 ldi r24,lo8(3)
1842 1870 0078 00C0 rjmp .L97
1845 1873 007a CE01 movw r24,r28
1846 1874 007c 40E0 ldi r20,lo8(0)
1847 1875 007e 50E0 ldi r21,hi8(0)
1848 1876 0080 60E0 ldi r22,hlo8(0)
1849 1877 0082 70E0 ldi r23,hhi8(0)
1850 1878 0084 0E94 0000 call check_fs
1852 1880 0088 8130 cpi r24,lo8(1)
1854 1882 008a 01F0 breq .L101
1855 1883 008c EE24 clr r14
1856 1884 008e FF24 clr r15
1857 1885 0090 8701 movw r16,r14
1859 1887 0092 00C0 rjmp .L102
1863 1891 0094 FE01 movw r30,r28
1865 1893 0096 E052 subi r30,lo8(-(480))
1866 1894 0098 FE4F sbci r31,hi8(-(480))
1868 1896 009a 8481 ldd r24,Z+4
1870 1898 009c 8823 tst r24
1871 1899 009e 01F4 brne .+2
1872 1900 00a0 00C0 rjmp .L103
1874 1902 00a2 E084 ldd r14,Z+8
1875 1903 00a4 F184 ldd r15,Z+9
1876 1904 00a6 0285 ldd r16,Z+10
1877 1905 00a8 1385 ldd r17,Z+11
1880 1908 00aa CE01 movw r24,r28
1881 1909 00ac B801 movw r22,r16
1882 1910 00ae A701 movw r20,r14
1883 1911 00b0 0E94 0000 call check_fs
1887 1915 00b4 8330 cpi r24,lo8(3)
1888 1916 00b6 01F4 brne .L104
1889 1917 00b8 81E0 ldi r24,lo8(1)
1891 1919 00ba 00C0 rjmp .L97
1895 1923 00bc 8823 tst r24
1896 1924 00be 01F0 breq .+2
1897 1925 00c0 00C0 rjmp .L103
1898 1926 00c2 8DA5 ldd r24,Y+45
1899 1927 00c4 9EA5 ldd r25,Y+46
1901 1929 00c6 8050 subi r24,lo8(512)
1902 1930 00c8 9240 sbci r25,hi8(512)
1903 1931 00ca 01F0 breq .+2
1904 1932 00cc 00C0 rjmp .L103
1906 1934 00ce 88AD ldd r24,Y+56
1907 1935 00d0 99AD ldd r25,Y+57
1908 1936 00d2 BC01 movw r22,r24
1910 1938 00d4 80E0 ldi r24,lo8(0)
1911 1939 00d6 90E0 ldi r25,hi8(0)
1914 1942 00d8 6115 cp r22,__zero_reg__
1915 1943 00da 7105 cpc r23,__zero_reg__
1916 1944 00dc 8105 cpc r24,__zero_reg__
1917 1945 00de 9105 cpc r25,__zero_reg__
1918 1946 00e0 01F4 brne .L105
1919 1947 00e2 CA5B subi r28,lo8(-(70))
1920 1948 00e4 DF4F sbci r29,hi8(-(70))
1921 1949 00e6 6881 ld r22,Y
1922 1950 00e8 7981 ldd r23,Y+1
1923 1951 00ea 8A81 ldd r24,Y+2
1924 1952 00ec 9B81 ldd r25,Y+3
1926 1954 00ee C654 subi r28,lo8(-(-70))
1927 1955 00f0 D040 sbci r29,hi8(-(-70))
1930 1958 00f2 6A87 std Y+10,r22
1931 1959 00f4 7B87 std Y+11,r23
1932 1960 00f6 8C87 std Y+12,r24
1933 1961 00f8 9D87 std Y+13,r25
1935 1963 00fa 2AA9 ldd r18,Y+50
1936 1964 00fc 2B83 std Y+3,r18
1938 1966 00fe 30E0 ldi r19,lo8(0)
1939 1967 0100 40E0 ldi r20,lo8(0)
1940 1968 0102 50E0 ldi r21,hi8(0)
1941 1969 0104 0E94 0000 call __mulsi3
1943 1971 0108 5B01 movw r10,r22
1944 1972 010a 6C01 movw r12,r24
1947 1975 010c 88A9 ldd r24,Y+48
1948 1976 010e 99A9 ldd r25,Y+49
1950 1978 0110 A0E0 ldi r26,lo8(0)
1951 1979 0112 B0E0 ldi r27,hi8(0)
1952 1980 0114 E80E add r14,r24
1953 1981 0116 F91E adc r15,r25
1954 1982 0118 0A1F adc r16,r26
1955 1983 011a 1B1F adc r17,r27
1956 1984 011c EA8A std Y+18,r14
1957 1985 011e FB8A std Y+19,r15
1958 1986 0120 0C8B std Y+20,r16
1959 1987 0122 1D8B std Y+21,r17
1961 1989 0124 8FA5 ldd r24,Y+47
1962 1990 0126 8A83 std Y+2,r24
1964 1992 0128 2BA9 ldd r18,Y+51
1965 1993 012a 3CA9 ldd r19,Y+52
1966 1994 012c 3987 std Y+9,r19
1967 1995 012e 2887 std Y+8,r18
1969 1997 0130 8DA9 ldd r24,Y+53
1970 1998 0132 9EA9 ldd r25,Y+54
1971 1999 0134 7C01 movw r14,r24
1973 2001 0136 00E0 ldi r16,lo8(0)
1974 2002 0138 10E0 ldi r17,hi8(0)
1977 2005 013a E114 cp r14,__zero_reg__
1978 2006 013c F104 cpc r15,__zero_reg__
1979 2007 013e 0105 cpc r16,__zero_reg__
1980 2008 0140 1105 cpc r17,__zero_reg__
1981 2009 0142 01F4 brne .L106
1982 2010 0144 CE5B subi r28,lo8(-(66))
1983 2011 0146 DF4F sbci r29,hi8(-(66))
1984 2012 0148 E880 ld r14,Y
1985 2013 014a F980 ldd r15,Y+1
1986 2014 014c 0A81 ldd r16,Y+2
1987 2015 014e 1B81 ldd r17,Y+3
1989 2017 0150 C254 subi r28,lo8(-(-66))
1990 2018 0152 D040 sbci r29,hi8(-(-66))
1993 2021 0154 88A9 ldd r24,Y+48
1994 2022 0156 99A9 ldd r25,Y+49
1995 2023 0158 A0E0 ldi r26,lo8(0)
1996 2024 015a B0E0 ldi r27,hi8(0)
1997 2025 015c E81A sub r14,r24
1998 2026 015e F90A sbc r15,r25
1999 2027 0160 0A0B sbc r16,r26
2000 2028 0162 1B0B sbc r17,r27
2002 2030 0164 EA18 sub r14,r10
2003 2031 0166 FB08 sbc r15,r11
2004 2032 0168 0C09 sbc r16,r12
2005 2033 016a 1D09 sbc r17,r13
2006 2034 016c 44E0 ldi r20,4
2007 2035 016e 3695 1: lsr r19
2008 2036 0170 2795 ror r18
2009 2037 0172 4A95 dec r20
2010 2038 0174 01F4 brne 1b
2011 2039 0176 C901 movw r24,r18
2012 2040 0178 A0E0 ldi r26,lo8(0)
2013 2041 017a B0E0 ldi r27,hi8(0)
2014 2042 017c E81A sub r14,r24
2015 2043 017e F90A sbc r15,r25
2016 2044 0180 0A0B sbc r16,r26
2017 2045 0182 1B0B sbc r17,r27
2018 2046 0184 2A81 ldd r18,Y+2
2019 2047 0186 30E0 ldi r19,lo8(0)
2020 2048 0188 40E0 ldi r20,lo8(0)
2021 2049 018a 50E0 ldi r21,hi8(0)
2022 2050 018c C801 movw r24,r16
2023 2051 018e B701 movw r22,r14
2024 2052 0190 0E94 0000 call __udivmodsi4
2025 2053 0194 2E5F subi r18,lo8(-(2))
2026 2054 0196 3F4F sbci r19,hi8(-(2))
2027 2055 0198 4F4F sbci r20,hlo8(-(2))
2028 2056 019a 5F4F sbci r21,hhi8(-(2))
2030 2058 019c 2E87 std Y+14,r18
2031 2059 019e 3F87 std Y+15,r19
2032 2060 01a0 488B std Y+16,r20
2033 2061 01a2 598B std Y+17,r21
2035 2063 01a4 273F cpi r18,lo8(4087)
2036 2064 01a6 8FE0 ldi r24,hi8(4087)
2037 2065 01a8 3807 cpc r19,r24
2038 2066 01aa 80E0 ldi r24,hlo8(4087)
2039 2067 01ac 4807 cpc r20,r24
2040 2068 01ae 80E0 ldi r24,hhi8(4087)
2041 2069 01b0 5807 cpc r21,r24
2042 2070 01b2 00F4 brsh .L107
2043 2071 01b4 61E0 ldi r22,lo8(1)
2045 2073 01b6 00C0 rjmp .L108
2049 2077 01b8 275F subi r18,lo8(65527)
2050 2078 01ba 3F4F sbci r19,hi8(65527)
2051 2079 01bc 4040 sbci r20,hlo8(65527)
2052 2080 01be 5040 sbci r21,hhi8(65527)
2053 2081 01c0 00F0 brlo .+2
2054 2082 01c2 00C0 rjmp .L109
2055 2083 01c4 62E0 ldi r22,lo8(2)
2059 2087 01c6 8A89 ldd r24,Y+18
2060 2088 01c8 9B89 ldd r25,Y+19
2061 2089 01ca AC89 ldd r26,Y+20
2062 2090 01cc BD89 ldd r27,Y+21
2063 2091 01ce 8A0D add r24,r10
2064 2092 01d0 9B1D adc r25,r11
2065 2093 01d2 AC1D adc r26,r12
2066 2094 01d4 BD1D adc r27,r13
2067 2095 01d6 8E8B std Y+22,r24
2068 2096 01d8 9F8B std Y+23,r25
2069 2097 01da A88F std Y+24,r26
2070 2098 01dc B98F std Y+25,r27
2073 2101 01de 8885 ldd r24,Y+8
2074 2102 01e0 9985 ldd r25,Y+9
2075 2103 01e2 34E0 ldi r19,4
2076 2104 01e4 9695 1: lsr r25
2077 2105 01e6 8795 ror r24
2078 2106 01e8 3A95 dec r19
2079 2107 01ea 01F4 brne 1b
2080 2108 01ec A0E0 ldi r26,lo8(0)
2081 2109 01ee B0E0 ldi r27,hi8(0)
2082 2110 01f0 2A89 ldd r18,Y+18
2083 2111 01f2 3B89 ldd r19,Y+19
2084 2112 01f4 4C89 ldd r20,Y+20
2085 2113 01f6 5D89 ldd r21,Y+21
2087 2115 01f8 820F add r24,r18
2088 2116 01fa 931F adc r25,r19
2089 2117 01fc A41F adc r26,r20
2090 2118 01fe B51F adc r27,r21
2091 2119 0200 8A0D add r24,r10
2092 2120 0202 9B1D adc r25,r11
2093 2121 0204 AC1D adc r26,r12
2094 2122 0206 BD1D adc r27,r13
2095 2123 0208 8A8F std Y+26,r24
2096 2124 020a 9B8F std Y+27,r25
2097 2125 020c AC8F std Y+28,r26
2098 2126 020e BD8F std Y+29,r27
2100 2128 0210 6883 st Y,r22
2102 2130 0212 1E8E std Y+30,__zero_reg__
2103 2131 0214 1F8E std Y+31,__zero_reg__
2104 2132 0216 18A2 std Y+32,__zero_reg__
2105 2133 0218 19A2 std Y+33,__zero_reg__
2107 2135 021a 8091 0000 lds r24,Fsid
2108 2136 021e 9091 0000 lds r25,(Fsid)+1
2109 2137 0222 0196 adiw r24,1
2110 2138 0224 9093 0000 sts (Fsid)+1,r25
2111 2139 0228 8093 0000 sts Fsid,r24
2112 2140 022c 9F83 std Y+7,r25
2113 2141 022e 8E83 std Y+6,r24
2115 2143 0230 80E0 ldi r24,lo8(0)
2116 2144 0232 00C0 rjmp .L97
2120 2148 0234 8DE0 ldi r24,lo8(13)
2123 2151 /* epilogue start */
2125 2153 0236 DF91 pop r29
2126 2154 0238 CF91 pop r28
2128 2156 023a 1F91 pop r17
2129 2157 023c 0F91 pop r16
2131 2159 023e FF90 pop r15
2132 2160 0240 EF90 pop r14
2134 2162 0242 DF90 pop r13
2135 2163 0244 CF90 pop r12
2136 2164 0246 BF90 pop r11
2137 2165 0248 AF90 pop r10
2143 2171 024c C25B subi r28,lo8(-(78))
2144 2172 024e DF4F sbci r29,hi8(-(78))
2145 2173 0250 8881 ld r24,Y
2146 2174 0252 9981 ldd r25,Y+1
2147 2175 0254 AA81 ldd r26,Y+2
2148 2176 0256 BB81 ldd r27,Y+3
2149 2177 0258 CE54 subi r28,lo8(-(-78))
2150 2178 025a D040 sbci r29,hi8(-(-78))
2151 2179 025c 8E8B std Y+22,r24
2152 2180 025e 9F8B std Y+23,r25
2153 2181 0260 A88F std Y+24,r26
2154 2182 0262 B98F std Y+25,r27
2155 2183 0264 63E0 ldi r22,lo8(3)
2157 2185 0266 00C0 rjmp .L110
2161 2190 0000 2022 2A2B .string " \"*+,[=]|\177"
2164 2191 .section .text.f_open,"ax",@progbits
2170 2198 0000 3F92 push r3
2171 2199 0002 4F92 push r4
2172 2200 0004 5F92 push r5
2173 2201 0006 6F92 push r6
2174 2202 0008 7F92 push r7
2175 2203 000a 8F92 push r8
2176 2204 000c 9F92 push r9
2177 2205 000e AF92 push r10
2178 2206 0010 BF92 push r11
2179 2207 0012 CF92 push r12
2180 2208 0014 DF92 push r13
2181 2209 0016 EF92 push r14
2182 2210 0018 FF92 push r15
2183 2211 001a 0F93 push r16
2184 2212 001c 1F93 push r17
2185 2213 001e DF93 push r29
2186 2214 0020 CF93 push r28
2187 2215 0022 CDB7 in r28,__SP_L__
2188 2216 0024 DEB7 in r29,__SP_H__
2189 2217 0026 A497 sbiw r28,36
2190 2218 0028 0FB6 in __tmp_reg__,__SREG__
2192 2220 002c DEBF out __SP_H__,r29
2193 2221 002e 0FBE out __SREG__,__tmp_reg__
2194 2222 0030 CDBF out __SP_L__,r28
2195 2223 /* prologue: function */
2196 2224 /* frame size = 36 */
2197 2225 0032 4C01 movw r8,r24
2198 2226 0034 7CA3 std Y+36,r23
2199 2227 0036 6BA3 std Y+35,r22
2200 2228 0038 742E mov r7,r20
2202 2230 003a DC01 movw r26,r24
2203 2231 003c 1D92 st X+,__zero_reg__
2204 2232 003e 1C92 st X,__zero_reg__
2206 2234 0040 CE01 movw r24,r28
2208 2236 0042 8396 adiw r24,35
2209 2237 0044 BE01 movw r22,r28
2211 2239 0046 635F subi r22,lo8(-(13))
2212 2240 0048 7F4F sbci r23,hi8(-(13))
2213 2241 004a 40E0 ldi r20,lo8(0)
2215 2243 004c 0E94 0000 call chk_mounted
2217 2245 0050 8823 tst r24
2219 2247 0052 01F0 breq .+2
2220 2248 0054 00C0 rjmp .L115
2222 2250 0056 CE01 movw r24,r28
2224 2252 0058 0196 adiw r24,1
2225 2253 005a 9AA3 std Y+34,r25
2226 2254 005c 89A3 std Y+33,r24
2228 2256 005e CBA0 ldd r12,Y+35
2229 2257 0060 DCA0 ldd r13,Y+36
2231 2259 0062 00C0 rjmp .L116
2237 2265 0066 C11C adc r12,__zero_reg__
2238 2266 0068 D11C adc r13,__zero_reg__
2240 2268 006a F601 movw r30,r12
2241 2269 006c 8081 ld r24,Z
2242 2270 006e 8032 cpi r24,lo8(32)
2243 2271 0070 01F0 breq .L117
2245 2273 0072 8F32 cpi r24,lo8(47)
2246 2274 0074 01F0 breq .L118
2247 2275 0076 8C35 cpi r24,lo8(92)
2248 2276 0078 01F4 brne .L119
2252 2280 007c C11C adc r12,__zero_reg__
2253 2281 007e D11C adc r13,__zero_reg__
2256 2284 0080 1B8A std Y+19,__zero_reg__
2257 2285 0082 1C8A std Y+20,__zero_reg__
2258 2286 0084 1D8A std Y+21,__zero_reg__
2259 2287 0086 1E8A std Y+22,__zero_reg__
2261 2289 0088 D601 movw r26,r12
2262 2290 008a 8C91 ld r24,X
2263 2291 008c 8032 cpi r24,lo8(32)
2264 2292 008e 00F4 brsh .L120
2267 2295 0090 CE01 movw r24,r28
2268 2296 0092 0D96 adiw r24,13
2269 2297 0094 60E0 ldi r22,lo8(0)
2270 2298 0096 70E0 ldi r23,hi8(0)
2271 2299 0098 0E94 0000 call dir_seek
2274 2302 009c 8823 tst r24
2276 2304 009e 01F4 brne .+2
2277 2305 00a0 00C0 rjmp .L160
2278 2306 00a2 00C0 rjmp .L115
2288 2316 00a4 F0E2 ldi r31,lo8(32)
2289 2317 00a6 6F2E mov r6,r31
2293 2321 00a8 E5E0 ldi r30,lo8(5)
2294 2322 00aa 3E2E mov r3,r30
2299 2327 00ac 7DE0 ldi r23,lo8(13)
2300 2328 00ae 472E mov r4,r23
2301 2329 00b0 512C mov r5,__zero_reg__
2302 2330 00b2 4C0E add r4,r28
2303 2331 00b4 5D1E adc r5,r29
2310 2338 00b6 A9A1 ldd r26,Y+33
2311 2339 00b8 BAA1 ldd r27,Y+34
2313 2341 00ba FD01 movw r30,r26
2315 2343 00bc 8BE0 ldi r24,lo8(11)
2316 2344 00be 90E0 ldi r25,hi8(11)
2318 2346 00c0 00C0 rjmp .L122
2324 2352 00c2 6192 st Z+,r6
2326 2354 00c4 0197 sbiw r24,1
2327 2355 00c6 2FEF ldi r18,hi8(-1)
2328 2356 00c8 8F3F cpi r24,lo8(-1)
2329 2357 00ca 9207 cpc r25,r18
2330 2358 00cc 01F4 brne .L123
2331 2359 00ce 40E0 ldi r20,lo8(0)
2332 2360 00d0 50E0 ldi r21,hi8(0)
2334 2362 00d2 AA24 clr r10
2335 2363 00d4 BB24 clr r11
2336 2364 00d6 68E0 ldi r22,lo8(8)
2337 2365 00d8 E62E mov r14,r22
2338 2366 00da F12C mov r15,__zero_reg__
2339 2367 00dc 10E0 ldi r17,lo8(0)
2345 2373 00de F601 movw r30,r12
2346 2374 00e0 EA0D add r30,r10
2347 2375 00e2 FB1D adc r31,r11
2348 2376 00e4 2081 ld r18,Z
2350 2378 00e8 A11C adc r10,__zero_reg__
2351 2379 00ea B11C adc r11,__zero_reg__
2353 2381 00ec 2132 cpi r18,lo8(33)
2354 2382 00ee 00F4 brsh .+2
2355 2383 00f0 00C0 rjmp .L124
2356 2384 00f2 2F32 cpi r18,lo8(47)
2357 2385 00f4 01F4 brne .+2
2358 2386 00f6 00C0 rjmp .L125
2359 2387 00f8 2C35 cpi r18,lo8(92)
2360 2388 00fa 01F4 brne .+2
2361 2389 00fc 00C0 rjmp .L125
2363 2391 00fe 2E32 cpi r18,lo8(46)
2364 2392 0100 01F0 breq .L126
2365 2393 0102 4E15 cp r20,r14
2366 2394 0104 5F05 cpc r21,r15
2367 2395 0106 04F0 brlt .L127
2370 2398 0108 88E0 ldi r24,lo8(8)
2371 2399 010a E816 cp r14,r24
2372 2400 010c F104 cpc r15,__zero_reg__
2374 2402 010e 01F0 breq .+2
2375 2403 0110 00C0 rjmp .L128
2376 2404 0112 2E32 cpi r18,lo8(46)
2377 2405 0114 01F0 breq .+2
2378 2406 0116 00C0 rjmp .L128
2380 2408 0118 110F lsl r17
2381 2409 011a 110F lsl r17
2382 2410 011c 48E0 ldi r20,lo8(8)
2383 2411 011e 50E0 ldi r21,hi8(8)
2384 2412 0120 3BE0 ldi r19,lo8(11)
2385 2413 0122 E32E mov r14,r19
2386 2414 0124 F12C mov r15,__zero_reg__
2388 2416 0126 00C0 rjmp .L161
2392 2420 0128 27FD sbrc r18,7
2394 2422 012a 1360 ori r17,lo8(3)
2397 2425 012c 822F mov r24,r18
2399 2427 012e 8158 subi r24,lo8(-(127))
2400 2428 0130 8F31 cpi r24,lo8(31)
2401 2429 0132 00F0 brlo .L131
2402 2430 0134 8F55 subi r24,lo8(-(-95))
2403 2431 0136 8D31 cpi r24,lo8(29)
2404 2432 0138 00F4 brsh .L132
2407 2435 013a F601 movw r30,r12
2408 2436 013c EA0D add r30,r10
2409 2437 013e FB1D adc r31,r11
2410 2438 0140 3081 ld r19,Z
2412 2440 0142 832F mov r24,r19
2413 2441 0144 8054 subi r24,lo8(-(-64))
2414 2442 0146 8F33 cpi r24,lo8(63)
2415 2443 0148 00F0 brlo .L133
2416 2444 014a 8054 subi r24,lo8(-(-64))
2417 2445 014c 8D37 cpi r24,lo8(125)
2418 2446 014e 00F0 brlo .+2
2419 2447 0150 00C0 rjmp .L128
2421 2449 0152 C701 movw r24,r14
2422 2450 0154 0197 sbiw r24,1
2423 2451 0156 4817 cp r20,r24
2424 2452 0158 5907 cpc r21,r25
2425 2453 015a 04F0 brlt .+2
2426 2454 015c 00C0 rjmp .L128
2429 2457 0160 A11C adc r10,__zero_reg__
2430 2458 0162 B11C adc r11,__zero_reg__
2432 2460 0164 FD01 movw r30,r26
2433 2461 0166 E40F add r30,r20
2434 2462 0168 F51F adc r31,r21
2435 2463 016a 2083 st Z,r18
2436 2464 016c CA01 movw r24,r20
2437 2465 016e 0196 adiw r24,1
2440 2468 0170 FD01 movw r30,r26
2441 2469 0172 E80F add r30,r24
2442 2470 0174 F91F adc r31,r25
2443 2471 0176 3083 st Z,r19
2444 2472 0178 AC01 movw r20,r24
2445 2473 017a 00C0 rjmp .L164
2449 2477 017c 622F mov r22,r18
2450 2478 017e 70E0 ldi r23,lo8(0)
2451 2479 0180 E0E0 ldi r30,lo8(.LC0)
2452 2480 0182 F0E0 ldi r31,hi8(.LC0)
2454 2482 0184 00C0 rjmp .L134
2460 2488 0186 3196 adiw r30,1
2463 2491 0188 8081 ld r24,Z
2464 2492 018a 8823 tst r24
2465 2493 018c 01F0 breq .L135
2466 2494 018e 90E0 ldi r25,lo8(0)
2468 2496 0190 8617 cp r24,r22
2469 2497 0192 9707 cpc r25,r23
2470 2498 0194 01F4 brne .L136
2471 2499 0196 00C0 rjmp .L128
2477 2505 0198 822F mov r24,r18
2478 2506 019a 8154 subi r24,lo8(-(-65))
2479 2507 019c 8A31 cpi r24,lo8(26)
2480 2508 019e 00F4 brsh .L137
2482 2510 01a0 1260 ori r17,lo8(2)
2483 2511 01a2 00C0 rjmp .L138
2486 2514 01a4 822F mov r24,r18
2487 2515 01a6 8156 subi r24,lo8(-(-97))
2488 2516 01a8 8A31 cpi r24,lo8(26)
2489 2517 01aa 00F4 brsh .L138
2491 2519 01ac 1160 ori r17,lo8(1)
2492 2520 01ae 2052 subi r18,lo8(-(-32))
2495 2523 01b0 FD01 movw r30,r26
2497 2525 01b2 E40F add r30,r20
2498 2526 01b4 F51F adc r31,r21
2499 2527 01b6 2083 st Z,r18
2502 2530 01b8 4F5F subi r20,lo8(-(1))
2503 2531 01ba 5F4F sbci r21,hi8(-(1))
2504 2532 01bc 00C0 rjmp .L161
2507 2535 01be 912F mov r25,r17
2509 2537 01c0 64E0 ldi r22,lo8(4)
2513 2541 01c2 452B or r20,r21
2514 2542 01c4 01F4 brne .+2
2515 2543 01c6 00C0 rjmp .L128
2517 2545 01c8 8C91 ld r24,X
2519 2547 01ca 853E cpi r24,lo8(-27)
2520 2548 01cc 01F4 brne .L139
2521 2549 01ce 3C92 st X,r3
2524 2552 01d0 E8E0 ldi r30,lo8(8)
2525 2553 01d2 EE16 cp r14,r30
2526 2554 01d4 F104 cpc r15,__zero_reg__
2527 2555 01d6 01F4 brne .L140
2528 2556 01d8 912F mov r25,r17
2529 2557 01da 990F lsl r25
2530 2558 01dc 990F lsl r25
2534 2562 01de 292F mov r18,r25
2535 2563 01e0 30E0 ldi r19,lo8(0)
2537 2565 01e2 C901 movw r24,r18
2538 2566 01e4 8370 andi r24,lo8(3)
2539 2567 01e6 9070 andi r25,hi8(3)
2540 2568 01e8 0197 sbiw r24,1
2541 2569 01ea 01F4 brne .L141
2542 2570 01ec 6061 ori r22,lo8(16)
2545 2573 01ee 2C70 andi r18,lo8(12)
2546 2574 01f0 3070 andi r19,hi8(12)
2547 2575 01f2 2430 cpi r18,4
2548 2576 01f4 3105 cpc r19,__zero_reg__
2549 2577 01f6 01F4 brne .L142
2550 2578 01f8 6860 ori r22,lo8(8)
2553 2581 01fa 1B96 adiw r26,11
2554 2582 01fc 6C93 st X,r22
2559 2587 01fe C201 movw r24,r4
2560 2588 0200 60E0 ldi r22,lo8(0)
2561 2589 0202 70E0 ldi r23,hi8(0)
2563 2591 0204 0E94 0000 call dir_seek
2565 2593 0208 482F mov r20,r24
2569 2597 020a 8823 tst r24
2570 2598 020c 01F0 breq .+2
2571 2599 020e 00C0 rjmp .L143
2576 2604 0210 4B8D ldd r20,Y+27
2577 2605 0212 5C8D ldd r21,Y+28
2578 2606 0214 6D8D ldd r22,Y+29
2579 2607 0216 7E8D ldd r23,Y+30
2581 2609 0218 8D85 ldd r24,Y+13
2582 2610 021a 9E85 ldd r25,Y+14
2584 2612 021c 0E94 0000 call move_window
2586 2614 0220 482F mov r20,r24
2590 2618 0222 8823 tst r24
2591 2619 0224 01F0 breq .+2
2592 2620 0226 00C0 rjmp .L143
2595 2623 0228 EF8D ldd r30,Y+31
2596 2624 022a F8A1 ldd r31,Y+32
2599 2627 022c 8081 ld r24,Z
2601 2629 022e 8823 tst r24
2602 2630 0230 01F4 brne .+2
2603 2631 0232 00C0 rjmp .L147
2606 2634 0234 8385 ldd r24,Z+11
2607 2635 0236 83FD sbrc r24,3
2608 2636 0238 00C0 rjmp .L145
2609 2637 023a 89A1 ldd r24,Y+33
2611 2639 023c 9AA1 ldd r25,Y+34
2613 2641 023e 9C01 movw r18,r24
2615 2643 0240 D901 movw r26,r18
2617 2645 0242 2BE0 ldi r18,lo8(11)
2618 2646 0244 30E0 ldi r19,hi8(11)
2624 2652 0246 2150 subi r18,lo8(-(-1))
2625 2653 0248 3040 sbci r19,hi8(-(-1))
2626 2654 024a 8FEF ldi r24,hi8(-1)
2627 2655 024c 2F3F cpi r18,lo8(-1)
2628 2656 024e 3807 cpc r19,r24
2629 2657 0250 01F4 brne .+2
2630 2658 0252 00C0 rjmp .L143
2631 2659 0254 9081 ld r25,Z
2633 2661 0256 8C91 ld r24,X
2634 2662 0258 9817 cp r25,r24
2635 2663 025a 01F4 brne .L145
2636 2664 025c 3196 adiw r30,1
2638 2666 025e 1196 adiw r26,1
2639 2667 0260 00C0 rjmp .L146
2647 2675 0262 0989 ldd r16,Y+17
2648 2676 0264 1A89 ldd r17,Y+18
2649 2677 0266 0F5F subi r16,lo8(-(1))
2650 2678 0268 1F4F sbci r17,hi8(-(1))
2652 2680 026a 01F4 brne .+2
2653 2681 026c 00C0 rjmp .L147
2654 2682 026e 8B8D ldd r24,Y+27
2655 2683 0270 9C8D ldd r25,Y+28
2656 2684 0272 AD8D ldd r26,Y+29
2657 2685 0274 BE8D ldd r27,Y+30
2658 2686 0276 0097 sbiw r24,0
2659 2687 0278 A105 cpc r26,__zero_reg__
2660 2688 027a B105 cpc r27,__zero_reg__
2661 2689 027c 01F4 brne .+2
2662 2690 027e 00C0 rjmp .L147
2664 2692 0280 2FE0 ldi r18,lo8(15)
2665 2693 0282 E22E mov r14,r18
2666 2694 0284 F12C mov r15,__zero_reg__
2668 2696 0286 E022 and r14,r16
2669 2697 0288 F122 and r15,r17
2670 2698 028a E114 cp r14,__zero_reg__
2671 2699 028c F104 cpc r15,__zero_reg__
2672 2700 028e 01F0 breq .+2
2673 2701 0290 00C0 rjmp .L148
2675 2703 0292 0196 adiw r24,1
2676 2704 0294 A11D adc r26,__zero_reg__
2677 2705 0296 B11D adc r27,__zero_reg__
2678 2706 0298 8B8F std Y+27,r24
2679 2707 029a 9C8F std Y+28,r25
2680 2708 029c AD8F std Y+29,r26
2681 2709 029e BE8F std Y+30,r27
2683 2711 02a0 4F89 ldd r20,Y+23
2684 2712 02a2 588D ldd r21,Y+24
2685 2713 02a4 698D ldd r22,Y+25
2686 2714 02a6 7A8D ldd r23,Y+26
2688 2716 02a8 ED85 ldd r30,Y+13
2689 2717 02aa FE85 ldd r31,Y+14
2691 2719 02ac 4115 cp r20,__zero_reg__
2692 2720 02ae 5105 cpc r21,__zero_reg__
2693 2721 02b0 6105 cpc r22,__zero_reg__
2694 2722 02b2 7105 cpc r23,__zero_reg__
2695 2723 02b4 01F4 brne .L149
2697 2725 02b6 8085 ldd r24,Z+8
2698 2726 02b8 9185 ldd r25,Z+9
2699 2727 02ba 0817 cp r16,r24
2700 2728 02bc 1907 cpc r17,r25
2701 2729 02be 00F0 brlo .L148
2702 2730 02c0 00C0 rjmp .L147
2705 2733 02c2 8281 ldd r24,Z+2
2706 2734 02c4 90E0 ldi r25,lo8(0)
2707 2735 02c6 0197 sbiw r24,1
2708 2736 02c8 9801 movw r18,r16
2709 2737 02ca A4E0 ldi r26,4
2710 2738 02cc 3695 1: lsr r19
2711 2739 02ce 2795 ror r18
2712 2740 02d0 AA95 dec r26
2713 2741 02d2 01F4 brne 1b
2715 2743 02d4 8223 and r24,r18
2716 2744 02d6 9323 and r25,r19
2717 2745 02d8 892B or r24,r25
2718 2746 02da 01F4 brne .L148
2721 2749 02dc CF01 movw r24,r30
2722 2750 02de 0E94 0000 call get_fat
2723 2751 02e2 AB01 movw r20,r22
2724 2752 02e4 BC01 movw r22,r24
2728 2756 02e6 4230 cpi r20,lo8(2)
2729 2757 02e8 5105 cpc r21,__zero_reg__
2730 2758 02ea 6105 cpc r22,__zero_reg__
2731 2759 02ec 7105 cpc r23,__zero_reg__
2732 2760 02ee 00F4 brsh .L150
2733 2761 02f0 42E0 ldi r20,lo8(2)
2735 2763 02f2 00C0 rjmp .L143
2739 2767 02f4 4F3F cpi r20,lo8(-1)
2740 2768 02f6 9FEF ldi r25,hi8(-1)
2741 2769 02f8 5907 cpc r21,r25
2742 2770 02fa 9FEF ldi r25,hlo8(-1)
2743 2771 02fc 6907 cpc r22,r25
2744 2772 02fe 9FEF ldi r25,hhi8(-1)
2745 2773 0300 7907 cpc r23,r25
2746 2774 0302 01F4 brne .L151
2747 2775 0304 41E0 ldi r20,lo8(1)
2749 2777 0306 00C0 rjmp .L143
2753 2781 0308 ED85 ldd r30,Y+13
2754 2782 030a FE85 ldd r31,Y+14
2755 2783 030c 8685 ldd r24,Z+14
2756 2784 030e 9785 ldd r25,Z+15
2757 2785 0310 A089 ldd r26,Z+16
2758 2786 0312 B189 ldd r27,Z+17
2759 2787 0314 4817 cp r20,r24
2760 2788 0316 5907 cpc r21,r25
2761 2789 0318 6A07 cpc r22,r26
2762 2790 031a 7B07 cpc r23,r27
2763 2791 031c 00F4 brsh .L147
2765 2793 031e 4F8B std Y+23,r20
2766 2794 0320 588F std Y+24,r21
2767 2795 0322 698F std Y+25,r22
2768 2796 0324 7A8F std Y+26,r23
2771 2799 0326 CF01 movw r24,r30
2772 2800 0328 0E94 0000 call clust2sect
2775 2803 032c 6B8F std Y+27,r22
2776 2804 032e 7C8F std Y+28,r23
2777 2805 0330 8D8F std Y+29,r24
2778 2806 0332 9E8F std Y+30,r25
2782 2810 0334 1A8B std Y+18,r17
2783 2811 0336 098B std Y+17,r16
2785 2813 0338 75E0 ldi r23,5
2786 2814 033a EE0C 1: lsl r14
2787 2815 033c FF1C rol r15
2788 2816 033e 7A95 dec r23
2789 2817 0340 01F4 brne 1b
2790 2818 0342 A2E2 ldi r26,lo8(34)
2791 2819 0344 B0E0 ldi r27,hi8(34)
2793 2821 0346 EA0E add r14,r26
2794 2822 0348 FB1E adc r15,r27
2795 2823 034a 8D85 ldd r24,Y+13
2796 2824 034c 9E85 ldd r25,Y+14
2797 2825 034e 8E0D add r24,r14
2798 2826 0350 9F1D adc r25,r15
2799 2827 0352 98A3 std Y+32,r25
2800 2828 0354 8F8F std Y+31,r24
2801 2829 0356 00C0 rjmp .L162
2804 2832 0358 44E0 ldi r20,lo8(4)
2812 2840 035a E9A1 ldd r30,Y+33
2813 2841 035c FAA1 ldd r31,Y+34
2815 2843 035e 9385 ldd r25,Z+11
2817 2845 0360 9470 andi r25,lo8(4)
2819 2847 0362 4423 tst r20
2820 2848 0364 01F0 breq .L153
2821 2849 0366 842F mov r24,r20
2823 2851 0368 4430 cpi r20,lo8(4)
2824 2852 036a 01F0 breq .+2
2825 2853 036c 00C0 rjmp .L115
2826 2854 036e 9923 tst r25
2827 2855 0370 01F4 brne .+2
2828 2856 0372 00C0 rjmp .L155
2829 2857 0374 00C0 rjmp .L115
2832 2860 0376 9923 tst r25
2833 2861 0378 01F4 brne .L156
2835 2863 037a EF8D ldd r30,Y+31
2836 2864 037c F8A1 ldd r31,Y+32
2839 2867 037e 8385 ldd r24,Z+11
2840 2868 0380 84FF sbrs r24,4
2841 2869 0382 00C0 rjmp .L155
2845 2873 0384 CA0C add r12,r10
2846 2874 0386 DB1C adc r13,r11
2850 2878 0388 8489 ldd r24,Z+20
2851 2879 038a 9589 ldd r25,Z+21
2852 2880 038c A0E0 ldi r26,lo8(0)
2853 2881 038e B0E0 ldi r27,hi8(0)
2855 2883 0390 DC01 movw r26,r24
2856 2884 0392 9927 clr r25
2857 2885 0394 8827 clr r24
2858 2886 0396 228D ldd r18,Z+26
2859 2887 0398 338D ldd r19,Z+27
2861 2889 039a 40E0 ldi r20,lo8(0)
2862 2890 039c 50E0 ldi r21,hi8(0)
2864 2892 039e 822B or r24,r18
2865 2893 03a0 932B or r25,r19
2866 2894 03a2 A42B or r26,r20
2867 2895 03a4 B52B or r27,r21
2868 2896 03a6 8B8B std Y+19,r24
2869 2897 03a8 9C8B std Y+20,r25
2870 2898 03aa AD8B std Y+21,r26
2871 2899 03ac BE8B std Y+22,r27
2872 2900 03ae 00C0 rjmp .L163
2876 2904 03b0 18A2 std Y+32,__zero_reg__
2877 2905 03b2 1F8E std Y+31,__zero_reg__
2883 2911 03b4 EF8D ldd r30,Y+31
2884 2912 03b6 F8A1 ldd r31,Y+32
2887 2915 03b8 3097 sbiw r30,0
2888 2916 03ba 01F4 brne .+2
2889 2917 03bc 00C0 rjmp .L157
2890 2918 03be 8385 ldd r24,Z+11
2892 2920 03c0 84FD sbrc r24,4
2893 2921 03c2 00C0 rjmp .L157
2895 2923 03c4 B1E0 ldi r27,lo8(1)
2896 2924 03c6 7B22 and r7,r27
2897 2925 03c8 D401 movw r26,r8
2899 2927 03ca 1496 adiw r26,4
2900 2928 03cc 7C92 st X,r7
2902 2930 03ce 8489 ldd r24,Z+20
2903 2931 03d0 9589 ldd r25,Z+21
2904 2932 03d2 A0E0 ldi r26,lo8(0)
2905 2933 03d4 B0E0 ldi r27,hi8(0)
2906 2934 03d6 8C01 movw r16,r24
2907 2935 03d8 FF24 clr r15
2908 2936 03da EE24 clr r14
2910 2938 03dc 228D ldd r18,Z+26
2911 2939 03de 338D ldd r19,Z+27
2913 2941 03e0 40E0 ldi r20,lo8(0)
2914 2942 03e2 50E0 ldi r21,hi8(0)
2916 2944 03e4 E22A or r14,r18
2917 2945 03e6 F32A or r15,r19
2918 2946 03e8 042B or r16,r20
2919 2947 03ea 152B or r17,r21
2920 2948 03ec D401 movw r26,r8
2921 2949 03ee 1E96 adiw r26,14
2922 2950 03f0 ED92 st X+,r14
2923 2951 03f2 FD92 st X+,r15
2924 2952 03f4 0D93 st X+,r16
2925 2953 03f6 1C93 st X,r17
2926 2954 03f8 5197 sbiw r26,14+3
2928 2956 03fa 848D ldd r24,Z+28
2929 2957 03fc 958D ldd r25,Z+29
2930 2958 03fe A68D ldd r26,Z+30
2931 2959 0400 B78D ldd r27,Z+31
2932 2960 0402 F401 movw r30,r8
2934 2962 0404 8287 std Z+10,r24
2935 2963 0406 9387 std Z+11,r25
2936 2964 0408 A487 std Z+12,r26
2937 2965 040a B587 std Z+13,r27
2939 2967 040c D401 movw r26,r8
2940 2968 040e 1696 adiw r26,6
2941 2969 0410 1D92 st X+,__zero_reg__
2942 2970 0412 1D92 st X+,__zero_reg__
2943 2971 0414 1D92 st X+,__zero_reg__
2944 2972 0416 1C92 st X,__zero_reg__
2945 2973 0418 1997 sbiw r26,6+3
2946 2974 041a 8FEF ldi r24,lo8(-1)
2947 2975 041c 1596 adiw r26,5
2948 2976 041e 8C93 st X,r24
2949 2977 0420 1597 sbiw r26,5
2951 2979 0422 168A std Z+22,__zero_reg__
2952 2980 0424 178A std Z+23,__zero_reg__
2953 2981 0426 108E std Z+24,__zero_reg__
2954 2982 0428 118E std Z+25,__zero_reg__
2956 2984 042a ED85 ldd r30,Y+13
2957 2985 042c FE85 ldd r31,Y+14
2958 2986 042e 1196 adiw r26,1
2959 2987 0430 FC93 st X,r31
2960 2988 0432 EE93 st -X,r30
2961 2989 0434 8681 ldd r24,Z+6
2962 2990 0436 9781 ldd r25,Z+7
2963 2991 0438 1396 adiw r26,2+1
2964 2992 043a 9C93 st X,r25
2965 2993 043c 8E93 st -X,r24
2966 2994 043e 1297 sbiw r26,2
2967 2995 0440 80E0 ldi r24,lo8(0)
2969 2997 0442 00C0 rjmp .L115
2973 3001 0444 84E0 ldi r24,lo8(4)
2977 3005 /* epilogue start */
2979 3007 0446 A496 adiw r28,36
2980 3008 0448 0FB6 in __tmp_reg__,__SREG__
2982 3010 044c DEBF out __SP_H__,r29
2983 3011 044e 0FBE out __SREG__,__tmp_reg__
2984 3012 0450 CDBF out __SP_L__,r28
2985 3013 0452 CF91 pop r28
2986 3014 0454 DF91 pop r29
2987 3015 0456 1F91 pop r17
2989 3017 0458 0F91 pop r16
2991 3019 045a FF90 pop r15
2992 3020 045c EF90 pop r14
2994 3022 045e DF90 pop r13
2995 3023 0460 CF90 pop r12
2997 3025 0462 BF90 pop r11
2998 3026 0464 AF90 pop r10
3000 3028 0466 9F90 pop r9
3001 3029 0468 8F90 pop r8
3003 3031 046a 7F90 pop r7
3005 3033 046c 6F90 pop r6
3006 3034 046e 5F90 pop r5
3007 3035 0470 4F90 pop r4
3008 3036 0472 3F90 pop r3
3013 3041 0476 85E0 ldi r24,lo8(5)
3015 3043 0478 00C0 rjmp .L115
3018 3046 047a 86E0 ldi r24,lo8(6)
3020 3048 047c 00C0 rjmp .L115
3023 3051 047e 912F mov r25,r17
3025 3053 0480 60E0 ldi r22,lo8(0)
3027 3055 0482 00C0 rjmp .L158
3034 C:\Users\Dean\AppData\Local\Temp/ccuwpMso.s:2 *ABS*:0000003f __SREG__
3035 C:\Users\Dean\AppData\Local\Temp/ccuwpMso.s:3 *ABS*:0000003e __SP_H__
3036 C:\Users\Dean\AppData\Local\Temp/ccuwpMso.s:4 *ABS*:0000003d __SP_L__
3037 C:\Users\Dean\AppData\Local\Temp/ccuwpMso.s:5 *ABS*:00000034 __CCP__
3038 C:\Users\Dean\AppData\Local\Temp/ccuwpMso.s:6 *ABS*:00000000 __tmp_reg__
3039 C:\Users\Dean\AppData\Local\Temp/ccuwpMso.s:7 *ABS*:00000001 __zero_reg__
3040 C:\Users\Dean\AppData\Local\Temp/ccuwpMso.s:19 .text.clust2sect:00000000 clust2sect
3041 C:\Users\Dean\AppData\Local\Temp/ccuwpMso.s:101 .text.f_mount:00000000 f_mount
3043 C:\Users\Dean\AppData\Local\Temp/ccuwpMso.s:144 .text.validate:00000000 validate
3044 C:\Users\Dean\AppData\Local\Temp/ccuwpMso.s:184 .text.f_close:00000000 f_close
3045 C:\Users\Dean\AppData\Local\Temp/ccuwpMso.s:218 .text.move_window:00000000 move_window
3046 C:\Users\Dean\AppData\Local\Temp/ccuwpMso.s:292 .text.get_fat:00000000 get_fat
3047 C:\Users\Dean\AppData\Local\Temp/ccuwpMso.s:545 .text.f_lseek:00000000 f_lseek
3048 C:\Users\Dean\AppData\Local\Temp/ccuwpMso.s:1021 .text.dir_seek:00000000 dir_seek
3049 C:\Users\Dean\AppData\Local\Temp/ccuwpMso.s:1270 .text.f_read:00000000 f_read
3050 C:\Users\Dean\AppData\Local\Temp/ccuwpMso.s:1694 .text.check_fs:00000000 check_fs
3051 C:\Users\Dean\AppData\Local\Temp/ccuwpMso.s:1779 .text.chk_mounted:00000000 chk_mounted
3052 C:\Users\Dean\AppData\Local\Temp/ccuwpMso.s:3058 .bss:00000002 Fsid
3053 C:\Users\Dean\AppData\Local\Temp/ccuwpMso.s:2194 .text.f_open:00000000 f_open