From 0ea819f7814a9eda0d5bfbb5125abb113634724f Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Wed, 30 Dec 2009 13:35:24 +0000 Subject: [PATCH] Fix TemperatureDataLogger - sample tick timer wasn't being initialized in the correct CTC mode. --- .../BluetoothHost/Lib/BluetoothACLPackets.c | 6 +- .../BluetoothHost/Lib/BluetoothHCICommands.c | 21 +- .../Lib/FATFs/diskio.lst | 24 +- .../TemperatureDataLogger/Lib/FATFs/ff.lst | 12015 ++++++++-------- .../TemperatureDataLogger/Lib/FATFs/ffconf.h | 2 +- Projects/TemperatureDataLogger/Lib/SCSI.lst | 24 +- .../TemperatureDataLogger/TempDataLogger.c | 21 +- 7 files changed, 5774 insertions(+), 6339 deletions(-) diff --git a/Demos/Host/Incomplete/BluetoothHost/Lib/BluetoothACLPackets.c b/Demos/Host/Incomplete/BluetoothHost/Lib/BluetoothACLPackets.c index 8a90febcbb..14c783f521 100644 --- a/Demos/Host/Incomplete/BluetoothHost/Lib/BluetoothACLPackets.c +++ b/Demos/Host/Incomplete/BluetoothHost/Lib/BluetoothACLPackets.c @@ -37,7 +37,7 @@ void Bluetooth_ProcessACLPackets(void) Bluetooth_DataPacket_Header_t DataHeader; Pipe_SelectPipe(BLUETOOTH_DATA_IN_PIPE); - Pipe_SetToken(PIPE_TOKEN_IN); + Pipe_SetPipeToken(PIPE_TOKEN_IN); Pipe_Unfreeze(); if (!(Pipe_IsReadWriteAllowed())) @@ -116,7 +116,7 @@ static inline void Bluetooth_ProcessSignalPacket_ConnectionRequest(Bluetooth_ACL Pipe_ClearIN(); Pipe_Freeze(); Pipe_SelectPipe(BLUETOOTH_DATA_OUT_PIPE); - Pipe_SetToken(PIPE_TOKEN_OUT); + Pipe_SetPipeToken(PIPE_TOKEN_OUT); Pipe_Unfreeze(); Bluetooth_SignalCommand_ConnectionResponse_t ConnectionResponse; @@ -167,7 +167,7 @@ static inline void Bluetooth_ProcessSignalPacket_ConfigurationRequest(Bluetooth_ Pipe_ClearIN(); Pipe_Freeze(); Pipe_SelectPipe(BLUETOOTH_DATA_OUT_PIPE); - Pipe_SetToken(PIPE_TOKEN_OUT); + Pipe_SetPipeToken(PIPE_TOKEN_OUT); Pipe_Unfreeze(); Bluetooth_SignalCommand_ConfigurationResponse_t ConfigurationResponse; diff --git a/Demos/Host/Incomplete/BluetoothHost/Lib/BluetoothHCICommands.c b/Demos/Host/Incomplete/BluetoothHost/Lib/BluetoothHCICommands.c index b4720e5846..c4cd5d6da1 100644 --- a/Demos/Host/Incomplete/BluetoothHost/Lib/BluetoothHCICommands.c +++ b/Demos/Host/Incomplete/BluetoothHost/Lib/BluetoothHCICommands.c @@ -72,7 +72,6 @@ static bool Bluetooth_GetNextHCIEventHeader(void) } Pipe_Read_Stream_LE(&HCIEventHeader, sizeof(HCIEventHeader)); - Pipe_Freeze(); return true; @@ -81,11 +80,14 @@ static bool Bluetooth_GetNextHCIEventHeader(void) static void Bluetooth_DiscardRemainingHCIEventParameters(void) { Pipe_SelectPipe(BLUETOOTH_EVENTS_PIPE); - Pipe_Unfreeze(); + Pipe_Discard_Stream(HCIEventHeader.ParameterLength); Pipe_ClearIN(); + Pipe_Freeze(); + + HCIEventHeader.ParameterLength = 0; } void Bluetooth_ProcessHCICommands(void) @@ -329,6 +331,10 @@ void Bluetooth_ProcessHCICommands(void) Bluetooth_HCIProcessingState = Bluetooth_Conn_SendPINCode; } + else if (HCIEventHeader.EventCode == EVENT_COMMAND_COMPLETE) + { + BT_DEBUG("(HCI) >> Command Complete", NULL); + } BT_DEBUG("(HCI) -- Unread Event Param Length: %d", HCIEventHeader.ParameterLength); @@ -393,17 +399,6 @@ void Bluetooth_ProcessHCICommands(void) sizeof(Bluetooth_DeviceConfiguration.PINCode)); Bluetooth_SendHCICommand(&PINCodeRequestParams, sizeof(PINCodeRequestParams)); - - do - { - while (!(Bluetooth_GetNextHCIEventHeader())) - { - if (USB_HostState == HOST_STATE_Unattached) - return; - } - - Bluetooth_DiscardRemainingHCIEventParameters(); - } while (HCIEventHeader.EventCode != EVENT_COMMAND_COMPLETE); Bluetooth_HCIProcessingState = Bluetooth_PrepareToProcessEvents; break; diff --git a/Projects/TemperatureDataLogger/Lib/FATFs/diskio.lst b/Projects/TemperatureDataLogger/Lib/FATFs/diskio.lst index baedc5ab0d..9085e1aae7 100644 --- a/Projects/TemperatureDataLogger/Lib/FATFs/diskio.lst +++ b/Projects/TemperatureDataLogger/Lib/FATFs/diskio.lst @@ -131,18 +131,18 @@ 214 .Letext0: DEFINED SYMBOLS *ABS*:00000000 diskio.c -C:\Users\Dean\AppData\Local\Temp/ccUCer1P.s:2 *ABS*:0000003f __SREG__ -C:\Users\Dean\AppData\Local\Temp/ccUCer1P.s:3 *ABS*:0000003e __SP_H__ -C:\Users\Dean\AppData\Local\Temp/ccUCer1P.s:4 *ABS*:0000003d __SP_L__ -C:\Users\Dean\AppData\Local\Temp/ccUCer1P.s:5 *ABS*:00000034 __CCP__ -C:\Users\Dean\AppData\Local\Temp/ccUCer1P.s:6 *ABS*:00000000 __tmp_reg__ -C:\Users\Dean\AppData\Local\Temp/ccUCer1P.s:7 *ABS*:00000001 __zero_reg__ -C:\Users\Dean\AppData\Local\Temp/ccUCer1P.s:19 .text.disk_initialize:00000000 disk_initialize -C:\Users\Dean\AppData\Local\Temp/ccUCer1P.s:35 .text.disk_status:00000000 disk_status -C:\Users\Dean\AppData\Local\Temp/ccUCer1P.s:51 .text.disk_ioctl:00000000 disk_ioctl -C:\Users\Dean\AppData\Local\Temp/ccUCer1P.s:74 .text.get_fattime:00000000 get_fattime -C:\Users\Dean\AppData\Local\Temp/ccUCer1P.s:91 .text.disk_write:00000000 disk_write -C:\Users\Dean\AppData\Local\Temp/ccUCer1P.s:122 .text.disk_read:00000000 disk_read +C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:2 *ABS*:0000003f __SREG__ +C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:3 *ABS*:0000003e __SP_H__ +C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:4 *ABS*:0000003d __SP_L__ +C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:5 *ABS*:00000034 __CCP__ +C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:6 *ABS*:00000000 __tmp_reg__ +C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:7 *ABS*:00000001 __zero_reg__ +C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:19 .text.disk_initialize:00000000 disk_initialize +C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:35 .text.disk_status:00000000 disk_status +C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:51 .text.disk_ioctl:00000000 disk_ioctl +C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:74 .text.get_fattime:00000000 get_fattime +C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:91 .text.disk_write:00000000 disk_write +C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:122 .text.disk_read:00000000 disk_read UNDEFINED SYMBOLS DataflashManager_WriteBlocks_RAM diff --git a/Projects/TemperatureDataLogger/Lib/FATFs/ff.lst b/Projects/TemperatureDataLogger/Lib/FATFs/ff.lst index 74f818a13b..228d16e0ce 100644 --- a/Projects/TemperatureDataLogger/Lib/FATFs/ff.lst +++ b/Projects/TemperatureDataLogger/Lib/FATFs/ff.lst @@ -422,11 +422,11 @@ 442 0022 DF93 push r29 443 /* prologue: function */ 444 /* frame size = 0 */ - 445 0024 3C01 movw r6,r24 + 445 0024 5C01 movw r10,r24 446 0026 6A01 movw r12,r20 447 0028 7B01 movw r14,r22 - 448 002a 4801 movw r8,r16 - 449 002c 5901 movw r10,r18 + 448 002a 3801 movw r6,r16 + 449 002c 4901 movw r8,r18 450 .LVL38: 451 .LSM42: 452 002e 4230 cpi r20,lo8(2) @@ -437,7 +437,7 @@ 457 0036 00F4 brsh .+2 458 0038 00C0 rjmp .L33 459 .LVL40: - 460 003a F301 movw r30,r6 + 460 003a F501 movw r30,r10 461 003c 828D ldd r24,Z+26 462 003e 938D ldd r25,Z+27 463 0040 A48D ldd r26,Z+28 @@ -489,7 +489,7 @@ 509 0086 531D adc r21,r3 510 0088 641D adc r22,r4 511 008a 751D adc r23,r5 - 512 008c C301 movw r24,r6 + 512 008c C501 movw r24,r10 513 008e 0E94 0000 call move_window 514 0092 282F mov r18,r24 515 .LVL47: @@ -509,13 +509,13 @@ 529 00a4 0115 cp r16,__zero_reg__ 530 00a6 1105 cpc r17,__zero_reg__ 531 00a8 01F0 breq .L39 - 532 00aa F301 movw r30,r6 + 532 00aa F501 movw r30,r10 533 00ac EA0F add r30,r26 534 00ae FB1F adc r31,r27 535 00b0 86A5 ldd r24,Z+46 536 .LVL50: 537 00b2 8F70 andi r24,lo8(15) - 538 00b4 982D mov r25,r8 + 538 00b4 962D mov r25,r6 539 .LVL51: 540 00b6 9295 swap r25 541 00b8 907F andi r25,lo8(-16) @@ -523,11 +523,11 @@ 543 00bc 00C0 rjmp .L40 544 .LVL52: 545 .L39: - 546 00be 982D mov r25,r8 + 546 00be 962D mov r25,r6 547 .LVL53: 548 .L40: - 549 00c0 A60D add r26,r6 - 550 00c2 B71D adc r27,r7 + 549 00c0 AA0D add r26,r10 + 550 00c2 BB1D adc r27,r11 551 00c4 9E96 adiw r26,46 552 00c6 9C93 st X,r25 553 .LSM50: @@ -535,7 +535,7 @@ 555 .LVL54: 556 .LSM51: 557 00ca 81E0 ldi r24,lo8(1) - 558 00cc F301 movw r30,r6 + 558 00cc F501 movw r30,r10 559 00ce 8483 std Z+4,r24 560 .LSM52: 561 00d0 AE01 movw r20,r28 @@ -548,7 +548,7 @@ 568 00de 531D adc r21,r3 569 00e0 641D adc r22,r4 570 00e2 751D adc r23,r5 - 571 00e4 C301 movw r24,r6 + 571 00e4 C501 movw r24,r10 572 00e6 0E94 0000 call move_window 573 .LVL55: 574 00ea 282F mov r18,r24 @@ -564,6292 +564,5725 @@ 584 .LSM55: 585 00f4 012B or r16,r17 586 00f6 01F0 breq .L41 - 587 00f8 84E0 ldi r24,4 - 588 00fa B694 1: lsr r11 - 589 00fc A794 ror r10 - 590 00fe 9794 ror r9 - 591 0100 8794 ror r8 - 592 0102 8A95 dec r24 + 587 00f8 64E0 ldi r22,4 + 588 00fa 9694 1: lsr r9 + 589 00fc 8794 ror r8 + 590 00fe 7794 ror r7 + 591 0100 6794 ror r6 + 592 0102 6A95 dec r22 593 0104 01F4 brne 1b - 594 .LVL59: - 595 0106 482D mov r20,r8 - 596 0108 00C0 rjmp .L42 - 597 .LVL60: - 598 .L41: - 599 010a F301 movw r30,r6 - 600 010c EC0F add r30,r28 - 601 010e FD1F adc r31,r29 - 602 0110 46A5 ldd r20,Z+46 - 603 0112 407F andi r20,lo8(-16) - 604 0114 BB27 clr r27 - 605 0116 AB2D mov r26,r11 - 606 0118 9A2D mov r25,r10 - 607 011a 892D mov r24,r9 - 608 .LVL61: - 609 011c 8F70 andi r24,lo8(15) - 610 011e 482B or r20,r24 - 611 .L42: - 612 0120 C60D add r28,r6 - 613 0122 D71D adc r29,r7 - 614 0124 4EA7 std Y+46,r20 - 615 0126 00C0 rjmp .L38 - 616 .LVL62: - 617 .L36: - 618 .LSM56: - 619 0128 452F mov r20,r21 - 620 012a 562F mov r21,r22 - 621 012c 672F mov r22,r23 - 622 012e 7727 clr r23 - 623 .LVL63: - 624 0130 420D add r20,r2 - 625 0132 531D adc r21,r3 - 626 0134 641D adc r22,r4 - 627 0136 751D adc r23,r5 - 628 0138 C301 movw r24,r6 - 629 013a 0E94 0000 call move_window - 630 013e 282F mov r18,r24 - 631 .LVL64: - 632 .LSM57: - 633 0140 8823 tst r24 - 634 0142 01F4 brne .L38 - 635 .LVL65: - 636 .LSM58: - 637 0144 F601 movw r30,r12 - 638 .LVL66: - 639 0146 EE0F lsl r30 - 640 0148 FF1F rol r31 - 641 014a F170 andi r31,hi8(511) - 642 014c E60D add r30,r6 - 643 014e F71D adc r31,r7 - 644 0150 86A6 std Z+46,r8 - 645 0152 892D mov r24,r9 - 646 0154 9927 clr r25 - 647 .LVL67: - 648 0156 87A7 std Z+47,r24 - 649 0158 00C0 rjmp .L38 - 650 .LVL68: - 651 .L37: - 652 .LSM59: - 653 015a E7E0 ldi r30,7 - 654 015c 7695 1: lsr r23 - 655 015e 6795 ror r22 - 656 0160 5795 ror r21 - 657 0162 4795 ror r20 - 658 0164 EA95 dec r30 - 659 0166 01F4 brne 1b - 660 .LVL69: - 661 0168 420D add r20,r2 - 662 016a 531D adc r21,r3 - 663 016c 641D adc r22,r4 - 664 016e 751D adc r23,r5 - 665 0170 C301 movw r24,r6 - 666 0172 0E94 0000 call move_window - 667 0176 282F mov r18,r24 - 668 .LVL70: - 669 .LSM60: - 670 0178 8823 tst r24 - 671 017a 01F4 brne .L38 - 672 .LVL71: - 673 .LSM61: - 674 017c F601 movw r30,r12 - 675 .LVL72: - 676 017e EE0F lsl r30 - 677 0180 FF1F rol r31 - 678 0182 EE0F lsl r30 - 679 0184 FF1F rol r31 - 680 0186 F170 andi r31,hi8(511) - 681 0188 E60D add r30,r6 - 682 018a F71D adc r31,r7 - 683 018c 86A6 std Z+46,r8 - 684 018e 892D mov r24,r9 - 685 0190 9927 clr r25 - 686 .LVL73: - 687 0192 87A7 std Z+47,r24 - 688 0194 C501 movw r24,r10 - 689 0196 AA27 clr r26 - 690 0198 BB27 clr r27 - 691 019a 80AB std Z+48,r24 - 692 019c 8B2D mov r24,r11 - 693 019e 9927 clr r25 - 694 01a0 AA27 clr r26 - 695 01a2 BB27 clr r27 - 696 01a4 81AB std Z+49,r24 - 697 .LVL74: - 698 .L38: - 699 .LSM62: - 700 01a6 81E0 ldi r24,lo8(1) - 701 01a8 F301 movw r30,r6 - 702 01aa 8483 std Z+4,r24 - 703 01ac 00C0 rjmp .L43 - 704 .LVL75: - 705 .L33: - 706 01ae 22E0 ldi r18,lo8(2) - 707 .LVL76: - 708 .L43: - 709 .LSM63: - 710 01b0 822F mov r24,r18 - 711 /* epilogue start */ - 712 01b2 DF91 pop r29 - 713 01b4 CF91 pop r28 - 714 .LVL77: - 715 01b6 1F91 pop r17 - 716 01b8 0F91 pop r16 - 717 01ba FF90 pop r15 - 718 01bc EF90 pop r14 - 719 01be DF90 pop r13 - 720 01c0 CF90 pop r12 - 721 01c2 BF90 pop r11 - 722 01c4 AF90 pop r10 - 723 01c6 9F90 pop r9 - 724 01c8 8F90 pop r8 - 725 .LVL78: - 726 01ca 7F90 pop r7 - 727 01cc 6F90 pop r6 - 728 .LVL79: - 729 01ce 5F90 pop r5 - 730 01d0 4F90 pop r4 - 731 01d2 3F90 pop r3 - 732 01d4 2F90 pop r2 - 733 .LVL80: - 734 01d6 0895 ret - 735 .LFE59: - 737 .section .text.get_fat,"ax",@progbits - 738 .global get_fat - 740 get_fat: - 741 .LFB58: - 742 .LSM64: - 743 .LVL81: - 744 0000 7F92 push r7 - 745 0002 8F92 push r8 - 746 0004 9F92 push r9 - 747 0006 AF92 push r10 - 748 0008 BF92 push r11 - 749 000a CF92 push r12 - 750 000c DF92 push r13 - 751 000e EF92 push r14 - 752 0010 FF92 push r15 - 753 0012 0F93 push r16 - 754 0014 1F93 push r17 - 755 0016 CF93 push r28 - 756 0018 DF93 push r29 - 757 /* prologue: function */ - 758 /* frame size = 0 */ - 759 001a 4C01 movw r8,r24 - 760 001c 7A01 movw r14,r20 - 761 001e 8B01 movw r16,r22 - 762 .LSM65: - 763 0020 4230 cpi r20,lo8(2) - 764 0022 5105 cpc r21,__zero_reg__ - 765 0024 6105 cpc r22,__zero_reg__ - 766 0026 7105 cpc r23,__zero_reg__ - 767 .LVL82: - 768 0028 00F4 brsh .+2 - 769 002a 00C0 rjmp .L46 - 770 002c F401 movw r30,r8 - 771 002e 828D ldd r24,Z+26 - 772 0030 938D ldd r25,Z+27 - 773 0032 A48D ldd r26,Z+28 - 774 0034 B58D ldd r27,Z+29 - 775 0036 4817 cp r20,r24 - 776 0038 5907 cpc r21,r25 - 777 003a 6A07 cpc r22,r26 - 778 003c 7B07 cpc r23,r27 - 779 003e 00F0 brlo .+2 - 780 0040 00C0 rjmp .L46 - 781 .LSM66: - 782 0042 A68C ldd r10,Z+30 - 783 0044 B78C ldd r11,Z+31 - 784 0046 C0A0 ldd r12,Z+32 - 785 0048 D1A0 ldd r13,Z+33 - 786 .LVL83: - 787 .LSM67: - 788 004a 8081 ld r24,Z - 789 004c 8230 cpi r24,lo8(2) - 790 004e 01F4 brne .+2 - 791 0050 00C0 rjmp .L49 - 792 0052 8330 cpi r24,lo8(3) - 793 0054 01F4 brne .+2 - 794 0056 00C0 rjmp .L50 - 795 0058 8130 cpi r24,lo8(1) - 796 005a 01F0 breq .+2 - 797 005c 00C0 rjmp .L47 - 798 .LSM68: - 799 005e EA01 movw r28,r20 - 800 .LVL84: - 801 0060 D695 lsr r29 - 802 0062 C795 ror r28 - 803 .LVL85: - 804 0064 CE0D add r28,r14 - 805 0066 DF1D adc r29,r15 - 806 .LSM69: - 807 0068 AE01 movw r20,r28 - 808 006a 452F mov r20,r21 - 809 006c 5527 clr r21 - 810 006e 4695 lsr r20 - 811 0070 60E0 ldi r22,lo8(0) - 812 0072 70E0 ldi r23,hi8(0) - 813 0074 4A0D add r20,r10 - 814 0076 5B1D adc r21,r11 - 815 0078 6C1D adc r22,r12 - 816 007a 7D1D adc r23,r13 - 817 007c C401 movw r24,r8 - 818 007e 0E94 0000 call move_window - 819 0082 8823 tst r24 - 820 0084 01F0 breq .+2 - 821 0086 00C0 rjmp .L47 - 822 .LSM70: - 823 0088 FE01 movw r30,r28 - 824 008a F170 andi r31,hi8(511) - 825 008c E80D add r30,r8 - 826 008e F91D adc r31,r9 - 827 0090 76A4 ldd r7,Z+46 - 828 0092 2196 adiw r28,1 - 829 .LVL86: - 830 .LSM71: - 831 0094 AE01 movw r20,r28 - 832 0096 452F mov r20,r21 - 833 0098 5527 clr r21 - 834 009a 4695 lsr r20 - 835 009c 60E0 ldi r22,lo8(0) - 836 009e 70E0 ldi r23,hi8(0) - 837 00a0 4A0D add r20,r10 - 838 00a2 5B1D adc r21,r11 - 839 00a4 6C1D adc r22,r12 - 840 00a6 7D1D adc r23,r13 - 841 00a8 C401 movw r24,r8 - 842 00aa 0E94 0000 call move_window - 843 00ae 8823 tst r24 - 844 00b0 01F0 breq .+2 - 845 00b2 00C0 rjmp .L47 - 846 .LSM72: - 847 00b4 672D mov r22,r7 + 594 0106 462D mov r20,r6 + 595 0108 00C0 rjmp .L42 + 596 .L41: + 597 010a F501 movw r30,r10 + 598 010c EC0F add r30,r28 + 599 010e FD1F adc r31,r29 + 600 0110 46A5 ldd r20,Z+46 + 601 0112 407F andi r20,lo8(-16) + 602 0114 BB27 clr r27 + 603 0116 A92D mov r26,r9 + 604 0118 982D mov r25,r8 + 605 011a 872D mov r24,r7 + 606 .LVL59: + 607 011c 8F70 andi r24,lo8(15) + 608 011e 482B or r20,r24 + 609 .LVL60: + 610 .L42: + 611 0120 CA0D add r28,r10 + 612 0122 DB1D adc r29,r11 + 613 0124 4EA7 std Y+46,r20 + 614 0126 00C0 rjmp .L38 + 615 .LVL61: + 616 .L36: + 617 .LSM56: + 618 0128 7727 clr r23 + 619 012a 6F2D mov r22,r15 + 620 012c 5E2D mov r21,r14 + 621 012e 4D2D mov r20,r13 + 622 .LVL62: + 623 0130 420D add r20,r2 + 624 0132 531D adc r21,r3 + 625 0134 641D adc r22,r4 + 626 0136 751D adc r23,r5 + 627 0138 C501 movw r24,r10 + 628 013a 0E94 0000 call move_window + 629 013e 282F mov r18,r24 + 630 .LVL63: + 631 .LSM57: + 632 0140 8823 tst r24 + 633 0142 01F4 brne .L38 + 634 .LVL64: + 635 .LSM58: + 636 0144 F601 movw r30,r12 + 637 .LVL65: + 638 0146 EE0F lsl r30 + 639 0148 FF1F rol r31 + 640 014a F170 andi r31,hi8(511) + 641 014c EA0D add r30,r10 + 642 014e FB1D adc r31,r11 + 643 0150 77A6 std Z+47,r7 + 644 0152 66A6 std Z+46,r6 + 645 0154 00C0 rjmp .L38 + 646 .LVL66: + 647 .L37: + 648 .LSM59: + 649 0156 27E0 ldi r18,7 + 650 0158 7695 1: lsr r23 + 651 015a 6795 ror r22 + 652 015c 5795 ror r21 + 653 015e 4795 ror r20 + 654 0160 2A95 dec r18 + 655 0162 01F4 brne 1b + 656 .LVL67: + 657 0164 420D add r20,r2 + 658 0166 531D adc r21,r3 + 659 0168 641D adc r22,r4 + 660 016a 751D adc r23,r5 + 661 016c C501 movw r24,r10 + 662 016e 0E94 0000 call move_window + 663 0172 282F mov r18,r24 + 664 .LVL68: + 665 .LSM60: + 666 0174 8823 tst r24 + 667 0176 01F4 brne .L38 + 668 .LVL69: + 669 .LSM61: + 670 0178 F601 movw r30,r12 + 671 .LVL70: + 672 017a EE0F lsl r30 + 673 017c FF1F rol r31 + 674 017e EE0F lsl r30 + 675 0180 FF1F rol r31 + 676 0182 F170 andi r31,hi8(511) + 677 0184 EA0D add r30,r10 + 678 0186 FB1D adc r31,r11 + 679 0188 66A6 std Z+46,r6 + 680 018a 77A6 std Z+47,r7 + 681 018c 80AA std Z+48,r8 + 682 018e 91AA std Z+49,r9 + 683 .LVL71: + 684 .L38: + 685 .LSM62: + 686 0190 81E0 ldi r24,lo8(1) + 687 0192 F501 movw r30,r10 + 688 0194 8483 std Z+4,r24 + 689 0196 00C0 rjmp .L43 + 690 .LVL72: + 691 .L33: + 692 0198 22E0 ldi r18,lo8(2) + 693 .LVL73: + 694 .L43: + 695 .LSM63: + 696 019a 822F mov r24,r18 + 697 /* epilogue start */ + 698 019c DF91 pop r29 + 699 019e CF91 pop r28 + 700 .LVL74: + 701 01a0 1F91 pop r17 + 702 01a2 0F91 pop r16 + 703 01a4 FF90 pop r15 + 704 01a6 EF90 pop r14 + 705 01a8 DF90 pop r13 + 706 01aa CF90 pop r12 + 707 01ac BF90 pop r11 + 708 01ae AF90 pop r10 + 709 .LVL75: + 710 01b0 9F90 pop r9 + 711 01b2 8F90 pop r8 + 712 01b4 7F90 pop r7 + 713 01b6 6F90 pop r6 + 714 .LVL76: + 715 01b8 5F90 pop r5 + 716 01ba 4F90 pop r4 + 717 01bc 3F90 pop r3 + 718 01be 2F90 pop r2 + 719 .LVL77: + 720 01c0 0895 ret + 721 .LFE59: + 723 .section .text.get_fat,"ax",@progbits + 724 .global get_fat + 726 get_fat: + 727 .LFB58: + 728 .LSM64: + 729 .LVL78: + 730 0000 7F92 push r7 + 731 0002 8F92 push r8 + 732 0004 9F92 push r9 + 733 0006 AF92 push r10 + 734 0008 BF92 push r11 + 735 000a CF92 push r12 + 736 000c DF92 push r13 + 737 000e EF92 push r14 + 738 0010 FF92 push r15 + 739 0012 0F93 push r16 + 740 0014 1F93 push r17 + 741 0016 CF93 push r28 + 742 0018 DF93 push r29 + 743 /* prologue: function */ + 744 /* frame size = 0 */ + 745 001a 4C01 movw r8,r24 + 746 001c 7A01 movw r14,r20 + 747 001e 8B01 movw r16,r22 + 748 .LSM65: + 749 0020 4230 cpi r20,lo8(2) + 750 0022 5105 cpc r21,__zero_reg__ + 751 0024 6105 cpc r22,__zero_reg__ + 752 0026 7105 cpc r23,__zero_reg__ + 753 .LVL79: + 754 0028 00F4 brsh .+2 + 755 002a 00C0 rjmp .L46 + 756 002c F401 movw r30,r8 + 757 002e 828D ldd r24,Z+26 + 758 0030 938D ldd r25,Z+27 + 759 0032 A48D ldd r26,Z+28 + 760 0034 B58D ldd r27,Z+29 + 761 0036 4817 cp r20,r24 + 762 0038 5907 cpc r21,r25 + 763 003a 6A07 cpc r22,r26 + 764 003c 7B07 cpc r23,r27 + 765 003e 00F0 brlo .+2 + 766 0040 00C0 rjmp .L46 + 767 .LSM66: + 768 0042 A68C ldd r10,Z+30 + 769 0044 B78C ldd r11,Z+31 + 770 0046 C0A0 ldd r12,Z+32 + 771 0048 D1A0 ldd r13,Z+33 + 772 .LVL80: + 773 .LSM67: + 774 004a 8081 ld r24,Z + 775 004c 8230 cpi r24,lo8(2) + 776 004e 01F4 brne .+2 + 777 0050 00C0 rjmp .L49 + 778 0052 8330 cpi r24,lo8(3) + 779 0054 01F4 brne .+2 + 780 0056 00C0 rjmp .L50 + 781 0058 8130 cpi r24,lo8(1) + 782 005a 01F0 breq .+2 + 783 005c 00C0 rjmp .L47 + 784 .LSM68: + 785 005e EA01 movw r28,r20 + 786 .LVL81: + 787 0060 D695 lsr r29 + 788 0062 C795 ror r28 + 789 .LVL82: + 790 0064 CE0D add r28,r14 + 791 0066 DF1D adc r29,r15 + 792 .LSM69: + 793 0068 AE01 movw r20,r28 + 794 006a 452F mov r20,r21 + 795 006c 5527 clr r21 + 796 006e 4695 lsr r20 + 797 0070 60E0 ldi r22,lo8(0) + 798 0072 70E0 ldi r23,hi8(0) + 799 0074 4A0D add r20,r10 + 800 0076 5B1D adc r21,r11 + 801 0078 6C1D adc r22,r12 + 802 007a 7D1D adc r23,r13 + 803 007c C401 movw r24,r8 + 804 007e 0E94 0000 call move_window + 805 0082 8823 tst r24 + 806 0084 01F0 breq .+2 + 807 0086 00C0 rjmp .L47 + 808 .LSM70: + 809 0088 FE01 movw r30,r28 + 810 008a F170 andi r31,hi8(511) + 811 008c E80D add r30,r8 + 812 008e F91D adc r31,r9 + 813 0090 76A4 ldd r7,Z+46 + 814 0092 2196 adiw r28,1 + 815 .LVL83: + 816 .LSM71: + 817 0094 AE01 movw r20,r28 + 818 0096 452F mov r20,r21 + 819 0098 5527 clr r21 + 820 009a 4695 lsr r20 + 821 009c 60E0 ldi r22,lo8(0) + 822 009e 70E0 ldi r23,hi8(0) + 823 00a0 4A0D add r20,r10 + 824 00a2 5B1D adc r21,r11 + 825 00a4 6C1D adc r22,r12 + 826 00a6 7D1D adc r23,r13 + 827 00a8 C401 movw r24,r8 + 828 00aa 0E94 0000 call move_window + 829 00ae 8823 tst r24 + 830 00b0 01F0 breq .+2 + 831 00b2 00C0 rjmp .L47 + 832 .LSM72: + 833 00b4 672D mov r22,r7 + 834 .LVL84: + 835 00b6 70E0 ldi r23,lo8(0) + 836 .LVL85: + 837 .LSM73: + 838 00b8 D170 andi r29,hi8(511) + 839 00ba C80D add r28,r8 + 840 00bc D91D adc r29,r9 + 841 00be 9EA5 ldd r25,Y+46 + 842 00c0 80E0 ldi r24,lo8(0) + 843 00c2 682B or r22,r24 + 844 00c4 792B or r23,r25 + 845 .LVL86: + 846 .LSM74: + 847 00c6 C701 movw r24,r14 848 .LVL87: - 849 00b6 70E0 ldi r23,lo8(0) - 850 .LVL88: - 851 .LSM73: - 852 00b8 D170 andi r29,hi8(511) - 853 00ba C80D add r28,r8 - 854 00bc D91D adc r29,r9 - 855 00be 9EA5 ldd r25,Y+46 - 856 00c0 80E0 ldi r24,lo8(0) - 857 00c2 682B or r22,r24 - 858 00c4 792B or r23,r25 - 859 .LVL89: - 860 .LSM74: - 861 00c6 C701 movw r24,r14 - 862 .LVL90: - 863 00c8 8170 andi r24,lo8(1) - 864 00ca 9070 andi r25,hi8(1) - 865 00cc 892B or r24,r25 - 866 00ce 01F0 breq .L51 - 867 00d0 94E0 ldi r25,4 - 868 00d2 7695 1: lsr r23 - 869 00d4 6795 ror r22 - 870 00d6 9A95 dec r25 - 871 00d8 01F4 brne 1b - 872 00da 9B01 movw r18,r22 - 873 00dc 00C0 rjmp .L54 - 874 .L51: - 875 00de 9B01 movw r18,r22 - 876 00e0 40E0 ldi r20,lo8(0) - 877 00e2 50E0 ldi r21,hi8(0) - 878 00e4 3F70 andi r19,hi8(4095) - 879 00e6 4070 andi r20,hlo8(4095) - 880 00e8 5070 andi r21,hhi8(4095) - 881 00ea 00C0 rjmp .L52 - 882 .LVL91: - 883 .L49: - 884 .LSM75: - 885 00ec 452F mov r20,r21 - 886 00ee 562F mov r21,r22 - 887 00f0 672F mov r22,r23 - 888 00f2 7727 clr r23 - 889 .LVL92: - 890 00f4 4A0D add r20,r10 - 891 00f6 5B1D adc r21,r11 - 892 00f8 6C1D adc r22,r12 - 893 00fa 7D1D adc r23,r13 - 894 00fc C401 movw r24,r8 - 895 00fe 0E94 0000 call move_window - 896 0102 8823 tst r24 - 897 0104 01F0 breq .+2 - 898 0106 00C0 rjmp .L47 - 899 .LSM76: - 900 0108 F701 movw r30,r14 - 901 .LVL93: - 902 010a EE0F lsl r30 - 903 010c FF1F rol r31 - 904 010e F170 andi r31,hi8(511) - 905 0110 E80D add r30,r8 - 906 0112 F91D adc r31,r9 - 907 0114 97A5 ldd r25,Z+47 - 908 0116 80E0 ldi r24,lo8(0) - 909 0118 26A5 ldd r18,Z+46 - 910 011a 30E0 ldi r19,lo8(0) - 911 011c 822B or r24,r18 - 912 011e 932B or r25,r19 - 913 0120 9C01 movw r18,r24 - 914 .LVL94: - 915 .L54: - 916 0122 40E0 ldi r20,lo8(0) - 917 0124 50E0 ldi r21,hi8(0) - 918 0126 00C0 rjmp .L52 - 919 .LVL95: - 920 .L50: - 921 .LSM77: - 922 0128 B7E0 ldi r27,7 - 923 012a 7695 1: lsr r23 - 924 012c 6795 ror r22 - 925 012e 5795 ror r21 - 926 0130 4795 ror r20 - 927 0132 BA95 dec r27 - 928 0134 01F4 brne 1b - 929 .LVL96: - 930 0136 4A0D add r20,r10 - 931 0138 5B1D adc r21,r11 - 932 013a 6C1D adc r22,r12 - 933 013c 7D1D adc r23,r13 - 934 013e C401 movw r24,r8 - 935 0140 0E94 0000 call move_window - 936 0144 8823 tst r24 - 937 0146 01F4 brne .L47 - 938 .LSM78: - 939 0148 F701 movw r30,r14 - 940 .LVL97: - 941 014a EE0F lsl r30 - 942 014c FF1F rol r31 - 943 014e EE0F lsl r30 - 944 0150 FF1F rol r31 - 945 0152 F170 andi r31,hi8(511) - 946 0154 E80D add r30,r8 - 947 0156 F91D adc r31,r9 - 948 0158 81A9 ldd r24,Z+49 - 949 015a 90E0 ldi r25,lo8(0) - 950 015c A0E0 ldi r26,lo8(0) - 951 015e B0E0 ldi r27,hi8(0) - 952 0160 582F mov r21,r24 - 953 0162 4427 clr r20 - 954 0164 3327 clr r19 - 955 0166 2227 clr r18 - 956 0168 80A9 ldd r24,Z+48 - 957 016a 90E0 ldi r25,lo8(0) - 958 016c A0E0 ldi r26,lo8(0) - 959 016e B0E0 ldi r27,hi8(0) - 960 0170 DC01 movw r26,r24 - 961 0172 9927 clr r25 - 962 0174 8827 clr r24 - 963 0176 282B or r18,r24 - 964 0178 392B or r19,r25 - 965 017a 4A2B or r20,r26 - 966 017c 5B2B or r21,r27 - 967 017e 86A5 ldd r24,Z+46 - 968 0180 90E0 ldi r25,lo8(0) - 969 0182 A0E0 ldi r26,lo8(0) - 970 0184 B0E0 ldi r27,hi8(0) - 971 0186 282B or r18,r24 - 972 0188 392B or r19,r25 - 973 018a 4A2B or r20,r26 - 974 018c 5B2B or r21,r27 - 975 018e 97A5 ldd r25,Z+47 - 976 0190 80E0 ldi r24,lo8(0) - 977 0192 A0E0 ldi r26,lo8(0) - 978 0194 B0E0 ldi r27,hi8(0) - 979 0196 282B or r18,r24 - 980 0198 392B or r19,r25 - 981 019a 4A2B or r20,r26 - 982 019c 5B2B or r21,r27 - 983 019e 5F70 andi r21,hhi8(268435455) - 984 01a0 00C0 rjmp .L52 - 985 .LVL98: - 986 .L46: - 987 01a2 21E0 ldi r18,lo8(1) - 988 01a4 30E0 ldi r19,hi8(1) - 989 01a6 40E0 ldi r20,hlo8(1) - 990 01a8 50E0 ldi r21,hhi8(1) - 991 01aa 00C0 rjmp .L52 - 992 .LVL99: - 993 .L47: - 994 01ac 2FEF ldi r18,lo8(-1) - 995 01ae 3FEF ldi r19,hi8(-1) - 996 01b0 4FEF ldi r20,hlo8(-1) - 997 01b2 5FEF ldi r21,hhi8(-1) - 998 .LVL100: - 999 .L52: - 1000 .LSM79: - 1001 01b4 B901 movw r22,r18 - 1002 .LVL101: - 1003 01b6 CA01 movw r24,r20 - 1004 /* epilogue start */ - 1005 01b8 DF91 pop r29 - 1006 01ba CF91 pop r28 - 1007 .LVL102: - 1008 01bc 1F91 pop r17 - 1009 01be 0F91 pop r16 - 1010 01c0 FF90 pop r15 - 1011 01c2 EF90 pop r14 - 1012 .LVL103: - 1013 01c4 DF90 pop r13 - 1014 01c6 CF90 pop r12 - 1015 01c8 BF90 pop r11 - 1016 01ca AF90 pop r10 - 1017 .LVL104: - 1018 01cc 9F90 pop r9 - 1019 01ce 8F90 pop r8 - 1020 .LVL105: - 1021 01d0 7F90 pop r7 - 1022 01d2 0895 ret - 1023 .LFE58: - 1025 .section .text.create_chain,"ax",@progbits - 1027 create_chain: - 1028 .LFB61: - 1029 .LSM80: - 1030 .LVL106: - 1031 0000 2F92 push r2 - 1032 0002 3F92 push r3 - 1033 0004 4F92 push r4 - 1034 0006 5F92 push r5 - 1035 0008 6F92 push r6 - 1036 000a 7F92 push r7 - 1037 000c 8F92 push r8 - 1038 000e 9F92 push r9 - 1039 0010 AF92 push r10 - 1040 0012 BF92 push r11 - 1041 0014 CF92 push r12 - 1042 0016 DF92 push r13 - 1043 0018 EF92 push r14 - 1044 001a FF92 push r15 - 1045 001c 0F93 push r16 - 1046 001e 1F93 push r17 - 1047 0020 DF93 push r29 - 1048 0022 CF93 push r28 - 1049 0024 00D0 rcall . - 1050 0026 00D0 rcall . - 1051 0028 CDB7 in r28,__SP_L__ - 1052 002a DEB7 in r29,__SP_H__ - 1053 /* prologue: function */ - 1054 /* frame size = 4 */ - 1055 002c 1C01 movw r2,r24 - 1056 002e 2A01 movw r4,r20 - 1057 0030 3B01 movw r6,r22 - 1058 .LSM81: - 1059 0032 DC01 movw r26,r24 - 1060 0034 5A96 adiw r26,26 - 1061 0036 8D91 ld r24,X+ - 1062 0038 9D91 ld r25,X+ - 1063 003a 0D90 ld __tmp_reg__,X+ - 1064 003c BC91 ld r27,X - 1065 003e A02D mov r26,__tmp_reg__ - 1066 .LVL107: - 1067 0040 8983 std Y+1,r24 - 1068 0042 9A83 std Y+2,r25 - 1069 0044 AB83 std Y+3,r26 - 1070 0046 BC83 std Y+4,r27 - 1071 .LVL108: - 1072 .LSM82: - 1073 0048 4115 cp r20,__zero_reg__ - 1074 004a 5105 cpc r21,__zero_reg__ - 1075 004c 6105 cpc r22,__zero_reg__ - 1076 004e 7105 cpc r23,__zero_reg__ - 1077 0050 01F4 brne .L56 - 1078 .LSM83: - 1079 0052 F101 movw r30,r2 - 1080 0054 8284 ldd r8,Z+10 - 1081 0056 9384 ldd r9,Z+11 - 1082 0058 A484 ldd r10,Z+12 - 1083 005a B584 ldd r11,Z+13 - 1084 .LVL109: - 1085 .LSM84: - 1086 005c 8114 cp r8,__zero_reg__ - 1087 005e 9104 cpc r9,__zero_reg__ - 1088 0060 A104 cpc r10,__zero_reg__ - 1089 0062 B104 cpc r11,__zero_reg__ - 1090 0064 01F0 breq .L57 - 1091 0066 8816 cp r8,r24 - 1092 0068 9906 cpc r9,r25 - 1093 006a AA06 cpc r10,r26 - 1094 006c BB06 cpc r11,r27 - 1095 006e 00F4 brsh .L57 - 1096 0070 00C0 rjmp .L58 - 1097 .LVL110: - 1098 .L56: - 1099 .LSM85: - 1100 0072 C101 movw r24,r2 - 1101 0074 0E94 0000 call get_fat - 1102 .LVL111: - 1103 0078 9B01 movw r18,r22 - 1104 007a AC01 movw r20,r24 - 1105 .LVL112: - 1106 .LSM86: - 1107 007c 6230 cpi r22,lo8(2) - 1108 007e 7105 cpc r23,__zero_reg__ - 1109 0080 8105 cpc r24,__zero_reg__ - 1110 0082 9105 cpc r25,__zero_reg__ - 1111 0084 00F4 brsh .L59 - 1112 .LVL113: - 1113 0086 21E0 ldi r18,lo8(1) - 1114 0088 30E0 ldi r19,hi8(1) - 1115 008a 40E0 ldi r20,hlo8(1) - 1116 008c 50E0 ldi r21,hhi8(1) - 1117 .LVL114: - 1118 008e 00C0 rjmp .L60 - 1119 .LVL115: - 1120 .L59: - 1121 .LSM87: - 1122 0090 8981 ldd r24,Y+1 - 1123 0092 9A81 ldd r25,Y+2 - 1124 0094 AB81 ldd r26,Y+3 - 1125 0096 BC81 ldd r27,Y+4 - 1126 0098 2817 cp r18,r24 - 1127 009a 3907 cpc r19,r25 - 1128 009c 4A07 cpc r20,r26 - 1129 009e 5B07 cpc r21,r27 - 1130 00a0 00F4 brsh .+2 - 1131 00a2 00C0 rjmp .L60 - 1132 .LVL116: - 1133 00a4 5301 movw r10,r6 - 1134 00a6 4201 movw r8,r4 - 1135 .LVL117: - 1136 00a8 00C0 rjmp .L58 - 1137 .LVL118: - 1138 .L57: - 1139 00aa 61E0 ldi r22,lo8(1) - 1140 00ac 862E mov r8,r22 - 1141 00ae 912C mov r9,__zero_reg__ - 1142 00b0 A12C mov r10,__zero_reg__ - 1143 00b2 B12C mov r11,__zero_reg__ - 1144 .LVL119: - 1145 .L58: - 1146 00b4 7501 movw r14,r10 - 1147 00b6 6401 movw r12,r8 - 1148 .LVL120: - 1149 .L64: - 1150 .LSM88: - 1151 00b8 0894 sec - 1152 00ba C11C adc r12,__zero_reg__ - 1153 00bc D11C adc r13,__zero_reg__ - 1154 00be E11C adc r14,__zero_reg__ - 1155 00c0 F11C adc r15,__zero_reg__ - 1156 .LSM89: - 1157 00c2 8981 ldd r24,Y+1 - 1158 00c4 9A81 ldd r25,Y+2 - 1159 00c6 AB81 ldd r26,Y+3 - 1160 00c8 BC81 ldd r27,Y+4 - 1161 00ca C816 cp r12,r24 - 1162 00cc D906 cpc r13,r25 - 1163 00ce EA06 cpc r14,r26 - 1164 00d0 FB06 cpc r15,r27 - 1165 00d2 00F0 brlo .L61 - 1166 .LSM90: - 1167 00d4 92E0 ldi r25,lo8(2) - 1168 00d6 8916 cp r8,r25 - 1169 00d8 9104 cpc r9,__zero_reg__ - 1170 00da A104 cpc r10,__zero_reg__ - 1171 00dc B104 cpc r11,__zero_reg__ - 1172 00de 00F4 brsh .+2 - 1173 00e0 00C0 rjmp .L62 - 1174 00e2 52E0 ldi r21,lo8(2) - 1175 00e4 C52E mov r12,r21 - 1176 00e6 D12C mov r13,__zero_reg__ - 1177 00e8 E12C mov r14,__zero_reg__ - 1178 00ea F12C mov r15,__zero_reg__ - 1179 .L61: - 1180 .LSM91: - 1181 00ec C101 movw r24,r2 - 1182 00ee B701 movw r22,r14 - 1183 00f0 A601 movw r20,r12 - 1184 00f2 0E94 0000 call get_fat - 1185 .LVL121: - 1186 00f6 9B01 movw r18,r22 - 1187 00f8 AC01 movw r20,r24 - 1188 .LVL122: - 1189 .LSM92: - 1190 00fa 6115 cp r22,__zero_reg__ - 1191 00fc 7105 cpc r23,__zero_reg__ - 1192 00fe 8105 cpc r24,__zero_reg__ - 1193 0100 9105 cpc r25,__zero_reg__ - 1194 0102 01F0 breq .L63 - 1195 .LVL123: - 1196 .LSM93: - 1197 0104 6F3F cpi r22,lo8(-1) - 1198 0106 AFEF ldi r26,hi8(-1) - 1199 0108 7A07 cpc r23,r26 - 1200 010a AFEF ldi r26,hlo8(-1) - 1201 010c 8A07 cpc r24,r26 - 1202 010e AFEF ldi r26,hhi8(-1) - 1203 0110 9A07 cpc r25,r26 - 1204 0112 01F4 brne .+2 - 1205 0114 00C0 rjmp .L60 - 1206 0116 6130 cpi r22,lo8(1) - 1207 0118 7105 cpc r23,__zero_reg__ - 1208 011a 8105 cpc r24,__zero_reg__ - 1209 011c 9105 cpc r25,__zero_reg__ - 1210 011e 01F4 brne .+2 - 1211 0120 00C0 rjmp .L60 - 1212 .LSM94: - 1213 0122 C814 cp r12,r8 - 1214 0124 D904 cpc r13,r9 - 1215 0126 EA04 cpc r14,r10 - 1216 0128 FB04 cpc r15,r11 - 1217 012a 01F4 brne .L64 - 1218 012c 00C0 rjmp .L62 - 1219 .L63: - 1220 012e BC2C mov r11,r12 - 1221 0130 AD2C mov r10,r13 - 1222 .LVL124: - 1223 0132 9E2C mov r9,r14 - 1224 .LVL125: - 1225 0134 8F2C mov r8,r15 - 1226 .LVL126: - 1227 .LSM95: - 1228 0136 C101 movw r24,r2 - 1229 0138 A601 movw r20,r12 - 1230 .LVL127: - 1231 013a B701 movw r22,r14 - 1232 .LVL128: - 1233 013c 0FEF ldi r16,lo8(268435455) - 1234 013e 1FEF ldi r17,hi8(268435455) - 1235 0140 2FEF ldi r18,hlo8(268435455) - 1236 0142 3FE0 ldi r19,hhi8(268435455) - 1237 0144 0E94 0000 call put_fat - 1238 .LVL129: - 1239 0148 8823 tst r24 - 1240 014a 01F4 brne .L65 - 1241 .LVL130: - 1242 .LSM96: - 1243 014c 4114 cp r4,__zero_reg__ - 1244 014e 5104 cpc r5,__zero_reg__ - 1245 0150 6104 cpc r6,__zero_reg__ - 1246 0152 7104 cpc r7,__zero_reg__ - 1247 0154 01F0 breq .L66 - 1248 .LSM97: - 1249 0156 C101 movw r24,r2 - 1250 0158 B301 movw r22,r6 - 1251 015a A201 movw r20,r4 - 1252 015c 8601 movw r16,r12 - 1253 015e 9701 movw r18,r14 - 1254 0160 0E94 0000 call put_fat - 1255 0164 8823 tst r24 - 1256 0166 01F4 brne .L65 - 1257 .L66: - 1258 .LSM98: - 1259 0168 F101 movw r30,r2 - 1260 016a B286 std Z+10,r11 - 1261 016c A386 std Z+11,r10 - 1262 016e 9486 std Z+12,r9 - 1263 0170 8586 std Z+13,r8 - 1264 .LSM99: - 1265 0172 8685 ldd r24,Z+14 - 1266 0174 9785 ldd r25,Z+15 - 1267 0176 A089 ldd r26,Z+16 - 1268 0178 B189 ldd r27,Z+17 - 1269 017a 8F3F cpi r24,lo8(-1) - 1270 017c FFEF ldi r31,hi8(-1) - 1271 017e 9F07 cpc r25,r31 - 1272 0180 FFEF ldi r31,hlo8(-1) - 1273 0182 AF07 cpc r26,r31 - 1274 0184 FFEF ldi r31,hhi8(-1) - 1275 0186 BF07 cpc r27,r31 - 1276 0188 01F0 breq .L69 - 1277 .L67: - 1278 .LSM100: - 1279 018a 0197 sbiw r24,1 - 1280 018c A109 sbc r26,__zero_reg__ - 1281 018e B109 sbc r27,__zero_reg__ - 1282 0190 F101 movw r30,r2 - 1283 0192 8687 std Z+14,r24 - 1284 0194 9787 std Z+15,r25 - 1285 0196 A08B std Z+16,r26 - 1286 0198 B18B std Z+17,r27 - 1287 .LSM101: - 1288 019a 81E0 ldi r24,lo8(1) - 1289 019c 8583 std Z+5,r24 - 1290 .L69: - 1291 019e A701 movw r20,r14 - 1292 01a0 9601 movw r18,r12 - 1293 .LVL131: - 1294 01a2 00C0 rjmp .L60 - 1295 .LVL132: - 1296 .L62: - 1297 01a4 20E0 ldi r18,lo8(0) - 1298 01a6 30E0 ldi r19,hi8(0) - 1299 01a8 40E0 ldi r20,hlo8(0) - 1300 01aa 50E0 ldi r21,hhi8(0) - 1301 01ac 00C0 rjmp .L60 - 1302 .LVL133: - 1303 .L65: - 1304 01ae 2FEF ldi r18,lo8(-1) - 1305 01b0 3FEF ldi r19,hi8(-1) - 1306 01b2 4FEF ldi r20,hlo8(-1) - 1307 01b4 5FEF ldi r21,hhi8(-1) - 1308 .LVL134: - 1309 .L60: - 1310 .LSM102: - 1311 01b6 B901 movw r22,r18 - 1312 .LVL135: - 1313 01b8 CA01 movw r24,r20 - 1314 /* epilogue start */ - 1315 01ba 0F90 pop __tmp_reg__ - 1316 01bc 0F90 pop __tmp_reg__ - 1317 01be 0F90 pop __tmp_reg__ - 1318 01c0 0F90 pop __tmp_reg__ - 1319 01c2 CF91 pop r28 - 1320 01c4 DF91 pop r29 - 1321 01c6 1F91 pop r17 - 1322 01c8 0F91 pop r16 - 1323 01ca FF90 pop r15 - 1324 01cc EF90 pop r14 - 1325 01ce DF90 pop r13 - 1326 01d0 CF90 pop r12 - 1327 .LVL136: - 1328 01d2 BF90 pop r11 - 1329 .LVL137: - 1330 01d4 AF90 pop r10 - 1331 .LVL138: - 1332 01d6 9F90 pop r9 - 1333 .LVL139: - 1334 01d8 8F90 pop r8 - 1335 .LVL140: - 1336 01da 7F90 pop r7 - 1337 01dc 6F90 pop r6 - 1338 01de 5F90 pop r5 - 1339 01e0 4F90 pop r4 - 1340 .LVL141: - 1341 01e2 3F90 pop r3 - 1342 01e4 2F90 pop r2 + 849 00c8 8170 andi r24,lo8(1) + 850 00ca 9070 andi r25,hi8(1) + 851 00cc 892B or r24,r25 + 852 00ce 01F0 breq .L51 + 853 00d0 94E0 ldi r25,4 + 854 00d2 7695 1: lsr r23 + 855 00d4 6795 ror r22 + 856 00d6 9A95 dec r25 + 857 00d8 01F4 brne 1b + 858 00da 9B01 movw r18,r22 + 859 00dc 00C0 rjmp .L54 + 860 .L51: + 861 00de 9B01 movw r18,r22 + 862 00e0 40E0 ldi r20,lo8(0) + 863 00e2 50E0 ldi r21,hi8(0) + 864 00e4 3F70 andi r19,hi8(4095) + 865 00e6 4070 andi r20,hlo8(4095) + 866 00e8 5070 andi r21,hhi8(4095) + 867 00ea 00C0 rjmp .L52 + 868 .LVL88: + 869 .L49: + 870 .LSM75: + 871 00ec 452F mov r20,r21 + 872 00ee 562F mov r21,r22 + 873 00f0 672F mov r22,r23 + 874 00f2 7727 clr r23 + 875 .LVL89: + 876 00f4 4A0D add r20,r10 + 877 00f6 5B1D adc r21,r11 + 878 00f8 6C1D adc r22,r12 + 879 00fa 7D1D adc r23,r13 + 880 00fc C401 movw r24,r8 + 881 00fe 0E94 0000 call move_window + 882 0102 8823 tst r24 + 883 0104 01F4 brne .L47 + 884 .LSM76: + 885 0106 F701 movw r30,r14 + 886 .LVL90: + 887 0108 EE0F lsl r30 + 888 010a FF1F rol r31 + 889 010c F170 andi r31,hi8(511) + 890 010e E80D add r30,r8 + 891 0110 F91D adc r31,r9 + 892 0112 86A5 ldd r24,Z+46 + 893 0114 97A5 ldd r25,Z+47 + 894 0116 9C01 movw r18,r24 + 895 .LVL91: + 896 .L54: + 897 0118 40E0 ldi r20,lo8(0) + 898 011a 50E0 ldi r21,hi8(0) + 899 011c 00C0 rjmp .L52 + 900 .LVL92: + 901 .L50: + 902 .LSM77: + 903 011e B7E0 ldi r27,7 + 904 0120 7695 1: lsr r23 + 905 0122 6795 ror r22 + 906 0124 5795 ror r21 + 907 0126 4795 ror r20 + 908 0128 BA95 dec r27 + 909 012a 01F4 brne 1b + 910 .LVL93: + 911 012c 4A0D add r20,r10 + 912 012e 5B1D adc r21,r11 + 913 0130 6C1D adc r22,r12 + 914 0132 7D1D adc r23,r13 + 915 0134 C401 movw r24,r8 + 916 0136 0E94 0000 call move_window + 917 013a 8823 tst r24 + 918 013c 01F4 brne .L47 + 919 .LSM78: + 920 013e F701 movw r30,r14 + 921 .LVL94: + 922 0140 EE0F lsl r30 + 923 0142 FF1F rol r31 + 924 0144 EE0F lsl r30 + 925 0146 FF1F rol r31 + 926 0148 F170 andi r31,hi8(511) + 927 014a E80D add r30,r8 + 928 014c F91D adc r31,r9 + 929 014e 26A5 ldd r18,Z+46 + 930 0150 37A5 ldd r19,Z+47 + 931 0152 40A9 ldd r20,Z+48 + 932 0154 51A9 ldd r21,Z+49 + 933 0156 5F70 andi r21,hhi8(268435455) + 934 0158 00C0 rjmp .L52 + 935 .LVL95: + 936 .L46: + 937 015a 21E0 ldi r18,lo8(1) + 938 015c 30E0 ldi r19,hi8(1) + 939 015e 40E0 ldi r20,hlo8(1) + 940 0160 50E0 ldi r21,hhi8(1) + 941 0162 00C0 rjmp .L52 + 942 .LVL96: + 943 .L47: + 944 0164 2FEF ldi r18,lo8(-1) + 945 0166 3FEF ldi r19,hi8(-1) + 946 0168 4FEF ldi r20,hlo8(-1) + 947 016a 5FEF ldi r21,hhi8(-1) + 948 .LVL97: + 949 .L52: + 950 .LSM79: + 951 016c B901 movw r22,r18 + 952 .LVL98: + 953 016e CA01 movw r24,r20 + 954 /* epilogue start */ + 955 0170 DF91 pop r29 + 956 0172 CF91 pop r28 + 957 .LVL99: + 958 0174 1F91 pop r17 + 959 0176 0F91 pop r16 + 960 0178 FF90 pop r15 + 961 017a EF90 pop r14 + 962 .LVL100: + 963 017c DF90 pop r13 + 964 017e CF90 pop r12 + 965 0180 BF90 pop r11 + 966 0182 AF90 pop r10 + 967 .LVL101: + 968 0184 9F90 pop r9 + 969 0186 8F90 pop r8 + 970 .LVL102: + 971 0188 7F90 pop r7 + 972 018a 0895 ret + 973 .LFE58: + 975 .section .text.create_chain,"ax",@progbits + 977 create_chain: + 978 .LFB61: + 979 .LSM80: + 980 .LVL103: + 981 0000 2F92 push r2 + 982 0002 3F92 push r3 + 983 0004 4F92 push r4 + 984 0006 5F92 push r5 + 985 0008 6F92 push r6 + 986 000a 7F92 push r7 + 987 000c 8F92 push r8 + 988 000e 9F92 push r9 + 989 0010 AF92 push r10 + 990 0012 BF92 push r11 + 991 0014 CF92 push r12 + 992 0016 DF92 push r13 + 993 0018 EF92 push r14 + 994 001a FF92 push r15 + 995 001c 0F93 push r16 + 996 001e 1F93 push r17 + 997 0020 DF93 push r29 + 998 0022 CF93 push r28 + 999 0024 00D0 rcall . + 1000 0026 00D0 rcall . + 1001 0028 CDB7 in r28,__SP_L__ + 1002 002a DEB7 in r29,__SP_H__ + 1003 /* prologue: function */ + 1004 /* frame size = 4 */ + 1005 002c 1C01 movw r2,r24 + 1006 002e 2A01 movw r4,r20 + 1007 0030 3B01 movw r6,r22 + 1008 .LSM81: + 1009 0032 DC01 movw r26,r24 + 1010 0034 5A96 adiw r26,26 + 1011 0036 8D91 ld r24,X+ + 1012 0038 9D91 ld r25,X+ + 1013 003a 0D90 ld __tmp_reg__,X+ + 1014 003c BC91 ld r27,X + 1015 003e A02D mov r26,__tmp_reg__ + 1016 .LVL104: + 1017 0040 8983 std Y+1,r24 + 1018 0042 9A83 std Y+2,r25 + 1019 0044 AB83 std Y+3,r26 + 1020 0046 BC83 std Y+4,r27 + 1021 .LVL105: + 1022 .LSM82: + 1023 0048 4115 cp r20,__zero_reg__ + 1024 004a 5105 cpc r21,__zero_reg__ + 1025 004c 6105 cpc r22,__zero_reg__ + 1026 004e 7105 cpc r23,__zero_reg__ + 1027 0050 01F4 brne .L56 + 1028 .LSM83: + 1029 0052 F101 movw r30,r2 + 1030 0054 8284 ldd r8,Z+10 + 1031 0056 9384 ldd r9,Z+11 + 1032 0058 A484 ldd r10,Z+12 + 1033 005a B584 ldd r11,Z+13 + 1034 .LVL106: + 1035 .LSM84: + 1036 005c 8114 cp r8,__zero_reg__ + 1037 005e 9104 cpc r9,__zero_reg__ + 1038 0060 A104 cpc r10,__zero_reg__ + 1039 0062 B104 cpc r11,__zero_reg__ + 1040 0064 01F0 breq .L57 + 1041 0066 8816 cp r8,r24 + 1042 0068 9906 cpc r9,r25 + 1043 006a AA06 cpc r10,r26 + 1044 006c BB06 cpc r11,r27 + 1045 006e 00F4 brsh .L57 + 1046 0070 00C0 rjmp .L58 + 1047 .LVL107: + 1048 .L56: + 1049 .LSM85: + 1050 0072 C101 movw r24,r2 + 1051 0074 0E94 0000 call get_fat + 1052 .LVL108: + 1053 0078 9B01 movw r18,r22 + 1054 007a AC01 movw r20,r24 + 1055 .LVL109: + 1056 .LSM86: + 1057 007c 6230 cpi r22,lo8(2) + 1058 007e 7105 cpc r23,__zero_reg__ + 1059 0080 8105 cpc r24,__zero_reg__ + 1060 0082 9105 cpc r25,__zero_reg__ + 1061 0084 00F4 brsh .L59 + 1062 .LVL110: + 1063 0086 21E0 ldi r18,lo8(1) + 1064 0088 30E0 ldi r19,hi8(1) + 1065 008a 40E0 ldi r20,hlo8(1) + 1066 008c 50E0 ldi r21,hhi8(1) + 1067 .LVL111: + 1068 008e 00C0 rjmp .L60 + 1069 .LVL112: + 1070 .L59: + 1071 .LSM87: + 1072 0090 8981 ldd r24,Y+1 + 1073 0092 9A81 ldd r25,Y+2 + 1074 0094 AB81 ldd r26,Y+3 + 1075 0096 BC81 ldd r27,Y+4 + 1076 0098 2817 cp r18,r24 + 1077 009a 3907 cpc r19,r25 + 1078 009c 4A07 cpc r20,r26 + 1079 009e 5B07 cpc r21,r27 + 1080 00a0 00F4 brsh .+2 + 1081 00a2 00C0 rjmp .L60 + 1082 .LVL113: + 1083 00a4 5301 movw r10,r6 + 1084 00a6 4201 movw r8,r4 + 1085 .LVL114: + 1086 00a8 00C0 rjmp .L58 + 1087 .LVL115: + 1088 .L57: + 1089 00aa 61E0 ldi r22,lo8(1) + 1090 00ac 862E mov r8,r22 + 1091 00ae 912C mov r9,__zero_reg__ + 1092 00b0 A12C mov r10,__zero_reg__ + 1093 00b2 B12C mov r11,__zero_reg__ + 1094 .LVL116: + 1095 .L58: + 1096 00b4 7501 movw r14,r10 + 1097 00b6 6401 movw r12,r8 + 1098 .LVL117: + 1099 .L64: + 1100 .LSM88: + 1101 00b8 0894 sec + 1102 00ba C11C adc r12,__zero_reg__ + 1103 00bc D11C adc r13,__zero_reg__ + 1104 00be E11C adc r14,__zero_reg__ + 1105 00c0 F11C adc r15,__zero_reg__ + 1106 .LSM89: + 1107 00c2 8981 ldd r24,Y+1 + 1108 00c4 9A81 ldd r25,Y+2 + 1109 00c6 AB81 ldd r26,Y+3 + 1110 00c8 BC81 ldd r27,Y+4 + 1111 00ca C816 cp r12,r24 + 1112 00cc D906 cpc r13,r25 + 1113 00ce EA06 cpc r14,r26 + 1114 00d0 FB06 cpc r15,r27 + 1115 00d2 00F0 brlo .L61 + 1116 .LSM90: + 1117 00d4 92E0 ldi r25,lo8(2) + 1118 00d6 8916 cp r8,r25 + 1119 00d8 9104 cpc r9,__zero_reg__ + 1120 00da A104 cpc r10,__zero_reg__ + 1121 00dc B104 cpc r11,__zero_reg__ + 1122 00de 00F4 brsh .+2 + 1123 00e0 00C0 rjmp .L62 + 1124 00e2 52E0 ldi r21,lo8(2) + 1125 00e4 C52E mov r12,r21 + 1126 00e6 D12C mov r13,__zero_reg__ + 1127 00e8 E12C mov r14,__zero_reg__ + 1128 00ea F12C mov r15,__zero_reg__ + 1129 .L61: + 1130 .LSM91: + 1131 00ec C101 movw r24,r2 + 1132 00ee B701 movw r22,r14 + 1133 00f0 A601 movw r20,r12 + 1134 00f2 0E94 0000 call get_fat + 1135 .LVL118: + 1136 00f6 9B01 movw r18,r22 + 1137 00f8 AC01 movw r20,r24 + 1138 .LVL119: + 1139 .LSM92: + 1140 00fa 6115 cp r22,__zero_reg__ + 1141 00fc 7105 cpc r23,__zero_reg__ + 1142 00fe 8105 cpc r24,__zero_reg__ + 1143 0100 9105 cpc r25,__zero_reg__ + 1144 0102 01F0 breq .L63 + 1145 .LVL120: + 1146 .LSM93: + 1147 0104 6F3F cpi r22,lo8(-1) + 1148 0106 AFEF ldi r26,hi8(-1) + 1149 0108 7A07 cpc r23,r26 + 1150 010a AFEF ldi r26,hlo8(-1) + 1151 010c 8A07 cpc r24,r26 + 1152 010e AFEF ldi r26,hhi8(-1) + 1153 0110 9A07 cpc r25,r26 + 1154 0112 01F4 brne .+2 + 1155 0114 00C0 rjmp .L60 + 1156 0116 6130 cpi r22,lo8(1) + 1157 0118 7105 cpc r23,__zero_reg__ + 1158 011a 8105 cpc r24,__zero_reg__ + 1159 011c 9105 cpc r25,__zero_reg__ + 1160 011e 01F4 brne .+2 + 1161 0120 00C0 rjmp .L60 + 1162 .LSM94: + 1163 0122 C814 cp r12,r8 + 1164 0124 D904 cpc r13,r9 + 1165 0126 EA04 cpc r14,r10 + 1166 0128 FB04 cpc r15,r11 + 1167 012a 01F4 brne .L64 + 1168 012c 00C0 rjmp .L62 + 1169 .L63: + 1170 012e BC2C mov r11,r12 + 1171 0130 AD2C mov r10,r13 + 1172 .LVL121: + 1173 0132 9E2C mov r9,r14 + 1174 .LVL122: + 1175 0134 8F2C mov r8,r15 + 1176 .LVL123: + 1177 .LSM95: + 1178 0136 C101 movw r24,r2 + 1179 0138 A601 movw r20,r12 + 1180 .LVL124: + 1181 013a B701 movw r22,r14 + 1182 .LVL125: + 1183 013c 0FEF ldi r16,lo8(268435455) + 1184 013e 1FEF ldi r17,hi8(268435455) + 1185 0140 2FEF ldi r18,hlo8(268435455) + 1186 0142 3FE0 ldi r19,hhi8(268435455) + 1187 0144 0E94 0000 call put_fat + 1188 .LVL126: + 1189 0148 8823 tst r24 + 1190 014a 01F4 brne .L65 + 1191 .LVL127: + 1192 .LSM96: + 1193 014c 4114 cp r4,__zero_reg__ + 1194 014e 5104 cpc r5,__zero_reg__ + 1195 0150 6104 cpc r6,__zero_reg__ + 1196 0152 7104 cpc r7,__zero_reg__ + 1197 0154 01F0 breq .L66 + 1198 .LSM97: + 1199 0156 C101 movw r24,r2 + 1200 0158 B301 movw r22,r6 + 1201 015a A201 movw r20,r4 + 1202 015c 8601 movw r16,r12 + 1203 015e 9701 movw r18,r14 + 1204 0160 0E94 0000 call put_fat + 1205 0164 8823 tst r24 + 1206 0166 01F4 brne .L65 + 1207 .L66: + 1208 .LSM98: + 1209 0168 F101 movw r30,r2 + 1210 016a B286 std Z+10,r11 + 1211 016c A386 std Z+11,r10 + 1212 016e 9486 std Z+12,r9 + 1213 0170 8586 std Z+13,r8 + 1214 .LSM99: + 1215 0172 8685 ldd r24,Z+14 + 1216 0174 9785 ldd r25,Z+15 + 1217 0176 A089 ldd r26,Z+16 + 1218 0178 B189 ldd r27,Z+17 + 1219 017a 8F3F cpi r24,lo8(-1) + 1220 017c FFEF ldi r31,hi8(-1) + 1221 017e 9F07 cpc r25,r31 + 1222 0180 FFEF ldi r31,hlo8(-1) + 1223 0182 AF07 cpc r26,r31 + 1224 0184 FFEF ldi r31,hhi8(-1) + 1225 0186 BF07 cpc r27,r31 + 1226 0188 01F0 breq .L69 + 1227 .L67: + 1228 .LSM100: + 1229 018a 0197 sbiw r24,1 + 1230 018c A109 sbc r26,__zero_reg__ + 1231 018e B109 sbc r27,__zero_reg__ + 1232 0190 F101 movw r30,r2 + 1233 0192 8687 std Z+14,r24 + 1234 0194 9787 std Z+15,r25 + 1235 0196 A08B std Z+16,r26 + 1236 0198 B18B std Z+17,r27 + 1237 .LSM101: + 1238 019a 81E0 ldi r24,lo8(1) + 1239 019c 8583 std Z+5,r24 + 1240 .L69: + 1241 019e A701 movw r20,r14 + 1242 01a0 9601 movw r18,r12 + 1243 .LVL128: + 1244 01a2 00C0 rjmp .L60 + 1245 .LVL129: + 1246 .L62: + 1247 01a4 20E0 ldi r18,lo8(0) + 1248 01a6 30E0 ldi r19,hi8(0) + 1249 01a8 40E0 ldi r20,hlo8(0) + 1250 01aa 50E0 ldi r21,hhi8(0) + 1251 01ac 00C0 rjmp .L60 + 1252 .LVL130: + 1253 .L65: + 1254 01ae 2FEF ldi r18,lo8(-1) + 1255 01b0 3FEF ldi r19,hi8(-1) + 1256 01b2 4FEF ldi r20,hlo8(-1) + 1257 01b4 5FEF ldi r21,hhi8(-1) + 1258 .LVL131: + 1259 .L60: + 1260 .LSM102: + 1261 01b6 B901 movw r22,r18 + 1262 .LVL132: + 1263 01b8 CA01 movw r24,r20 + 1264 /* epilogue start */ + 1265 01ba 0F90 pop __tmp_reg__ + 1266 01bc 0F90 pop __tmp_reg__ + 1267 01be 0F90 pop __tmp_reg__ + 1268 01c0 0F90 pop __tmp_reg__ + 1269 01c2 CF91 pop r28 + 1270 01c4 DF91 pop r29 + 1271 01c6 1F91 pop r17 + 1272 01c8 0F91 pop r16 + 1273 01ca FF90 pop r15 + 1274 01cc EF90 pop r14 + 1275 01ce DF90 pop r13 + 1276 01d0 CF90 pop r12 + 1277 .LVL133: + 1278 01d2 BF90 pop r11 + 1279 .LVL134: + 1280 01d4 AF90 pop r10 + 1281 .LVL135: + 1282 01d6 9F90 pop r9 + 1283 .LVL136: + 1284 01d8 8F90 pop r8 + 1285 .LVL137: + 1286 01da 7F90 pop r7 + 1287 01dc 6F90 pop r6 + 1288 01de 5F90 pop r5 + 1289 01e0 4F90 pop r4 + 1290 .LVL138: + 1291 01e2 3F90 pop r3 + 1292 01e4 2F90 pop r2 + 1293 .LVL139: + 1294 01e6 0895 ret + 1295 .LFE61: + 1297 .section .text.f_lseek,"ax",@progbits + 1298 .global f_lseek + 1300 f_lseek: + 1301 .LFB78: + 1302 .LSM103: + 1303 .LVL140: + 1304 0000 2F92 push r2 + 1305 0002 3F92 push r3 + 1306 0004 4F92 push r4 + 1307 0006 5F92 push r5 + 1308 0008 6F92 push r6 + 1309 000a 7F92 push r7 + 1310 000c 8F92 push r8 + 1311 000e 9F92 push r9 + 1312 0010 AF92 push r10 + 1313 0012 BF92 push r11 + 1314 0014 CF92 push r12 + 1315 0016 DF92 push r13 + 1316 0018 EF92 push r14 + 1317 001a FF92 push r15 + 1318 001c 0F93 push r16 + 1319 001e 1F93 push r17 + 1320 0020 DF93 push r29 + 1321 0022 CF93 push r28 + 1322 0024 00D0 rcall . + 1323 0026 00D0 rcall . + 1324 0028 0F92 push __tmp_reg__ + 1325 002a CDB7 in r28,__SP_L__ + 1326 002c DEB7 in r29,__SP_H__ + 1327 /* prologue: function */ + 1328 /* frame size = 5 */ + 1329 002e 9D83 std Y+5,r25 + 1330 0030 8C83 std Y+4,r24 + 1331 0032 3A01 movw r6,r20 + 1332 0034 4B01 movw r8,r22 + 1333 .LSM104: + 1334 0036 DC01 movw r26,r24 + 1335 0038 1296 adiw r26,2 + 1336 003a 6D91 ld r22,X+ + 1337 003c 7C91 ld r23,X + 1338 003e 1397 sbiw r26,2+1 + 1339 0040 8D91 ld r24,X+ + 1340 0042 9C91 ld r25,X + 1341 .LVL141: + 1342 0044 0E94 0000 call validate 1343 .LVL142: - 1344 01e6 0895 ret - 1345 .LFE61: - 1347 .section .text.f_lseek,"ax",@progbits - 1348 .global f_lseek - 1350 f_lseek: - 1351 .LFB78: - 1352 .LSM103: - 1353 .LVL143: - 1354 0000 2F92 push r2 - 1355 0002 3F92 push r3 - 1356 0004 4F92 push r4 - 1357 0006 5F92 push r5 - 1358 0008 6F92 push r6 - 1359 000a 7F92 push r7 - 1360 000c 8F92 push r8 - 1361 000e 9F92 push r9 - 1362 0010 AF92 push r10 - 1363 0012 BF92 push r11 - 1364 0014 CF92 push r12 - 1365 0016 DF92 push r13 - 1366 0018 EF92 push r14 - 1367 001a FF92 push r15 - 1368 001c 0F93 push r16 - 1369 001e 1F93 push r17 - 1370 0020 DF93 push r29 - 1371 0022 CF93 push r28 - 1372 0024 00D0 rcall . - 1373 0026 00D0 rcall . - 1374 0028 0F92 push __tmp_reg__ - 1375 002a CDB7 in r28,__SP_L__ - 1376 002c DEB7 in r29,__SP_H__ - 1377 /* prologue: function */ - 1378 /* frame size = 5 */ - 1379 002e 9D83 std Y+5,r25 - 1380 0030 8C83 std Y+4,r24 - 1381 0032 3A01 movw r6,r20 - 1382 0034 4B01 movw r8,r22 - 1383 .LSM104: - 1384 0036 DC01 movw r26,r24 - 1385 0038 1296 adiw r26,2 - 1386 003a 6D91 ld r22,X+ - 1387 003c 7C91 ld r23,X - 1388 003e 1397 sbiw r26,2+1 - 1389 0040 8D91 ld r24,X+ - 1390 0042 9C91 ld r25,X - 1391 .LVL144: - 1392 0044 0E94 0000 call validate - 1393 .LVL145: - 1394 0048 8B83 std Y+3,r24 - 1395 .LVL146: - 1396 .LSM105: - 1397 004a 8823 tst r24 - 1398 004c 01F0 breq .+2 - 1399 004e 00C0 rjmp .L71 - 1400 .LSM106: - 1401 0050 EC81 ldd r30,Y+4 - 1402 0052 FD81 ldd r31,Y+5 - 1403 0054 8481 ldd r24,Z+4 - 1404 0056 87FD sbrc r24,7 - 1405 0058 00C0 rjmp .L94 - 1406 .L72: - 1407 .LSM107: - 1408 005a AC81 ldd r26,Y+4 - 1409 005c BD81 ldd r27,Y+5 - 1410 005e 1A96 adiw r26,10 - 1411 0060 AD90 ld r10,X+ - 1412 0062 BD90 ld r11,X+ - 1413 0064 CD90 ld r12,X+ - 1414 0066 DC90 ld r13,X - 1415 0068 1D97 sbiw r26,10+3 - 1416 .LVL147: - 1417 006a A614 cp r10,r6 - 1418 006c B704 cpc r11,r7 - 1419 006e C804 cpc r12,r8 - 1420 0070 D904 cpc r13,r9 - 1421 0072 00F4 brsh .L73 - 1422 0074 81FF sbrs r24,1 - 1423 0076 00C0 rjmp .L74 - 1424 .L73: - 1425 0078 6401 movw r12,r8 - 1426 007a 5301 movw r10,r6 - 1427 .L74: - 1428 .LSM108: - 1429 007c EC81 ldd r30,Y+4 - 1430 007e FD81 ldd r31,Y+5 - 1431 0080 2681 ldd r18,Z+6 - 1432 0082 3781 ldd r19,Z+7 - 1433 0084 4085 ldd r20,Z+8 - 1434 0086 5185 ldd r21,Z+9 - 1435 .LVL148: - 1436 .LSM109: - 1437 0088 1682 std Z+6,__zero_reg__ - 1438 008a 1782 std Z+7,__zero_reg__ - 1439 008c 1086 std Z+8,__zero_reg__ - 1440 008e 1186 std Z+9,__zero_reg__ - 1441 0090 8FEF ldi r24,lo8(-1) - 1442 0092 8583 std Z+5,r24 - 1443 .LSM110: - 1444 0094 A114 cp r10,__zero_reg__ - 1445 0096 B104 cpc r11,__zero_reg__ - 1446 0098 C104 cpc r12,__zero_reg__ - 1447 009a D104 cpc r13,__zero_reg__ - 1448 009c 01F4 brne .+2 - 1449 009e 00C0 rjmp .L75 - 1450 .LSM111: - 1451 00a0 0190 ld __tmp_reg__,Z+ - 1452 00a2 F081 ld r31,Z - 1453 00a4 E02D mov r30,__tmp_reg__ - 1454 00a6 FA83 std Y+2,r31 - 1455 00a8 E983 std Y+1,r30 - 1456 00aa 8281 ldd r24,Z+2 - 1457 00ac 682E mov r6,r24 - 1458 .LVL149: - 1459 00ae 7724 clr r7 - 1460 .LVL150: - 1461 00b0 8824 clr r8 - 1462 00b2 9924 clr r9 - 1463 .LVL151: - 1464 00b4 09E0 ldi r16,9 - 1465 00b6 660C 1: lsl r6 - 1466 00b8 771C rol r7 - 1467 00ba 881C rol r8 - 1468 00bc 991C rol r9 - 1469 00be 0A95 dec r16 - 1470 00c0 01F4 brne 1b - 1471 .LVL152: - 1472 .LSM112: - 1473 00c2 2115 cp r18,__zero_reg__ - 1474 00c4 3105 cpc r19,__zero_reg__ - 1475 00c6 4105 cpc r20,__zero_reg__ - 1476 00c8 5105 cpc r21,__zero_reg__ - 1477 00ca 01F0 breq .L76 - 1478 00cc 1901 movw r2,r18 - 1479 00ce 2A01 movw r4,r20 - 1480 00d0 0894 sec - 1481 00d2 2108 sbc r2,__zero_reg__ - 1482 00d4 3108 sbc r3,__zero_reg__ - 1483 00d6 4108 sbc r4,__zero_reg__ - 1484 00d8 5108 sbc r5,__zero_reg__ - 1485 00da C601 movw r24,r12 - 1486 00dc B501 movw r22,r10 - 1487 00de 6150 subi r22,lo8(-(-1)) - 1488 00e0 7040 sbci r23,hi8(-(-1)) - 1489 00e2 8040 sbci r24,hlo8(-(-1)) - 1490 00e4 9040 sbci r25,hhi8(-(-1)) - 1491 00e6 A401 movw r20,r8 - 1492 00e8 9301 movw r18,r6 - 1493 .LVL153: - 1494 00ea 0E94 0000 call __udivmodsi4 - 1495 00ee 7901 movw r14,r18 - 1496 00f0 8A01 movw r16,r20 - 1497 00f2 C201 movw r24,r4 - 1498 00f4 B101 movw r22,r2 - 1499 00f6 A401 movw r20,r8 - 1500 00f8 9301 movw r18,r6 - 1501 00fa 0E94 0000 call __udivmodsi4 - 1502 00fe E216 cp r14,r18 - 1503 0100 F306 cpc r15,r19 - 1504 0102 0407 cpc r16,r20 - 1505 0104 1507 cpc r17,r21 - 1506 0106 00F0 brlo .L76 - 1507 .LSM113: - 1508 0108 8827 clr r24 - 1509 010a 9927 clr r25 - 1510 010c DC01 movw r26,r24 - 1511 010e 8619 sub r24,r6 - 1512 0110 9709 sbc r25,r7 - 1513 0112 A809 sbc r26,r8 - 1514 0114 B909 sbc r27,r9 - 1515 0116 8221 and r24,r2 - 1516 0118 9321 and r25,r3 - 1517 011a A421 and r26,r4 - 1518 011c B521 and r27,r5 - 1519 011e EC81 ldd r30,Y+4 - 1520 0120 FD81 ldd r31,Y+5 - 1521 0122 8683 std Z+6,r24 - 1522 0124 9783 std Z+7,r25 - 1523 0126 A087 std Z+8,r26 - 1524 0128 B187 std Z+9,r27 - 1525 .LSM114: - 1526 012a A81A sub r10,r24 - 1527 012c B90A sbc r11,r25 - 1528 012e CA0A sbc r12,r26 - 1529 0130 DB0A sbc r13,r27 - 1530 .LSM115: - 1531 0132 4289 ldd r20,Z+18 - 1532 0134 5389 ldd r21,Z+19 - 1533 0136 6489 ldd r22,Z+20 - 1534 0138 7589 ldd r23,Z+21 - 1535 .LVL154: - 1536 013a 00C0 rjmp .L77 - 1537 .LVL155: - 1538 .L76: - 1539 .LSM116: - 1540 013c AC81 ldd r26,Y+4 - 1541 013e BD81 ldd r27,Y+5 - 1542 0140 1E96 adiw r26,14 - 1543 0142 4D91 ld r20,X+ - 1544 0144 5D91 ld r21,X+ - 1545 0146 6D91 ld r22,X+ - 1546 0148 7C91 ld r23,X - 1547 014a 5197 sbiw r26,14+3 - 1548 .LVL156: - 1549 .LSM117: - 1550 014c 4115 cp r20,__zero_reg__ - 1551 014e 5105 cpc r21,__zero_reg__ - 1552 0150 6105 cpc r22,__zero_reg__ - 1553 0152 7105 cpc r23,__zero_reg__ - 1554 0154 01F4 brne .L78 - 1555 .LSM118: - 1556 0156 8981 ldd r24,Y+1 - 1557 0158 9A81 ldd r25,Y+2 - 1558 015a 40E0 ldi r20,lo8(0) - 1559 015c 50E0 ldi r21,hi8(0) - 1560 015e 60E0 ldi r22,hlo8(0) - 1561 0160 70E0 ldi r23,hhi8(0) - 1562 .LVL157: - 1563 0162 0E94 0000 call create_chain - 1564 .LVL158: - 1565 0166 AB01 movw r20,r22 - 1566 0168 BC01 movw r22,r24 - 1567 .LVL159: - 1568 .LSM119: - 1569 016a 4130 cpi r20,lo8(1) - 1570 016c 5105 cpc r21,__zero_reg__ - 1571 016e 6105 cpc r22,__zero_reg__ - 1572 0170 7105 cpc r23,__zero_reg__ - 1573 0172 01F4 brne .L79 - 1574 .L96: - 1575 0174 EC81 ldd r30,Y+4 - 1576 0176 FD81 ldd r31,Y+5 - 1577 0178 8481 ldd r24,Z+4 - 1578 017a 8068 ori r24,lo8(-128) - 1579 017c 8483 std Z+4,r24 - 1580 .LVL160: - 1581 .L94: - 1582 017e F2E0 ldi r31,lo8(2) - 1583 0180 FB83 std Y+3,r31 - 1584 .LVL161: - 1585 0182 00C0 rjmp .L71 - 1586 .LVL162: - 1587 .L79: - 1588 .LSM120: - 1589 0184 4F3F cpi r20,lo8(-1) - 1590 0186 8FEF ldi r24,hi8(-1) - 1591 0188 5807 cpc r21,r24 - 1592 018a 8FEF ldi r24,hlo8(-1) - 1593 018c 6807 cpc r22,r24 - 1594 018e 8FEF ldi r24,hhi8(-1) - 1595 0190 7807 cpc r23,r24 - 1596 0192 01F0 breq .L97 - 1597 .L80: - 1598 .LSM121: - 1599 0194 EC81 ldd r30,Y+4 - 1600 0196 FD81 ldd r31,Y+5 - 1601 0198 4687 std Z+14,r20 - 1602 019a 5787 std Z+15,r21 - 1603 019c 608B std Z+16,r22 - 1604 019e 718B std Z+17,r23 - 1605 .LVL163: - 1606 .L78: - 1607 .LSM122: - 1608 01a0 AC81 ldd r26,Y+4 - 1609 01a2 BD81 ldd r27,Y+5 - 1610 01a4 5296 adiw r26,18 - 1611 01a6 4D93 st X+,r20 - 1612 01a8 5D93 st X+,r21 - 1613 01aa 6D93 st X+,r22 - 1614 01ac 7C93 st X,r23 - 1615 01ae 5597 sbiw r26,18+3 - 1616 .L77: - 1617 .LSM123: - 1618 01b0 4115 cp r20,__zero_reg__ - 1619 01b2 5105 cpc r21,__zero_reg__ - 1620 01b4 6105 cpc r22,__zero_reg__ - 1621 01b6 7105 cpc r23,__zero_reg__ - 1622 01b8 01F0 breq .+2 - 1623 01ba 00C0 rjmp .L93 - 1624 01bc 00C0 rjmp .L75 - 1625 .L88: - 1626 .LSM124: - 1627 01be EC81 ldd r30,Y+4 - 1628 01c0 FD81 ldd r31,Y+5 - 1629 01c2 8481 ldd r24,Z+4 - 1630 01c4 2081 ld r18,Z - 1631 01c6 3181 ldd r19,Z+1 - 1632 .LVL164: - 1633 01c8 81FF sbrs r24,1 - 1634 01ca 00C0 rjmp .L82 - 1635 .LSM125: - 1636 01cc C901 movw r24,r18 - 1637 01ce 0E94 0000 call create_chain - 1638 .LVL165: - 1639 01d2 AB01 movw r20,r22 - 1640 01d4 BC01 movw r22,r24 - 1641 .LVL166: - 1642 .LSM126: - 1643 01d6 4115 cp r20,__zero_reg__ - 1644 01d8 5105 cpc r21,__zero_reg__ - 1645 01da 6105 cpc r22,__zero_reg__ - 1646 01dc 7105 cpc r23,__zero_reg__ - 1647 01de 01F4 brne .L83 - 1648 01e0 6401 movw r12,r8 - 1649 01e2 5301 movw r10,r6 - 1650 01e4 00C0 rjmp .L84 - 1651 .L82: - 1652 .LSM127: - 1653 01e6 C901 movw r24,r18 - 1654 01e8 0E94 0000 call get_fat - 1655 .LVL167: - 1656 01ec AB01 movw r20,r22 - 1657 01ee BC01 movw r22,r24 - 1658 .LVL168: - 1659 .L83: - 1660 .LSM128: - 1661 01f0 4F3F cpi r20,lo8(-1) - 1662 01f2 FFEF ldi r31,hi8(-1) - 1663 01f4 5F07 cpc r21,r31 - 1664 01f6 FFEF ldi r31,hlo8(-1) - 1665 01f8 6F07 cpc r22,r31 - 1666 01fa FFEF ldi r31,hhi8(-1) - 1667 01fc 7F07 cpc r23,r31 - 1668 01fe 01F4 brne .L85 - 1669 .L97: - 1670 0200 AC81 ldd r26,Y+4 - 1671 0202 BD81 ldd r27,Y+5 - 1672 0204 1496 adiw r26,4 - 1673 0206 8C91 ld r24,X - 1674 0208 1497 sbiw r26,4 - 1675 020a 8068 ori r24,lo8(-128) - 1676 020c 1496 adiw r26,4 - 1677 020e 8C93 st X,r24 - 1678 0210 B1E0 ldi r27,lo8(1) - 1679 0212 00C0 rjmp .L95 - 1680 .L85: - 1681 .LSM129: - 1682 0214 4230 cpi r20,lo8(2) - 1683 0216 5105 cpc r21,__zero_reg__ - 1684 0218 6105 cpc r22,__zero_reg__ - 1685 021a 7105 cpc r23,__zero_reg__ - 1686 021c 00F4 brsh .+2 - 1687 021e 00C0 rjmp .L96 - 1688 0220 AC81 ldd r26,Y+4 - 1689 0222 BD81 ldd r27,Y+5 - 1690 0224 ED91 ld r30,X+ - 1691 0226 FC91 ld r31,X - 1692 0228 828D ldd r24,Z+26 - 1693 022a 938D ldd r25,Z+27 - 1694 022c A48D ldd r26,Z+28 - 1695 022e B58D ldd r27,Z+29 - 1696 0230 4817 cp r20,r24 - 1697 0232 5907 cpc r21,r25 - 1698 0234 6A07 cpc r22,r26 - 1699 0236 7B07 cpc r23,r27 - 1700 0238 00F0 brlo .+2 - 1701 023a 00C0 rjmp .L96 - 1702 .L87: - 1703 .LSM130: - 1704 023c AC81 ldd r26,Y+4 - 1705 023e BD81 ldd r27,Y+5 - 1706 0240 5296 adiw r26,18 - 1707 0242 4D93 st X+,r20 - 1708 0244 5D93 st X+,r21 - 1709 0246 6D93 st X+,r22 - 1710 0248 7C93 st X,r23 - 1711 024a 5597 sbiw r26,18+3 - 1712 .LSM131: - 1713 024c FD01 movw r30,r26 - 1714 024e 8681 ldd r24,Z+6 - 1715 0250 9781 ldd r25,Z+7 - 1716 0252 A085 ldd r26,Z+8 - 1717 0254 B185 ldd r27,Z+9 - 1718 0256 860D add r24,r6 - 1719 0258 971D adc r25,r7 - 1720 025a A81D adc r26,r8 - 1721 025c B91D adc r27,r9 - 1722 025e 8683 std Z+6,r24 - 1723 0260 9783 std Z+7,r25 - 1724 0262 A087 std Z+8,r26 - 1725 0264 B187 std Z+9,r27 - 1726 .LSM132: - 1727 0266 A618 sub r10,r6 - 1728 0268 B708 sbc r11,r7 - 1729 026a C808 sbc r12,r8 - 1730 026c D908 sbc r13,r9 - 1731 .LVL169: - 1732 .L93: - 1733 .LSM133: - 1734 026e 6A14 cp r6,r10 - 1735 0270 7B04 cpc r7,r11 - 1736 0272 8C04 cpc r8,r12 - 1737 0274 9D04 cpc r9,r13 - 1738 0276 00F4 brsh .+2 - 1739 0278 00C0 rjmp .L88 - 1740 .L84: - 1741 .LSM134: - 1742 027a EC81 ldd r30,Y+4 - 1743 027c FD81 ldd r31,Y+5 - 1744 027e 8681 ldd r24,Z+6 - 1745 0280 9781 ldd r25,Z+7 - 1746 0282 A085 ldd r26,Z+8 - 1747 0284 B185 ldd r27,Z+9 - 1748 0286 8A0D add r24,r10 - 1749 0288 9B1D adc r25,r11 - 1750 028a AC1D adc r26,r12 - 1751 028c BD1D adc r27,r13 - 1752 028e 8683 std Z+6,r24 - 1753 0290 9783 std Z+7,r25 - 1754 0292 A087 std Z+8,r26 - 1755 0294 B187 std Z+9,r27 - 1756 .LSM135: - 1757 0296 D601 movw r26,r12 - 1758 0298 C501 movw r24,r10 - 1759 029a 19E0 ldi r17,9 - 1760 029c B695 1: lsr r27 - 1761 029e A795 ror r26 - 1762 02a0 9795 ror r25 - 1763 02a2 8795 ror r24 - 1764 02a4 1A95 dec r17 - 1765 02a6 01F4 brne 1b - 1766 02a8 E82E mov r14,r24 - 1767 02aa 8583 std Z+5,r24 - 1768 .LSM136: - 1769 02ac 8FEF ldi r24,lo8(511) - 1770 02ae 91E0 ldi r25,hi8(511) - 1771 02b0 A0E0 ldi r26,hlo8(511) - 1772 02b2 B0E0 ldi r27,hhi8(511) - 1773 02b4 A822 and r10,r24 - 1774 02b6 B922 and r11,r25 - 1775 02b8 CA22 and r12,r26 - 1776 02ba DB22 and r13,r27 - 1777 02bc A114 cp r10,__zero_reg__ - 1778 02be B104 cpc r11,__zero_reg__ - 1779 02c0 C104 cpc r12,__zero_reg__ - 1780 02c2 D104 cpc r13,__zero_reg__ - 1781 02c4 01F0 breq .L75 - 1782 .LSM137: - 1783 02c6 8081 ld r24,Z - 1784 02c8 9181 ldd r25,Z+1 - 1785 02ca 0E94 0000 call clust2sect - 1786 .LVL170: - 1787 .LSM138: - 1788 02ce 6115 cp r22,__zero_reg__ - 1789 02d0 7105 cpc r23,__zero_reg__ - 1790 02d2 8105 cpc r24,__zero_reg__ - 1791 02d4 9105 cpc r25,__zero_reg__ - 1792 .LVL171: - 1793 02d6 01F4 brne .L89 - 1794 02d8 AC81 ldd r26,Y+4 - 1795 02da BD81 ldd r27,Y+5 - 1796 02dc 1496 adiw r26,4 - 1797 02de 8C91 ld r24,X - 1798 02e0 1497 sbiw r26,4 - 1799 02e2 8068 ori r24,lo8(-128) - 1800 02e4 1496 adiw r26,4 - 1801 02e6 8C93 st X,r24 - 1802 02e8 B2E0 ldi r27,lo8(2) - 1803 .LVL172: - 1804 .L95: - 1805 02ea BB83 std Y+3,r27 - 1806 .LVL173: - 1807 02ec 00C0 rjmp .L71 - 1808 .LVL174: - 1809 .L89: - 1810 .LSM139: - 1811 02ee 9B01 movw r18,r22 - 1812 02f0 AC01 movw r20,r24 - 1813 02f2 2E0D add r18,r14 - 1814 02f4 311D adc r19,__zero_reg__ - 1815 02f6 411D adc r20,__zero_reg__ - 1816 02f8 511D adc r21,__zero_reg__ - 1817 .LVL175: - 1818 .LSM140: - 1819 02fa E394 inc r14 - 1820 02fc EC81 ldd r30,Y+4 - 1821 02fe FD81 ldd r31,Y+5 - 1822 0300 E582 std Z+5,r14 - 1823 0302 00C0 rjmp .L90 - 1824 .LVL176: - 1825 .L75: - 1826 0304 20E0 ldi r18,lo8(0) - 1827 0306 30E0 ldi r19,hi8(0) - 1828 0308 40E0 ldi r20,hlo8(0) - 1829 030a 50E0 ldi r21,hhi8(0) - 1830 .LVL177: - 1831 .L90: - 1832 .LSM141: - 1833 030c EC81 ldd r30,Y+4 - 1834 030e FD81 ldd r31,Y+5 - 1835 0310 8681 ldd r24,Z+6 - 1836 0312 9781 ldd r25,Z+7 - 1837 0314 A085 ldd r26,Z+8 - 1838 0316 B185 ldd r27,Z+9 - 1839 0318 9170 andi r25,hi8(511) - 1840 031a A070 andi r26,hlo8(511) - 1841 031c B070 andi r27,hhi8(511) - 1842 031e 0097 sbiw r24,0 - 1843 0320 A105 cpc r26,__zero_reg__ - 1844 0322 B105 cpc r27,__zero_reg__ - 1845 0324 01F0 breq .L91 - 1846 0326 8689 ldd r24,Z+22 - 1847 0328 9789 ldd r25,Z+23 - 1848 032a A08D ldd r26,Z+24 - 1849 032c B18D ldd r27,Z+25 - 1850 032e 2817 cp r18,r24 - 1851 0330 3907 cpc r19,r25 - 1852 0332 4A07 cpc r20,r26 - 1853 0334 5B07 cpc r21,r27 - 1854 0336 01F0 breq .L91 - 1855 .LSM142: - 1856 0338 268B std Z+22,r18 - 1857 033a 378B std Z+23,r19 - 1858 033c 408F std Z+24,r20 - 1859 033e 518F std Z+25,r21 - 1860 .L91: - 1861 .LSM143: - 1862 0340 EC81 ldd r30,Y+4 - 1863 0342 FD81 ldd r31,Y+5 - 1864 0344 2681 ldd r18,Z+6 - 1865 0346 3781 ldd r19,Z+7 - 1866 0348 4085 ldd r20,Z+8 - 1867 034a 5185 ldd r21,Z+9 - 1868 .LVL178: - 1869 034c 8285 ldd r24,Z+10 - 1870 034e 9385 ldd r25,Z+11 - 1871 0350 A485 ldd r26,Z+12 - 1872 0352 B585 ldd r27,Z+13 - 1873 0354 8217 cp r24,r18 - 1874 0356 9307 cpc r25,r19 - 1875 0358 A407 cpc r26,r20 - 1876 035a B507 cpc r27,r21 - 1877 035c 00F4 brsh .L71 - 1878 .LSM144: - 1879 035e 2287 std Z+10,r18 - 1880 0360 3387 std Z+11,r19 - 1881 0362 4487 std Z+12,r20 - 1882 0364 5587 std Z+13,r21 - 1883 .LSM145: - 1884 0366 8481 ldd r24,Z+4 - 1885 0368 8062 ori r24,lo8(32) - 1886 036a 8483 std Z+4,r24 - 1887 .LVL179: - 1888 .L71: - 1889 .LSM146: - 1890 036c 8B81 ldd r24,Y+3 - 1891 /* epilogue start */ - 1892 036e 0F90 pop __tmp_reg__ - 1893 0370 0F90 pop __tmp_reg__ - 1894 0372 0F90 pop __tmp_reg__ - 1895 0374 0F90 pop __tmp_reg__ - 1896 0376 0F90 pop __tmp_reg__ - 1897 0378 CF91 pop r28 - 1898 037a DF91 pop r29 - 1899 037c 1F91 pop r17 - 1900 037e 0F91 pop r16 - 1901 0380 FF90 pop r15 - 1902 0382 EF90 pop r14 - 1903 0384 DF90 pop r13 - 1904 0386 CF90 pop r12 - 1905 0388 BF90 pop r11 - 1906 038a AF90 pop r10 - 1907 .LVL180: - 1908 038c 9F90 pop r9 - 1909 038e 8F90 pop r8 - 1910 .LVL181: - 1911 0390 7F90 pop r7 - 1912 .LVL182: - 1913 0392 6F90 pop r6 - 1914 .LVL183: - 1915 0394 5F90 pop r5 - 1916 0396 4F90 pop r4 - 1917 0398 3F90 pop r3 - 1918 039a 2F90 pop r2 - 1919 039c 0895 ret - 1920 .LFE78: - 1922 .section .text.dir_seek,"ax",@progbits - 1924 dir_seek: - 1925 .LFB63: - 1926 .LSM147: - 1927 .LVL184: - 1928 0000 EF92 push r14 - 1929 0002 FF92 push r15 - 1930 0004 0F93 push r16 - 1931 0006 1F93 push r17 - 1932 0008 CF93 push r28 - 1933 000a DF93 push r29 - 1934 /* prologue: function */ - 1935 /* frame size = 0 */ - 1936 000c 8C01 movw r16,r24 - 1937 000e EB01 movw r28,r22 - 1938 .LSM148: - 1939 0010 DC01 movw r26,r24 - 1940 0012 1596 adiw r26,4+1 - 1941 0014 7C93 st X,r23 - 1942 0016 6E93 st -X,r22 - 1943 0018 1497 sbiw r26,4 - 1944 .LSM149: - 1945 001a 1696 adiw r26,6 - 1946 001c 4D91 ld r20,X+ - 1947 001e 5D91 ld r21,X+ - 1948 0020 6D91 ld r22,X+ - 1949 0022 7C91 ld r23,X - 1950 0024 1997 sbiw r26,6+3 - 1951 .LVL185: - 1952 .LSM150: - 1953 0026 4130 cpi r20,lo8(1) - 1954 0028 5105 cpc r21,__zero_reg__ - 1955 002a 6105 cpc r22,__zero_reg__ - 1956 002c 7105 cpc r23,__zero_reg__ - 1957 002e 01F4 brne .+2 - 1958 0030 00C0 rjmp .L99 - 1959 0032 ED91 ld r30,X+ - 1960 0034 FC91 ld r31,X - 1961 0036 828D ldd r24,Z+26 - 1962 0038 938D ldd r25,Z+27 - 1963 003a A48D ldd r26,Z+28 - 1964 003c B58D ldd r27,Z+29 - 1965 .LVL186: - 1966 003e 4817 cp r20,r24 - 1967 0040 5907 cpc r21,r25 - 1968 0042 6A07 cpc r22,r26 - 1969 0044 7B07 cpc r23,r27 - 1970 0046 00F0 brlo .+2 - 1971 0048 00C0 rjmp .L99 - 1972 .LSM151: - 1973 004a 4115 cp r20,__zero_reg__ - 1974 004c 5105 cpc r21,__zero_reg__ - 1975 004e 6105 cpc r22,__zero_reg__ - 1976 0050 7105 cpc r23,__zero_reg__ - 1977 0052 01F4 brne .L100 - 1978 0054 8081 ld r24,Z - 1979 0056 8330 cpi r24,lo8(3) - 1980 0058 01F4 brne .L101 - 1981 .LSM152: - 1982 005a 42A1 ldd r20,Z+34 - 1983 005c 53A1 ldd r21,Z+35 - 1984 005e 64A1 ldd r22,Z+36 - 1985 0060 75A1 ldd r23,Z+37 - 1986 .LSM153: - 1987 0062 4115 cp r20,__zero_reg__ - 1988 0064 5105 cpc r21,__zero_reg__ - 1989 0066 6105 cpc r22,__zero_reg__ - 1990 0068 7105 cpc r23,__zero_reg__ - 1991 006a 01F4 brne .L100 - 1992 .L101: - 1993 .LSM154: - 1994 006c F801 movw r30,r16 - 1995 006e 1286 std Z+10,__zero_reg__ - 1996 0070 1386 std Z+11,__zero_reg__ - 1997 0072 1486 std Z+12,__zero_reg__ - 1998 0074 1586 std Z+13,__zero_reg__ - 1999 .LSM155: - 2000 0076 0190 ld __tmp_reg__,Z+ - 2001 0078 F081 ld r31,Z - 2002 007a E02D mov r30,__tmp_reg__ - 2003 007c 8085 ldd r24,Z+8 - 2004 007e 9185 ldd r25,Z+9 - 2005 0080 C817 cp r28,r24 - 2006 0082 D907 cpc r29,r25 - 2007 0084 00F0 brlo .+2 - 2008 0086 00C0 rjmp .L99 - 2009 .LVL187: - 2010 .LSM156: - 2011 0088 CE01 movw r24,r28 - 2012 008a A4E0 ldi r26,4 - 2013 008c 9695 1: lsr r25 - 2014 008e 8795 ror r24 - 2015 0090 AA95 dec r26 - 2016 0092 01F4 brne 1b - 2017 0094 A0E0 ldi r26,lo8(0) - 2018 0096 B0E0 ldi r27,hi8(0) - 2019 0098 22A1 ldd r18,Z+34 - 2020 009a 33A1 ldd r19,Z+35 - 2021 009c 44A1 ldd r20,Z+36 - 2022 009e 55A1 ldd r21,Z+37 - 2023 00a0 820F add r24,r18 - 2024 00a2 931F adc r25,r19 - 2025 00a4 A41F adc r26,r20 - 2026 00a6 B51F adc r27,r21 - 2027 00a8 F801 movw r30,r16 - 2028 00aa 8687 std Z+14,r24 - 2029 00ac 9787 std Z+15,r25 - 2030 00ae A08B std Z+16,r26 - 2031 00b0 B18B std Z+17,r27 - 2032 00b2 00C0 rjmp .L102 - 2033 .LVL188: - 2034 .L100: - 2035 .LSM157: - 2036 00b4 8281 ldd r24,Z+2 - 2037 00b6 E82E mov r14,r24 - 2038 .LVL189: - 2039 00b8 FF24 clr r15 - 2040 .LVL190: - 2041 00ba E4E0 ldi r30,4 - 2042 00bc EE0C 1: lsl r14 - 2043 00be FF1C rol r15 - 2044 00c0 EA95 dec r30 - 2045 00c2 01F4 brne 1b - 2046 .LVL191: - 2047 00c4 00C0 rjmp .L103 - 2048 .LVL192: - 2049 .L106: - 2050 .LSM158: - 2051 00c6 0E94 0000 call get_fat - 2052 .LVL193: - 2053 00ca AB01 movw r20,r22 - 2054 00cc BC01 movw r22,r24 - 2055 .LVL194: - 2056 .LSM159: - 2057 00ce 4F3F cpi r20,lo8(-1) - 2058 00d0 FFEF ldi r31,hi8(-1) - 2059 00d2 5F07 cpc r21,r31 - 2060 00d4 FFEF ldi r31,hlo8(-1) - 2061 00d6 6F07 cpc r22,r31 - 2062 00d8 FFEF ldi r31,hhi8(-1) - 2063 00da 7F07 cpc r23,r31 - 2064 00dc 01F4 brne .L104 - 2065 00de 81E0 ldi r24,lo8(1) - 2066 00e0 00C0 rjmp .L105 - 2067 .L104: - 2068 .LSM160: - 2069 00e2 4230 cpi r20,lo8(2) - 2070 00e4 5105 cpc r21,__zero_reg__ - 2071 00e6 6105 cpc r22,__zero_reg__ - 2072 00e8 7105 cpc r23,__zero_reg__ - 2073 00ea 00F4 brsh .+2 - 2074 00ec 00C0 rjmp .L99 - 2075 00ee D801 movw r26,r16 - 2076 00f0 ED91 ld r30,X+ - 2077 00f2 FC91 ld r31,X - 2078 00f4 828D ldd r24,Z+26 - 2079 00f6 938D ldd r25,Z+27 - 2080 00f8 A48D ldd r26,Z+28 - 2081 00fa B58D ldd r27,Z+29 - 2082 00fc 4817 cp r20,r24 - 2083 00fe 5907 cpc r21,r25 - 2084 0100 6A07 cpc r22,r26 - 2085 0102 7B07 cpc r23,r27 - 2086 0104 00F4 brsh .L99 - 2087 .LSM161: - 2088 0106 CE19 sub r28,r14 - 2089 0108 DF09 sbc r29,r15 - 2090 .LVL195: - 2091 .L103: - 2092 010a F801 movw r30,r16 - 2093 010c 8081 ld r24,Z - 2094 010e 9181 ldd r25,Z+1 - 2095 .LSM162: - 2096 0110 CE15 cp r28,r14 - 2097 0112 DF05 cpc r29,r15 - 2098 0114 00F4 brsh .L106 - 2099 .LSM163: - 2100 0116 D801 movw r26,r16 - 2101 0118 1A96 adiw r26,10 - 2102 011a 4D93 st X+,r20 - 2103 011c 5D93 st X+,r21 - 2104 011e 6D93 st X+,r22 - 2105 0120 7C93 st X,r23 - 2106 0122 1D97 sbiw r26,10+3 - 2107 .LSM164: - 2108 0124 0E94 0000 call clust2sect + 1344 0048 8B83 std Y+3,r24 + 1345 .LVL143: + 1346 .LSM105: + 1347 004a 8823 tst r24 + 1348 004c 01F0 breq .+2 + 1349 004e 00C0 rjmp .L71 + 1350 .LSM106: + 1351 0050 EC81 ldd r30,Y+4 + 1352 0052 FD81 ldd r31,Y+5 + 1353 0054 8481 ldd r24,Z+4 + 1354 0056 87FD sbrc r24,7 + 1355 0058 00C0 rjmp .L94 + 1356 .L72: + 1357 .LSM107: + 1358 005a AC81 ldd r26,Y+4 + 1359 005c BD81 ldd r27,Y+5 + 1360 005e 1A96 adiw r26,10 + 1361 0060 AD90 ld r10,X+ + 1362 0062 BD90 ld r11,X+ + 1363 0064 CD90 ld r12,X+ + 1364 0066 DC90 ld r13,X + 1365 0068 1D97 sbiw r26,10+3 + 1366 .LVL144: + 1367 006a A614 cp r10,r6 + 1368 006c B704 cpc r11,r7 + 1369 006e C804 cpc r12,r8 + 1370 0070 D904 cpc r13,r9 + 1371 0072 00F4 brsh .L73 + 1372 0074 81FF sbrs r24,1 + 1373 0076 00C0 rjmp .L74 + 1374 .L73: + 1375 0078 6401 movw r12,r8 + 1376 007a 5301 movw r10,r6 + 1377 .L74: + 1378 .LSM108: + 1379 007c EC81 ldd r30,Y+4 + 1380 007e FD81 ldd r31,Y+5 + 1381 0080 2681 ldd r18,Z+6 + 1382 0082 3781 ldd r19,Z+7 + 1383 0084 4085 ldd r20,Z+8 + 1384 0086 5185 ldd r21,Z+9 + 1385 .LVL145: + 1386 .LSM109: + 1387 0088 1682 std Z+6,__zero_reg__ + 1388 008a 1782 std Z+7,__zero_reg__ + 1389 008c 1086 std Z+8,__zero_reg__ + 1390 008e 1186 std Z+9,__zero_reg__ + 1391 0090 8FEF ldi r24,lo8(-1) + 1392 0092 8583 std Z+5,r24 + 1393 .LSM110: + 1394 0094 A114 cp r10,__zero_reg__ + 1395 0096 B104 cpc r11,__zero_reg__ + 1396 0098 C104 cpc r12,__zero_reg__ + 1397 009a D104 cpc r13,__zero_reg__ + 1398 009c 01F4 brne .+2 + 1399 009e 00C0 rjmp .L75 + 1400 .LSM111: + 1401 00a0 0190 ld __tmp_reg__,Z+ + 1402 00a2 F081 ld r31,Z + 1403 00a4 E02D mov r30,__tmp_reg__ + 1404 00a6 FA83 std Y+2,r31 + 1405 00a8 E983 std Y+1,r30 + 1406 00aa 8281 ldd r24,Z+2 + 1407 00ac 682E mov r6,r24 + 1408 .LVL146: + 1409 00ae 7724 clr r7 + 1410 .LVL147: + 1411 00b0 8824 clr r8 + 1412 00b2 9924 clr r9 + 1413 .LVL148: + 1414 00b4 09E0 ldi r16,9 + 1415 00b6 660C 1: lsl r6 + 1416 00b8 771C rol r7 + 1417 00ba 881C rol r8 + 1418 00bc 991C rol r9 + 1419 00be 0A95 dec r16 + 1420 00c0 01F4 brne 1b + 1421 .LVL149: + 1422 .LSM112: + 1423 00c2 2115 cp r18,__zero_reg__ + 1424 00c4 3105 cpc r19,__zero_reg__ + 1425 00c6 4105 cpc r20,__zero_reg__ + 1426 00c8 5105 cpc r21,__zero_reg__ + 1427 00ca 01F0 breq .L76 + 1428 00cc 1901 movw r2,r18 + 1429 00ce 2A01 movw r4,r20 + 1430 00d0 0894 sec + 1431 00d2 2108 sbc r2,__zero_reg__ + 1432 00d4 3108 sbc r3,__zero_reg__ + 1433 00d6 4108 sbc r4,__zero_reg__ + 1434 00d8 5108 sbc r5,__zero_reg__ + 1435 00da C601 movw r24,r12 + 1436 00dc B501 movw r22,r10 + 1437 00de 6150 subi r22,lo8(-(-1)) + 1438 00e0 7040 sbci r23,hi8(-(-1)) + 1439 00e2 8040 sbci r24,hlo8(-(-1)) + 1440 00e4 9040 sbci r25,hhi8(-(-1)) + 1441 00e6 A401 movw r20,r8 + 1442 00e8 9301 movw r18,r6 + 1443 .LVL150: + 1444 00ea 0E94 0000 call __udivmodsi4 + 1445 00ee 7901 movw r14,r18 + 1446 00f0 8A01 movw r16,r20 + 1447 00f2 C201 movw r24,r4 + 1448 00f4 B101 movw r22,r2 + 1449 00f6 A401 movw r20,r8 + 1450 00f8 9301 movw r18,r6 + 1451 00fa 0E94 0000 call __udivmodsi4 + 1452 00fe E216 cp r14,r18 + 1453 0100 F306 cpc r15,r19 + 1454 0102 0407 cpc r16,r20 + 1455 0104 1507 cpc r17,r21 + 1456 0106 00F0 brlo .L76 + 1457 .LSM113: + 1458 0108 8827 clr r24 + 1459 010a 9927 clr r25 + 1460 010c DC01 movw r26,r24 + 1461 010e 8619 sub r24,r6 + 1462 0110 9709 sbc r25,r7 + 1463 0112 A809 sbc r26,r8 + 1464 0114 B909 sbc r27,r9 + 1465 0116 8221 and r24,r2 + 1466 0118 9321 and r25,r3 + 1467 011a A421 and r26,r4 + 1468 011c B521 and r27,r5 + 1469 011e EC81 ldd r30,Y+4 + 1470 0120 FD81 ldd r31,Y+5 + 1471 0122 8683 std Z+6,r24 + 1472 0124 9783 std Z+7,r25 + 1473 0126 A087 std Z+8,r26 + 1474 0128 B187 std Z+9,r27 + 1475 .LSM114: + 1476 012a A81A sub r10,r24 + 1477 012c B90A sbc r11,r25 + 1478 012e CA0A sbc r12,r26 + 1479 0130 DB0A sbc r13,r27 + 1480 .LSM115: + 1481 0132 4289 ldd r20,Z+18 + 1482 0134 5389 ldd r21,Z+19 + 1483 0136 6489 ldd r22,Z+20 + 1484 0138 7589 ldd r23,Z+21 + 1485 .LVL151: + 1486 013a 00C0 rjmp .L77 + 1487 .LVL152: + 1488 .L76: + 1489 .LSM116: + 1490 013c AC81 ldd r26,Y+4 + 1491 013e BD81 ldd r27,Y+5 + 1492 0140 1E96 adiw r26,14 + 1493 0142 4D91 ld r20,X+ + 1494 0144 5D91 ld r21,X+ + 1495 0146 6D91 ld r22,X+ + 1496 0148 7C91 ld r23,X + 1497 014a 5197 sbiw r26,14+3 + 1498 .LVL153: + 1499 .LSM117: + 1500 014c 4115 cp r20,__zero_reg__ + 1501 014e 5105 cpc r21,__zero_reg__ + 1502 0150 6105 cpc r22,__zero_reg__ + 1503 0152 7105 cpc r23,__zero_reg__ + 1504 0154 01F4 brne .L78 + 1505 .LSM118: + 1506 0156 8981 ldd r24,Y+1 + 1507 0158 9A81 ldd r25,Y+2 + 1508 015a 40E0 ldi r20,lo8(0) + 1509 015c 50E0 ldi r21,hi8(0) + 1510 015e 60E0 ldi r22,hlo8(0) + 1511 0160 70E0 ldi r23,hhi8(0) + 1512 .LVL154: + 1513 0162 0E94 0000 call create_chain + 1514 .LVL155: + 1515 0166 AB01 movw r20,r22 + 1516 0168 BC01 movw r22,r24 + 1517 .LVL156: + 1518 .LSM119: + 1519 016a 4130 cpi r20,lo8(1) + 1520 016c 5105 cpc r21,__zero_reg__ + 1521 016e 6105 cpc r22,__zero_reg__ + 1522 0170 7105 cpc r23,__zero_reg__ + 1523 0172 01F4 brne .L79 + 1524 .L96: + 1525 0174 EC81 ldd r30,Y+4 + 1526 0176 FD81 ldd r31,Y+5 + 1527 0178 8481 ldd r24,Z+4 + 1528 017a 8068 ori r24,lo8(-128) + 1529 017c 8483 std Z+4,r24 + 1530 .LVL157: + 1531 .L94: + 1532 017e F2E0 ldi r31,lo8(2) + 1533 0180 FB83 std Y+3,r31 + 1534 .LVL158: + 1535 0182 00C0 rjmp .L71 + 1536 .LVL159: + 1537 .L79: + 1538 .LSM120: + 1539 0184 4F3F cpi r20,lo8(-1) + 1540 0186 8FEF ldi r24,hi8(-1) + 1541 0188 5807 cpc r21,r24 + 1542 018a 8FEF ldi r24,hlo8(-1) + 1543 018c 6807 cpc r22,r24 + 1544 018e 8FEF ldi r24,hhi8(-1) + 1545 0190 7807 cpc r23,r24 + 1546 0192 01F0 breq .L97 + 1547 .L80: + 1548 .LSM121: + 1549 0194 EC81 ldd r30,Y+4 + 1550 0196 FD81 ldd r31,Y+5 + 1551 0198 4687 std Z+14,r20 + 1552 019a 5787 std Z+15,r21 + 1553 019c 608B std Z+16,r22 + 1554 019e 718B std Z+17,r23 + 1555 .LVL160: + 1556 .L78: + 1557 .LSM122: + 1558 01a0 AC81 ldd r26,Y+4 + 1559 01a2 BD81 ldd r27,Y+5 + 1560 01a4 5296 adiw r26,18 + 1561 01a6 4D93 st X+,r20 + 1562 01a8 5D93 st X+,r21 + 1563 01aa 6D93 st X+,r22 + 1564 01ac 7C93 st X,r23 + 1565 01ae 5597 sbiw r26,18+3 + 1566 .L77: + 1567 .LSM123: + 1568 01b0 4115 cp r20,__zero_reg__ + 1569 01b2 5105 cpc r21,__zero_reg__ + 1570 01b4 6105 cpc r22,__zero_reg__ + 1571 01b6 7105 cpc r23,__zero_reg__ + 1572 01b8 01F0 breq .+2 + 1573 01ba 00C0 rjmp .L93 + 1574 01bc 00C0 rjmp .L75 + 1575 .L88: + 1576 .LSM124: + 1577 01be EC81 ldd r30,Y+4 + 1578 01c0 FD81 ldd r31,Y+5 + 1579 01c2 8481 ldd r24,Z+4 + 1580 01c4 2081 ld r18,Z + 1581 01c6 3181 ldd r19,Z+1 + 1582 .LVL161: + 1583 01c8 81FF sbrs r24,1 + 1584 01ca 00C0 rjmp .L82 + 1585 .LSM125: + 1586 01cc C901 movw r24,r18 + 1587 01ce 0E94 0000 call create_chain + 1588 .LVL162: + 1589 01d2 AB01 movw r20,r22 + 1590 01d4 BC01 movw r22,r24 + 1591 .LVL163: + 1592 .LSM126: + 1593 01d6 4115 cp r20,__zero_reg__ + 1594 01d8 5105 cpc r21,__zero_reg__ + 1595 01da 6105 cpc r22,__zero_reg__ + 1596 01dc 7105 cpc r23,__zero_reg__ + 1597 01de 01F4 brne .L83 + 1598 01e0 6401 movw r12,r8 + 1599 01e2 5301 movw r10,r6 + 1600 01e4 00C0 rjmp .L84 + 1601 .L82: + 1602 .LSM127: + 1603 01e6 C901 movw r24,r18 + 1604 01e8 0E94 0000 call get_fat + 1605 .LVL164: + 1606 01ec AB01 movw r20,r22 + 1607 01ee BC01 movw r22,r24 + 1608 .LVL165: + 1609 .L83: + 1610 .LSM128: + 1611 01f0 4F3F cpi r20,lo8(-1) + 1612 01f2 FFEF ldi r31,hi8(-1) + 1613 01f4 5F07 cpc r21,r31 + 1614 01f6 FFEF ldi r31,hlo8(-1) + 1615 01f8 6F07 cpc r22,r31 + 1616 01fa FFEF ldi r31,hhi8(-1) + 1617 01fc 7F07 cpc r23,r31 + 1618 01fe 01F4 brne .L85 + 1619 .L97: + 1620 0200 AC81 ldd r26,Y+4 + 1621 0202 BD81 ldd r27,Y+5 + 1622 0204 1496 adiw r26,4 + 1623 0206 8C91 ld r24,X + 1624 0208 1497 sbiw r26,4 + 1625 020a 8068 ori r24,lo8(-128) + 1626 020c 1496 adiw r26,4 + 1627 020e 8C93 st X,r24 + 1628 0210 B1E0 ldi r27,lo8(1) + 1629 0212 00C0 rjmp .L95 + 1630 .L85: + 1631 .LSM129: + 1632 0214 4230 cpi r20,lo8(2) + 1633 0216 5105 cpc r21,__zero_reg__ + 1634 0218 6105 cpc r22,__zero_reg__ + 1635 021a 7105 cpc r23,__zero_reg__ + 1636 021c 00F4 brsh .+2 + 1637 021e 00C0 rjmp .L96 + 1638 0220 AC81 ldd r26,Y+4 + 1639 0222 BD81 ldd r27,Y+5 + 1640 0224 ED91 ld r30,X+ + 1641 0226 FC91 ld r31,X + 1642 0228 828D ldd r24,Z+26 + 1643 022a 938D ldd r25,Z+27 + 1644 022c A48D ldd r26,Z+28 + 1645 022e B58D ldd r27,Z+29 + 1646 0230 4817 cp r20,r24 + 1647 0232 5907 cpc r21,r25 + 1648 0234 6A07 cpc r22,r26 + 1649 0236 7B07 cpc r23,r27 + 1650 0238 00F0 brlo .+2 + 1651 023a 00C0 rjmp .L96 + 1652 .L87: + 1653 .LSM130: + 1654 023c AC81 ldd r26,Y+4 + 1655 023e BD81 ldd r27,Y+5 + 1656 0240 5296 adiw r26,18 + 1657 0242 4D93 st X+,r20 + 1658 0244 5D93 st X+,r21 + 1659 0246 6D93 st X+,r22 + 1660 0248 7C93 st X,r23 + 1661 024a 5597 sbiw r26,18+3 + 1662 .LSM131: + 1663 024c FD01 movw r30,r26 + 1664 024e 8681 ldd r24,Z+6 + 1665 0250 9781 ldd r25,Z+7 + 1666 0252 A085 ldd r26,Z+8 + 1667 0254 B185 ldd r27,Z+9 + 1668 0256 860D add r24,r6 + 1669 0258 971D adc r25,r7 + 1670 025a A81D adc r26,r8 + 1671 025c B91D adc r27,r9 + 1672 025e 8683 std Z+6,r24 + 1673 0260 9783 std Z+7,r25 + 1674 0262 A087 std Z+8,r26 + 1675 0264 B187 std Z+9,r27 + 1676 .LSM132: + 1677 0266 A618 sub r10,r6 + 1678 0268 B708 sbc r11,r7 + 1679 026a C808 sbc r12,r8 + 1680 026c D908 sbc r13,r9 + 1681 .LVL166: + 1682 .L93: + 1683 .LSM133: + 1684 026e 6A14 cp r6,r10 + 1685 0270 7B04 cpc r7,r11 + 1686 0272 8C04 cpc r8,r12 + 1687 0274 9D04 cpc r9,r13 + 1688 0276 00F4 brsh .+2 + 1689 0278 00C0 rjmp .L88 + 1690 .L84: + 1691 .LSM134: + 1692 027a EC81 ldd r30,Y+4 + 1693 027c FD81 ldd r31,Y+5 + 1694 027e 8681 ldd r24,Z+6 + 1695 0280 9781 ldd r25,Z+7 + 1696 0282 A085 ldd r26,Z+8 + 1697 0284 B185 ldd r27,Z+9 + 1698 0286 8A0D add r24,r10 + 1699 0288 9B1D adc r25,r11 + 1700 028a AC1D adc r26,r12 + 1701 028c BD1D adc r27,r13 + 1702 028e 8683 std Z+6,r24 + 1703 0290 9783 std Z+7,r25 + 1704 0292 A087 std Z+8,r26 + 1705 0294 B187 std Z+9,r27 + 1706 .LSM135: + 1707 0296 D601 movw r26,r12 + 1708 0298 C501 movw r24,r10 + 1709 029a 19E0 ldi r17,9 + 1710 029c B695 1: lsr r27 + 1711 029e A795 ror r26 + 1712 02a0 9795 ror r25 + 1713 02a2 8795 ror r24 + 1714 02a4 1A95 dec r17 + 1715 02a6 01F4 brne 1b + 1716 02a8 E82E mov r14,r24 + 1717 02aa 8583 std Z+5,r24 + 1718 .LSM136: + 1719 02ac 8FEF ldi r24,lo8(511) + 1720 02ae 91E0 ldi r25,hi8(511) + 1721 02b0 A0E0 ldi r26,hlo8(511) + 1722 02b2 B0E0 ldi r27,hhi8(511) + 1723 02b4 A822 and r10,r24 + 1724 02b6 B922 and r11,r25 + 1725 02b8 CA22 and r12,r26 + 1726 02ba DB22 and r13,r27 + 1727 02bc A114 cp r10,__zero_reg__ + 1728 02be B104 cpc r11,__zero_reg__ + 1729 02c0 C104 cpc r12,__zero_reg__ + 1730 02c2 D104 cpc r13,__zero_reg__ + 1731 02c4 01F0 breq .L75 + 1732 .LSM137: + 1733 02c6 8081 ld r24,Z + 1734 02c8 9181 ldd r25,Z+1 + 1735 02ca 0E94 0000 call clust2sect + 1736 .LVL167: + 1737 .LSM138: + 1738 02ce 6115 cp r22,__zero_reg__ + 1739 02d0 7105 cpc r23,__zero_reg__ + 1740 02d2 8105 cpc r24,__zero_reg__ + 1741 02d4 9105 cpc r25,__zero_reg__ + 1742 .LVL168: + 1743 02d6 01F4 brne .L89 + 1744 02d8 AC81 ldd r26,Y+4 + 1745 02da BD81 ldd r27,Y+5 + 1746 02dc 1496 adiw r26,4 + 1747 02de 8C91 ld r24,X + 1748 02e0 1497 sbiw r26,4 + 1749 02e2 8068 ori r24,lo8(-128) + 1750 02e4 1496 adiw r26,4 + 1751 02e6 8C93 st X,r24 + 1752 02e8 B2E0 ldi r27,lo8(2) + 1753 .LVL169: + 1754 .L95: + 1755 02ea BB83 std Y+3,r27 + 1756 .LVL170: + 1757 02ec 00C0 rjmp .L71 + 1758 .LVL171: + 1759 .L89: + 1760 .LSM139: + 1761 02ee 9B01 movw r18,r22 + 1762 02f0 AC01 movw r20,r24 + 1763 02f2 2E0D add r18,r14 + 1764 02f4 311D adc r19,__zero_reg__ + 1765 02f6 411D adc r20,__zero_reg__ + 1766 02f8 511D adc r21,__zero_reg__ + 1767 .LVL172: + 1768 .LSM140: + 1769 02fa E394 inc r14 + 1770 02fc EC81 ldd r30,Y+4 + 1771 02fe FD81 ldd r31,Y+5 + 1772 0300 E582 std Z+5,r14 + 1773 0302 00C0 rjmp .L90 + 1774 .LVL173: + 1775 .L75: + 1776 0304 20E0 ldi r18,lo8(0) + 1777 0306 30E0 ldi r19,hi8(0) + 1778 0308 40E0 ldi r20,hlo8(0) + 1779 030a 50E0 ldi r21,hhi8(0) + 1780 .LVL174: + 1781 .L90: + 1782 .LSM141: + 1783 030c EC81 ldd r30,Y+4 + 1784 030e FD81 ldd r31,Y+5 + 1785 0310 8681 ldd r24,Z+6 + 1786 0312 9781 ldd r25,Z+7 + 1787 0314 A085 ldd r26,Z+8 + 1788 0316 B185 ldd r27,Z+9 + 1789 0318 9170 andi r25,hi8(511) + 1790 031a A070 andi r26,hlo8(511) + 1791 031c B070 andi r27,hhi8(511) + 1792 031e 0097 sbiw r24,0 + 1793 0320 A105 cpc r26,__zero_reg__ + 1794 0322 B105 cpc r27,__zero_reg__ + 1795 0324 01F0 breq .L91 + 1796 0326 8689 ldd r24,Z+22 + 1797 0328 9789 ldd r25,Z+23 + 1798 032a A08D ldd r26,Z+24 + 1799 032c B18D ldd r27,Z+25 + 1800 032e 2817 cp r18,r24 + 1801 0330 3907 cpc r19,r25 + 1802 0332 4A07 cpc r20,r26 + 1803 0334 5B07 cpc r21,r27 + 1804 0336 01F0 breq .L91 + 1805 .LSM142: + 1806 0338 268B std Z+22,r18 + 1807 033a 378B std Z+23,r19 + 1808 033c 408F std Z+24,r20 + 1809 033e 518F std Z+25,r21 + 1810 .L91: + 1811 .LSM143: + 1812 0340 EC81 ldd r30,Y+4 + 1813 0342 FD81 ldd r31,Y+5 + 1814 0344 2681 ldd r18,Z+6 + 1815 0346 3781 ldd r19,Z+7 + 1816 0348 4085 ldd r20,Z+8 + 1817 034a 5185 ldd r21,Z+9 + 1818 .LVL175: + 1819 034c 8285 ldd r24,Z+10 + 1820 034e 9385 ldd r25,Z+11 + 1821 0350 A485 ldd r26,Z+12 + 1822 0352 B585 ldd r27,Z+13 + 1823 0354 8217 cp r24,r18 + 1824 0356 9307 cpc r25,r19 + 1825 0358 A407 cpc r26,r20 + 1826 035a B507 cpc r27,r21 + 1827 035c 00F4 brsh .L71 + 1828 .LSM144: + 1829 035e 2287 std Z+10,r18 + 1830 0360 3387 std Z+11,r19 + 1831 0362 4487 std Z+12,r20 + 1832 0364 5587 std Z+13,r21 + 1833 .LSM145: + 1834 0366 8481 ldd r24,Z+4 + 1835 0368 8062 ori r24,lo8(32) + 1836 036a 8483 std Z+4,r24 + 1837 .LVL176: + 1838 .L71: + 1839 .LSM146: + 1840 036c 8B81 ldd r24,Y+3 + 1841 /* epilogue start */ + 1842 036e 0F90 pop __tmp_reg__ + 1843 0370 0F90 pop __tmp_reg__ + 1844 0372 0F90 pop __tmp_reg__ + 1845 0374 0F90 pop __tmp_reg__ + 1846 0376 0F90 pop __tmp_reg__ + 1847 0378 CF91 pop r28 + 1848 037a DF91 pop r29 + 1849 037c 1F91 pop r17 + 1850 037e 0F91 pop r16 + 1851 0380 FF90 pop r15 + 1852 0382 EF90 pop r14 + 1853 0384 DF90 pop r13 + 1854 0386 CF90 pop r12 + 1855 0388 BF90 pop r11 + 1856 038a AF90 pop r10 + 1857 .LVL177: + 1858 038c 9F90 pop r9 + 1859 038e 8F90 pop r8 + 1860 .LVL178: + 1861 0390 7F90 pop r7 + 1862 .LVL179: + 1863 0392 6F90 pop r6 + 1864 .LVL180: + 1865 0394 5F90 pop r5 + 1866 0396 4F90 pop r4 + 1867 0398 3F90 pop r3 + 1868 039a 2F90 pop r2 + 1869 039c 0895 ret + 1870 .LFE78: + 1872 .section .text.dir_seek,"ax",@progbits + 1874 dir_seek: + 1875 .LFB63: + 1876 .LSM147: + 1877 .LVL181: + 1878 0000 EF92 push r14 + 1879 0002 FF92 push r15 + 1880 0004 0F93 push r16 + 1881 0006 1F93 push r17 + 1882 0008 CF93 push r28 + 1883 000a DF93 push r29 + 1884 /* prologue: function */ + 1885 /* frame size = 0 */ + 1886 000c 8C01 movw r16,r24 + 1887 000e EB01 movw r28,r22 + 1888 .LSM148: + 1889 0010 DC01 movw r26,r24 + 1890 0012 1596 adiw r26,4+1 + 1891 0014 7C93 st X,r23 + 1892 0016 6E93 st -X,r22 + 1893 0018 1497 sbiw r26,4 + 1894 .LSM149: + 1895 001a 1696 adiw r26,6 + 1896 001c 4D91 ld r20,X+ + 1897 001e 5D91 ld r21,X+ + 1898 0020 6D91 ld r22,X+ + 1899 0022 7C91 ld r23,X + 1900 0024 1997 sbiw r26,6+3 + 1901 .LVL182: + 1902 .LSM150: + 1903 0026 4130 cpi r20,lo8(1) + 1904 0028 5105 cpc r21,__zero_reg__ + 1905 002a 6105 cpc r22,__zero_reg__ + 1906 002c 7105 cpc r23,__zero_reg__ + 1907 002e 01F4 brne .+2 + 1908 0030 00C0 rjmp .L99 + 1909 0032 ED91 ld r30,X+ + 1910 0034 FC91 ld r31,X + 1911 0036 828D ldd r24,Z+26 + 1912 0038 938D ldd r25,Z+27 + 1913 003a A48D ldd r26,Z+28 + 1914 003c B58D ldd r27,Z+29 + 1915 .LVL183: + 1916 003e 4817 cp r20,r24 + 1917 0040 5907 cpc r21,r25 + 1918 0042 6A07 cpc r22,r26 + 1919 0044 7B07 cpc r23,r27 + 1920 0046 00F0 brlo .+2 + 1921 0048 00C0 rjmp .L99 + 1922 .LSM151: + 1923 004a 4115 cp r20,__zero_reg__ + 1924 004c 5105 cpc r21,__zero_reg__ + 1925 004e 6105 cpc r22,__zero_reg__ + 1926 0050 7105 cpc r23,__zero_reg__ + 1927 0052 01F4 brne .L100 + 1928 0054 8081 ld r24,Z + 1929 0056 8330 cpi r24,lo8(3) + 1930 0058 01F4 brne .L101 + 1931 .LSM152: + 1932 005a 42A1 ldd r20,Z+34 + 1933 005c 53A1 ldd r21,Z+35 + 1934 005e 64A1 ldd r22,Z+36 + 1935 0060 75A1 ldd r23,Z+37 + 1936 .LSM153: + 1937 0062 4115 cp r20,__zero_reg__ + 1938 0064 5105 cpc r21,__zero_reg__ + 1939 0066 6105 cpc r22,__zero_reg__ + 1940 0068 7105 cpc r23,__zero_reg__ + 1941 006a 01F4 brne .L100 + 1942 .L101: + 1943 .LSM154: + 1944 006c F801 movw r30,r16 + 1945 006e 1286 std Z+10,__zero_reg__ + 1946 0070 1386 std Z+11,__zero_reg__ + 1947 0072 1486 std Z+12,__zero_reg__ + 1948 0074 1586 std Z+13,__zero_reg__ + 1949 .LSM155: + 1950 0076 0190 ld __tmp_reg__,Z+ + 1951 0078 F081 ld r31,Z + 1952 007a E02D mov r30,__tmp_reg__ + 1953 007c 8085 ldd r24,Z+8 + 1954 007e 9185 ldd r25,Z+9 + 1955 0080 C817 cp r28,r24 + 1956 0082 D907 cpc r29,r25 + 1957 0084 00F0 brlo .+2 + 1958 0086 00C0 rjmp .L99 + 1959 .LVL184: + 1960 .LSM156: + 1961 0088 CE01 movw r24,r28 + 1962 008a A4E0 ldi r26,4 + 1963 008c 9695 1: lsr r25 + 1964 008e 8795 ror r24 + 1965 0090 AA95 dec r26 + 1966 0092 01F4 brne 1b + 1967 0094 A0E0 ldi r26,lo8(0) + 1968 0096 B0E0 ldi r27,hi8(0) + 1969 0098 22A1 ldd r18,Z+34 + 1970 009a 33A1 ldd r19,Z+35 + 1971 009c 44A1 ldd r20,Z+36 + 1972 009e 55A1 ldd r21,Z+37 + 1973 00a0 820F add r24,r18 + 1974 00a2 931F adc r25,r19 + 1975 00a4 A41F adc r26,r20 + 1976 00a6 B51F adc r27,r21 + 1977 00a8 F801 movw r30,r16 + 1978 00aa 8687 std Z+14,r24 + 1979 00ac 9787 std Z+15,r25 + 1980 00ae A08B std Z+16,r26 + 1981 00b0 B18B std Z+17,r27 + 1982 00b2 00C0 rjmp .L102 + 1983 .LVL185: + 1984 .L100: + 1985 .LSM157: + 1986 00b4 8281 ldd r24,Z+2 + 1987 00b6 E82E mov r14,r24 + 1988 .LVL186: + 1989 00b8 FF24 clr r15 + 1990 .LVL187: + 1991 00ba E4E0 ldi r30,4 + 1992 00bc EE0C 1: lsl r14 + 1993 00be FF1C rol r15 + 1994 00c0 EA95 dec r30 + 1995 00c2 01F4 brne 1b + 1996 .LVL188: + 1997 00c4 00C0 rjmp .L103 + 1998 .LVL189: + 1999 .L106: + 2000 .LSM158: + 2001 00c6 0E94 0000 call get_fat + 2002 .LVL190: + 2003 00ca AB01 movw r20,r22 + 2004 00cc BC01 movw r22,r24 + 2005 .LVL191: + 2006 .LSM159: + 2007 00ce 4F3F cpi r20,lo8(-1) + 2008 00d0 FFEF ldi r31,hi8(-1) + 2009 00d2 5F07 cpc r21,r31 + 2010 00d4 FFEF ldi r31,hlo8(-1) + 2011 00d6 6F07 cpc r22,r31 + 2012 00d8 FFEF ldi r31,hhi8(-1) + 2013 00da 7F07 cpc r23,r31 + 2014 00dc 01F4 brne .L104 + 2015 00de 81E0 ldi r24,lo8(1) + 2016 00e0 00C0 rjmp .L105 + 2017 .L104: + 2018 .LSM160: + 2019 00e2 4230 cpi r20,lo8(2) + 2020 00e4 5105 cpc r21,__zero_reg__ + 2021 00e6 6105 cpc r22,__zero_reg__ + 2022 00e8 7105 cpc r23,__zero_reg__ + 2023 00ea 00F4 brsh .+2 + 2024 00ec 00C0 rjmp .L99 + 2025 00ee D801 movw r26,r16 + 2026 00f0 ED91 ld r30,X+ + 2027 00f2 FC91 ld r31,X + 2028 00f4 828D ldd r24,Z+26 + 2029 00f6 938D ldd r25,Z+27 + 2030 00f8 A48D ldd r26,Z+28 + 2031 00fa B58D ldd r27,Z+29 + 2032 00fc 4817 cp r20,r24 + 2033 00fe 5907 cpc r21,r25 + 2034 0100 6A07 cpc r22,r26 + 2035 0102 7B07 cpc r23,r27 + 2036 0104 00F4 brsh .L99 + 2037 .LSM161: + 2038 0106 CE19 sub r28,r14 + 2039 0108 DF09 sbc r29,r15 + 2040 .LVL192: + 2041 .L103: + 2042 010a F801 movw r30,r16 + 2043 010c 8081 ld r24,Z + 2044 010e 9181 ldd r25,Z+1 + 2045 .LSM162: + 2046 0110 CE15 cp r28,r14 + 2047 0112 DF05 cpc r29,r15 + 2048 0114 00F4 brsh .L106 + 2049 .LSM163: + 2050 0116 D801 movw r26,r16 + 2051 0118 1A96 adiw r26,10 + 2052 011a 4D93 st X+,r20 + 2053 011c 5D93 st X+,r21 + 2054 011e 6D93 st X+,r22 + 2055 0120 7C93 st X,r23 + 2056 0122 1D97 sbiw r26,10+3 + 2057 .LSM164: + 2058 0124 0E94 0000 call clust2sect + 2059 .LVL193: + 2060 0128 9E01 movw r18,r28 + 2061 012a 44E0 ldi r20,4 + 2062 012c 3695 1: lsr r19 + 2063 012e 2795 ror r18 + 2064 0130 4A95 dec r20 + 2065 0132 01F4 brne 1b + 2066 0134 40E0 ldi r20,lo8(0) + 2067 0136 50E0 ldi r21,hi8(0) + 2068 0138 260F add r18,r22 + 2069 013a 371F adc r19,r23 + 2070 013c 481F adc r20,r24 + 2071 013e 591F adc r21,r25 + 2072 0140 F801 movw r30,r16 + 2073 0142 2687 std Z+14,r18 + 2074 0144 3787 std Z+15,r19 + 2075 0146 408B std Z+16,r20 + 2076 0148 518B std Z+17,r21 + 2077 .LVL194: + 2078 .L102: + 2079 .LSM165: + 2080 014a CF70 andi r28,lo8(15) + 2081 014c D070 andi r29,hi8(15) + 2082 014e 85E0 ldi r24,5 + 2083 0150 CC0F 1: lsl r28 + 2084 0152 DD1F rol r29 + 2085 0154 8A95 dec r24 + 2086 0156 01F4 brne 1b + 2087 0158 AE96 adiw r28,46 + 2088 015a D801 movw r26,r16 + 2089 015c 8D91 ld r24,X+ + 2090 015e 9C91 ld r25,X + 2091 0160 1197 sbiw r26,1 + 2092 0162 8C0F add r24,r28 + 2093 0164 9D1F adc r25,r29 + 2094 0166 5396 adiw r26,18+1 + 2095 0168 9C93 st X,r25 + 2096 016a 8E93 st -X,r24 + 2097 016c 5297 sbiw r26,18 + 2098 016e 80E0 ldi r24,lo8(0) + 2099 0170 00C0 rjmp .L105 + 2100 .LVL195: + 2101 .L99: + 2102 .LSM166: + 2103 0172 82E0 ldi r24,lo8(2) + 2104 .L105: + 2105 /* epilogue start */ + 2106 .LSM167: + 2107 0174 DF91 pop r29 + 2108 0176 CF91 pop r28 2109 .LVL196: - 2110 0128 9E01 movw r18,r28 - 2111 012a 44E0 ldi r20,4 - 2112 012c 3695 1: lsr r19 - 2113 012e 2795 ror r18 - 2114 0130 4A95 dec r20 - 2115 0132 01F4 brne 1b - 2116 0134 40E0 ldi r20,lo8(0) - 2117 0136 50E0 ldi r21,hi8(0) - 2118 0138 260F add r18,r22 - 2119 013a 371F adc r19,r23 - 2120 013c 481F adc r20,r24 - 2121 013e 591F adc r21,r25 - 2122 0140 F801 movw r30,r16 - 2123 0142 2687 std Z+14,r18 - 2124 0144 3787 std Z+15,r19 - 2125 0146 408B std Z+16,r20 - 2126 0148 518B std Z+17,r21 - 2127 .LVL197: - 2128 .L102: - 2129 .LSM165: - 2130 014a CF70 andi r28,lo8(15) - 2131 014c D070 andi r29,hi8(15) - 2132 014e 85E0 ldi r24,5 - 2133 0150 CC0F 1: lsl r28 - 2134 0152 DD1F rol r29 - 2135 0154 8A95 dec r24 - 2136 0156 01F4 brne 1b - 2137 0158 AE96 adiw r28,46 - 2138 015a D801 movw r26,r16 - 2139 015c 8D91 ld r24,X+ - 2140 015e 9C91 ld r25,X - 2141 0160 1197 sbiw r26,1 - 2142 0162 8C0F add r24,r28 - 2143 0164 9D1F adc r25,r29 - 2144 0166 5396 adiw r26,18+1 - 2145 0168 9C93 st X,r25 - 2146 016a 8E93 st -X,r24 - 2147 016c 5297 sbiw r26,18 - 2148 016e 80E0 ldi r24,lo8(0) - 2149 0170 00C0 rjmp .L105 - 2150 .LVL198: - 2151 .L99: - 2152 .LSM166: - 2153 0172 82E0 ldi r24,lo8(2) - 2154 .L105: - 2155 /* epilogue start */ - 2156 .LSM167: - 2157 0174 DF91 pop r29 - 2158 0176 CF91 pop r28 - 2159 .LVL199: - 2160 0178 1F91 pop r17 - 2161 017a 0F91 pop r16 - 2162 .LVL200: - 2163 017c FF90 pop r15 - 2164 .LVL201: - 2165 017e EF90 pop r14 - 2166 .LVL202: - 2167 0180 0895 ret - 2168 .LFE63: - 2170 .section .text.f_write,"ax",@progbits - 2171 .global f_write - 2173 f_write: - 2174 .LFB75: - 2175 .LSM168: - 2176 .LVL203: - 2177 0000 2F92 push r2 - 2178 0002 3F92 push r3 - 2179 0004 4F92 push r4 - 2180 0006 5F92 push r5 - 2181 0008 6F92 push r6 - 2182 000a 7F92 push r7 - 2183 000c 8F92 push r8 - 2184 000e 9F92 push r9 - 2185 0010 AF92 push r10 - 2186 0012 BF92 push r11 - 2187 0014 CF92 push r12 - 2188 0016 DF92 push r13 - 2189 0018 EF92 push r14 - 2190 001a FF92 push r15 - 2191 001c 0F93 push r16 - 2192 001e 1F93 push r17 - 2193 0020 CF93 push r28 - 2194 0022 DF93 push r29 - 2195 /* prologue: function */ - 2196 /* frame size = 0 */ - 2197 0024 EC01 movw r28,r24 - 2198 0026 162F mov r17,r22 - 2199 0028 072F mov r16,r23 - 2200 .LVL204: - 2201 002a 4A01 movw r8,r20 - 2202 002c 1901 movw r2,r18 - 2203 .LSM169: - 2204 002e F901 movw r30,r18 - 2205 0030 1182 std Z+1,__zero_reg__ - 2206 0032 1082 st Z,__zero_reg__ - 2207 .LSM170: - 2208 0034 6A81 ldd r22,Y+2 - 2209 0036 7B81 ldd r23,Y+3 - 2210 .LVL205: - 2211 0038 8881 ld r24,Y - 2212 003a 9981 ldd r25,Y+1 - 2213 .LVL206: - 2214 003c 0E94 0000 call validate - 2215 .LVL207: - 2216 0040 782E mov r7,r24 - 2217 .LVL208: - 2218 .LSM171: - 2219 0042 8823 tst r24 - 2220 0044 01F0 breq .+2 - 2221 0046 00C0 rjmp .L109 - 2222 .LVL209: - 2223 .LSM172: - 2224 0048 8C81 ldd r24,Y+4 - 2225 .LVL210: - 2226 004a 87FD sbrc r24,7 - 2227 004c 00C0 rjmp .L136 - 2228 .L110: - 2229 .LSM173: - 2230 004e 81FD sbrc r24,1 - 2231 0050 00C0 rjmp .L111 - 2232 0052 27E0 ldi r18,lo8(7) - 2233 0054 722E mov r7,r18 - 2234 0056 00C0 rjmp .L109 - 2235 .L111: - 2236 .LSM174: - 2237 0058 2A85 ldd r18,Y+10 - 2238 005a 3B85 ldd r19,Y+11 - 2239 005c 4C85 ldd r20,Y+12 - 2240 005e 5D85 ldd r21,Y+13 - 2241 0060 C401 movw r24,r8 - 2242 0062 A0E0 ldi r26,lo8(0) - 2243 0064 B0E0 ldi r27,hi8(0) - 2244 .LVL211: - 2245 0066 820F add r24,r18 - 2246 0068 931F adc r25,r19 - 2247 006a A41F adc r26,r20 - 2248 006c B51F adc r27,r21 - 2249 .LVL212: - 2250 006e 8217 cp r24,r18 - 2251 0070 9307 cpc r25,r19 - 2252 0072 A407 cpc r26,r20 - 2253 0074 B507 cpc r27,r21 - 2254 0076 00F4 brsh .L112 - 2255 0078 8824 clr r8 - 2256 007a 9924 clr r9 - 2257 .LVL213: - 2258 .L112: - 2259 .LSM175: - 2260 007c 812F mov r24,r17 - 2261 .LVL214: - 2262 007e 902F mov r25,r16 - 2263 .LVL215: - 2264 0080 9C01 movw r18,r24 - 2265 .LVL216: - 2266 0082 2901 movw r4,r18 - 2267 .LVL217: - 2268 .LSM176: - 2269 0084 6624 clr r6 - 2270 0086 6394 inc r6 - 2271 0088 00C0 rjmp .L113 - 2272 .LVL218: - 2273 .L133: - 2274 .LSM177: - 2275 008a 2E81 ldd r18,Y+6 - 2276 008c 3F81 ldd r19,Y+7 - 2277 008e 4885 ldd r20,Y+8 - 2278 0090 5985 ldd r21,Y+9 - 2279 0092 DA01 movw r26,r20 - 2280 0094 C901 movw r24,r18 - 2281 0096 9170 andi r25,hi8(511) - 2282 0098 A070 andi r26,hlo8(511) - 2283 009a B070 andi r27,hhi8(511) - 2284 009c 0097 sbiw r24,0 - 2285 009e A105 cpc r26,__zero_reg__ - 2286 00a0 B105 cpc r27,__zero_reg__ - 2287 00a2 01F0 breq .+2 - 2288 00a4 00C0 rjmp .L114 - 2289 .LSM178: - 2290 00a6 E881 ld r30,Y - 2291 00a8 F981 ldd r31,Y+1 - 2292 00aa 9D81 ldd r25,Y+5 - 2293 .LVL219: - 2294 00ac 8281 ldd r24,Z+2 - 2295 00ae 9817 cp r25,r24 - 2296 00b0 00F4 brsh .+2 - 2297 00b2 00C0 rjmp .L115 - 2298 .LSM179: - 2299 00b4 2115 cp r18,__zero_reg__ - 2300 00b6 3105 cpc r19,__zero_reg__ - 2301 00b8 4105 cpc r20,__zero_reg__ - 2302 00ba 5105 cpc r21,__zero_reg__ - 2303 00bc 01F4 brne .L116 - 2304 .LSM180: - 2305 00be 6E85 ldd r22,Y+14 - 2306 00c0 7F85 ldd r23,Y+15 - 2307 00c2 8889 ldd r24,Y+16 - 2308 00c4 9989 ldd r25,Y+17 - 2309 .LVL220: - 2310 .LSM181: - 2311 00c6 6115 cp r22,__zero_reg__ - 2312 00c8 7105 cpc r23,__zero_reg__ - 2313 00ca 8105 cpc r24,__zero_reg__ - 2314 00cc 9105 cpc r25,__zero_reg__ - 2315 00ce 01F4 brne .L117 - 2316 .LSM182: - 2317 00d0 CF01 movw r24,r30 - 2318 00d2 40E0 ldi r20,lo8(0) - 2319 00d4 50E0 ldi r21,hi8(0) - 2320 00d6 60E0 ldi r22,hlo8(0) - 2321 00d8 70E0 ldi r23,hhi8(0) - 2322 00da 0E94 0000 call create_chain - 2323 .LVL221: - 2324 00de 6E87 std Y+14,r22 - 2325 00e0 7F87 std Y+15,r23 - 2326 00e2 888B std Y+16,r24 - 2327 00e4 998B std Y+17,r25 - 2328 .LVL222: - 2329 00e6 00C0 rjmp .L118 - 2330 .LVL223: - 2331 .L116: - 2332 .LSM183: - 2333 00e8 4A89 ldd r20,Y+18 - 2334 00ea 5B89 ldd r21,Y+19 - 2335 00ec 6C89 ldd r22,Y+20 - 2336 00ee 7D89 ldd r23,Y+21 - 2337 00f0 CF01 movw r24,r30 - 2338 00f2 0E94 0000 call create_chain - 2339 .LVL224: - 2340 .L118: - 2341 .LSM184: - 2342 00f6 6115 cp r22,__zero_reg__ - 2343 00f8 7105 cpc r23,__zero_reg__ - 2344 00fa 8105 cpc r24,__zero_reg__ - 2345 00fc 9105 cpc r25,__zero_reg__ - 2346 00fe 01F4 brne .+2 - 2347 0100 00C0 rjmp .L119 - 2348 .LVL225: - 2349 .L117: - 2350 .LSM185: - 2351 0102 6130 cpi r22,lo8(1) - 2352 0104 7105 cpc r23,__zero_reg__ - 2353 0106 8105 cpc r24,__zero_reg__ - 2354 0108 9105 cpc r25,__zero_reg__ - 2355 010a 01F4 brne .L120 - 2356 .LVL226: - 2357 .L138: - 2358 010c 8C81 ldd r24,Y+4 - 2359 010e 8068 ori r24,lo8(-128) - 2360 0110 8C83 std Y+4,r24 - 2361 .L136: - 2362 0112 92E0 ldi r25,lo8(2) - 2363 0114 792E mov r7,r25 - 2364 0116 00C0 rjmp .L109 - 2365 .LVL227: - 2366 .L120: - 2367 .LSM186: - 2368 0118 6F3F cpi r22,lo8(-1) - 2369 011a FFEF ldi r31,hi8(-1) - 2370 011c 7F07 cpc r23,r31 - 2371 011e FFEF ldi r31,hlo8(-1) - 2372 0120 8F07 cpc r24,r31 - 2373 0122 FFEF ldi r31,hhi8(-1) - 2374 0124 9F07 cpc r25,r31 - 2375 0126 01F4 brne .+2 - 2376 0128 00C0 rjmp .L137 - 2377 .L121: - 2378 .LSM187: - 2379 012a 6A8B std Y+18,r22 - 2380 012c 7B8B std Y+19,r23 - 2381 012e 8C8B std Y+20,r24 - 2382 0130 9D8B std Y+21,r25 - 2383 .LSM188: - 2384 0132 1D82 std Y+5,__zero_reg__ - 2385 .L115: - 2386 .LSM189: - 2387 0134 E881 ld r30,Y - 2388 0136 F981 ldd r31,Y+1 - 2389 0138 22A5 ldd r18,Z+42 - 2390 013a 33A5 ldd r19,Z+43 - 2391 013c 44A5 ldd r20,Z+44 - 2392 013e 55A5 ldd r21,Z+45 - 2393 0140 8E89 ldd r24,Y+22 - 2394 0142 9F89 ldd r25,Y+23 - 2395 0144 A88D ldd r26,Y+24 - 2396 0146 B98D ldd r27,Y+25 - 2397 0148 2817 cp r18,r24 - 2398 014a 3907 cpc r19,r25 - 2399 014c 4A07 cpc r20,r26 - 2400 014e 5B07 cpc r21,r27 - 2401 0150 01F4 brne .L122 - 2402 0152 CF01 movw r24,r30 - 2403 0154 40E0 ldi r20,lo8(0) - 2404 0156 50E0 ldi r21,hi8(0) - 2405 0158 60E0 ldi r22,hlo8(0) - 2406 015a 70E0 ldi r23,hhi8(0) - 2407 015c 0E94 0000 call move_window - 2408 .LVL228: - 2409 0160 8823 tst r24 - 2410 0162 01F0 breq .+2 - 2411 0164 00C0 rjmp .L137 - 2412 .LVL229: - 2413 .L122: - 2414 .LSM190: - 2415 0166 0881 ld r16,Y - 2416 0168 1981 ldd r17,Y+1 - 2417 .LVL230: - 2418 016a 4A89 ldd r20,Y+18 - 2419 016c 5B89 ldd r21,Y+19 - 2420 016e 6C89 ldd r22,Y+20 - 2421 0170 7D89 ldd r23,Y+21 - 2422 0172 C801 movw r24,r16 - 2423 0174 0E94 0000 call clust2sect - 2424 .LVL231: - 2425 .LSM191: - 2426 0178 6115 cp r22,__zero_reg__ - 2427 017a 7105 cpc r23,__zero_reg__ - 2428 017c 8105 cpc r24,__zero_reg__ - 2429 017e 9105 cpc r25,__zero_reg__ - 2430 0180 01F0 breq .L138 - 2431 .LVL232: - 2432 .L123: - 2433 .LSM192: - 2434 0182 3D81 ldd r19,Y+5 - 2435 0184 5B01 movw r10,r22 - 2436 0186 6C01 movw r12,r24 - 2437 0188 A30E add r10,r19 - 2438 018a B11C adc r11,__zero_reg__ - 2439 018c C11C adc r12,__zero_reg__ - 2440 018e D11C adc r13,__zero_reg__ - 2441 .LVL233: - 2442 .LSM193: - 2443 0190 7401 movw r14,r8 - 2444 0192 EF2C mov r14,r15 - 2445 0194 FF24 clr r15 - 2446 0196 E694 lsr r14 - 2447 .LSM194: - 2448 0198 E114 cp r14,__zero_reg__ - 2449 019a F104 cpc r15,__zero_reg__ - 2450 019c 01F4 brne .+2 - 2451 019e 00C0 rjmp .L124 - 2452 .LSM195: - 2453 01a0 F801 movw r30,r16 - 2454 01a2 2281 ldd r18,Z+2 - 2455 01a4 432F mov r20,r19 - 2456 01a6 50E0 ldi r21,lo8(0) - 2457 01a8 C701 movw r24,r14 - 2458 01aa 840F add r24,r20 - 2459 01ac 951F adc r25,r21 - 2460 01ae 30E0 ldi r19,lo8(0) - 2461 01b0 2817 cp r18,r24 - 2462 01b2 3907 cpc r19,r25 - 2463 01b4 00F4 brsh .L125 - 2464 .LSM196: - 2465 01b6 7901 movw r14,r18 - 2466 01b8 E41A sub r14,r20 - 2467 01ba F50A sbc r15,r21 - 2468 .L125: - 2469 .LSM197: - 2470 01bc F801 movw r30,r16 - 2471 01be 8181 ldd r24,Z+1 - 2472 01c0 B201 movw r22,r4 - 2473 01c2 A601 movw r20,r12 - 2474 01c4 9501 movw r18,r10 - 2475 01c6 0E2D mov r16,r14 - 2476 01c8 0E94 0000 call disk_write - 2477 01cc 8823 tst r24 - 2478 01ce 01F0 breq .+2 - 2479 01d0 00C0 rjmp .L137 - 2480 .L126: - 2481 .LSM198: - 2482 01d2 E881 ld r30,Y - 2483 01d4 F981 ldd r31,Y+1 - 2484 01d6 22A5 ldd r18,Z+42 - 2485 01d8 33A5 ldd r19,Z+43 - 2486 01da 44A5 ldd r20,Z+44 - 2487 01dc 55A5 ldd r21,Z+45 - 2488 01de 2A19 sub r18,r10 - 2489 01e0 3B09 sbc r19,r11 - 2490 01e2 4C09 sbc r20,r12 - 2491 01e4 5D09 sbc r21,r13 - 2492 01e6 C701 movw r24,r14 - 2493 01e8 A0E0 ldi r26,lo8(0) - 2494 01ea B0E0 ldi r27,hi8(0) - 2495 .LVL234: - 2496 01ec 2817 cp r18,r24 - 2497 01ee 3907 cpc r19,r25 - 2498 01f0 4A07 cpc r20,r26 - 2499 01f2 5B07 cpc r21,r27 - 2500 01f4 00F4 brsh .L127 - 2501 .LVL235: - 2502 .LSM199: - 2503 01f6 19E0 ldi r17,9 - 2504 01f8 220F 1: lsl r18 - 2505 01fa 331F rol r19 - 2506 01fc 441F rol r20 - 2507 01fe 551F rol r21 - 2508 0200 1A95 dec r17 - 2509 0202 01F4 brne 1b - 2510 .LVL236: - 2511 0204 B201 movw r22,r4 - 2512 0206 620F add r22,r18 - 2513 0208 731F adc r23,r19 - 2514 020a CF01 movw r24,r30 - 2515 .LVL237: - 2516 020c 8E96 adiw r24,46 - 2517 020e 40E0 ldi r20,lo8(512) - 2518 0210 52E0 ldi r21,hi8(512) - 2519 0212 0E94 0000 call mem_cpy - 2520 .LVL238: - 2521 .LSM200: - 2522 0216 E881 ld r30,Y - 2523 0218 F981 ldd r31,Y+1 - 2524 021a 1482 std Z+4,__zero_reg__ - 2525 .LVL239: - 2526 .L127: - 2527 .LSM201: - 2528 021c 8D81 ldd r24,Y+5 - 2529 021e 8E0D add r24,r14 - 2530 0220 8D83 std Y+5,r24 - 2531 .LSM202: - 2532 0222 8701 movw r16,r14 - 2533 .LVL240: - 2534 0224 102F mov r17,r16 - 2535 0226 0027 clr r16 - 2536 0228 110F lsl r17 - 2537 022a 00C0 rjmp .L128 - 2538 .LVL241: - 2539 .L124: - 2540 .LSM203: - 2541 022c 2E81 ldd r18,Y+6 - 2542 022e 3F81 ldd r19,Y+7 - 2543 0230 4885 ldd r20,Y+8 - 2544 0232 5985 ldd r21,Y+9 - 2545 0234 8A85 ldd r24,Y+10 - 2546 0236 9B85 ldd r25,Y+11 - 2547 0238 AC85 ldd r26,Y+12 - 2548 023a BD85 ldd r27,Y+13 - 2549 023c 2817 cp r18,r24 - 2550 023e 3907 cpc r19,r25 - 2551 0240 4A07 cpc r20,r26 - 2552 0242 5B07 cpc r21,r27 - 2553 0244 00F0 brlo .L129 - 2554 .LSM204: - 2555 0246 C801 movw r24,r16 - 2556 0248 40E0 ldi r20,lo8(0) - 2557 024a 50E0 ldi r21,hi8(0) - 2558 024c 60E0 ldi r22,hlo8(0) - 2559 024e 70E0 ldi r23,hhi8(0) - 2560 0250 0E94 0000 call move_window - 2561 0254 8823 tst r24 - 2562 0256 01F4 brne .L137 - 2563 .L130: - 2564 .LSM205: - 2565 0258 E881 ld r30,Y - 2566 025a F981 ldd r31,Y+1 - 2567 025c A2A6 std Z+42,r10 - 2568 025e B3A6 std Z+43,r11 - 2569 0260 C4A6 std Z+44,r12 - 2570 0262 D5A6 std Z+45,r13 - 2571 .L129: - 2572 .LSM206: - 2573 0264 AE8A std Y+22,r10 - 2574 0266 BF8A std Y+23,r11 - 2575 0268 C88E std Y+24,r12 - 2576 026a D98E std Y+25,r13 - 2577 .LSM207: - 2578 026c 8D81 ldd r24,Y+5 - 2579 026e 8F5F subi r24,lo8(-(1)) - 2580 0270 8D83 std Y+5,r24 - 2581 .LVL242: - 2582 .L114: - 2583 .LSM208: - 2584 0272 EE80 ldd r14,Y+6 - 2585 0274 FF80 ldd r15,Y+7 - 2586 0276 0885 ldd r16,Y+8 - 2587 0278 1985 ldd r17,Y+9 - 2588 .LVL243: - 2589 .LSM209: - 2590 027a 4E89 ldd r20,Y+22 - 2591 027c 5F89 ldd r21,Y+23 - 2592 027e 688D ldd r22,Y+24 - 2593 0280 798D ldd r23,Y+25 - 2594 0282 8881 ld r24,Y - 2595 0284 9981 ldd r25,Y+1 - 2596 0286 0E94 0000 call move_window - 2597 .LVL244: - 2598 028a 8823 tst r24 - 2599 028c 01F0 breq .L131 - 2600 .LVL245: - 2601 .L137: - 2602 .LSM210: - 2603 028e 8C81 ldd r24,Y+4 - 2604 0290 8068 ori r24,lo8(-128) - 2605 0292 8C83 std Y+4,r24 - 2606 0294 7724 clr r7 - 2607 0296 7394 inc r7 - 2608 0298 00C0 rjmp .L109 - 2609 .LVL246: - 2610 .L131: - 2611 .LSM211: - 2612 029a C701 movw r24,r14 - 2613 029c 9170 andi r25,hi8(511) - 2614 029e 20E0 ldi r18,lo8(512) - 2615 02a0 32E0 ldi r19,hi8(512) - 2616 02a2 281B sub r18,r24 - 2617 02a4 390B sbc r19,r25 - 2618 02a6 8401 movw r16,r8 - 2619 .LVL247: - 2620 02a8 2815 cp r18,r8 - 2621 02aa 3905 cpc r19,r9 - 2622 02ac 00F4 brsh .L132 - 2623 .LVL248: - 2624 02ae 8901 movw r16,r18 - 2625 .L132: - 2626 .LSM212: - 2627 02b0 2E81 ldd r18,Y+6 - 2628 02b2 3F81 ldd r19,Y+7 - 2629 .LVL249: - 2630 02b4 3170 andi r19,hi8(511) - 2631 02b6 225D subi r18,lo8(-(46)) - 2632 02b8 3F4F sbci r19,hi8(-(46)) - 2633 02ba 8881 ld r24,Y - 2634 02bc 9981 ldd r25,Y+1 - 2635 02be 820F add r24,r18 - 2636 02c0 931F adc r25,r19 - 2637 02c2 B201 movw r22,r4 - 2638 02c4 A801 movw r20,r16 - 2639 02c6 0E94 0000 call mem_cpy - 2640 .LSM213: - 2641 02ca E881 ld r30,Y - 2642 02cc F981 ldd r31,Y+1 - 2643 02ce 6482 std Z+4,r6 - 2644 .LVL250: - 2645 .L128: - 2646 .LSM214: - 2647 02d0 400E add r4,r16 - 2648 02d2 511E adc r5,r17 - 2649 02d4 C801 movw r24,r16 - 2650 02d6 A0E0 ldi r26,lo8(0) - 2651 02d8 B0E0 ldi r27,hi8(0) - 2652 .LVL251: - 2653 02da 2E81 ldd r18,Y+6 - 2654 02dc 3F81 ldd r19,Y+7 - 2655 02de 4885 ldd r20,Y+8 - 2656 02e0 5985 ldd r21,Y+9 - 2657 02e2 280F add r18,r24 - 2658 02e4 391F adc r19,r25 - 2659 02e6 4A1F adc r20,r26 - 2660 02e8 5B1F adc r21,r27 - 2661 02ea 2E83 std Y+6,r18 - 2662 02ec 3F83 std Y+7,r19 - 2663 02ee 4887 std Y+8,r20 - 2664 02f0 5987 std Y+9,r21 - 2665 02f2 F101 movw r30,r2 - 2666 02f4 8081 ld r24,Z - 2667 02f6 9181 ldd r25,Z+1 - 2668 02f8 800F add r24,r16 - 2669 02fa 911F adc r25,r17 - 2670 02fc 9183 std Z+1,r25 - 2671 02fe 8083 st Z,r24 - 2672 0300 801A sub r8,r16 - 2673 0302 910A sbc r9,r17 - 2674 .LVL252: - 2675 .L113: - 2676 .LSM215: - 2677 0304 8114 cp r8,__zero_reg__ - 2678 0306 9104 cpc r9,__zero_reg__ - 2679 0308 01F0 breq .+2 - 2680 030a 00C0 rjmp .L133 - 2681 .LVL253: - 2682 .L119: - 2683 .LSM216: - 2684 030c 2E81 ldd r18,Y+6 - 2685 030e 3F81 ldd r19,Y+7 - 2686 0310 4885 ldd r20,Y+8 - 2687 0312 5985 ldd r21,Y+9 - 2688 0314 8A85 ldd r24,Y+10 - 2689 0316 9B85 ldd r25,Y+11 - 2690 0318 AC85 ldd r26,Y+12 - 2691 031a BD85 ldd r27,Y+13 - 2692 031c 8217 cp r24,r18 - 2693 031e 9307 cpc r25,r19 - 2694 0320 A407 cpc r26,r20 - 2695 0322 B507 cpc r27,r21 - 2696 0324 00F4 brsh .L134 - 2697 0326 2A87 std Y+10,r18 - 2698 0328 3B87 std Y+11,r19 - 2699 032a 4C87 std Y+12,r20 - 2700 032c 5D87 std Y+13,r21 - 2701 .L134: - 2702 .LSM217: - 2703 032e 8C81 ldd r24,Y+4 - 2704 0330 8062 ori r24,lo8(32) - 2705 0332 8C83 std Y+4,r24 - 2706 .LVL254: - 2707 .L109: - 2708 .LSM218: - 2709 0334 872D mov r24,r7 - 2710 /* epilogue start */ - 2711 0336 DF91 pop r29 - 2712 0338 CF91 pop r28 - 2713 .LVL255: - 2714 033a 1F91 pop r17 - 2715 .LVL256: - 2716 033c 0F91 pop r16 - 2717 .LVL257: - 2718 033e FF90 pop r15 - 2719 0340 EF90 pop r14 - 2720 .LVL258: - 2721 0342 DF90 pop r13 - 2722 0344 CF90 pop r12 - 2723 0346 BF90 pop r11 - 2724 0348 AF90 pop r10 - 2725 .LVL259: - 2726 034a 9F90 pop r9 - 2727 034c 8F90 pop r8 - 2728 .LVL260: - 2729 034e 7F90 pop r7 - 2730 .LVL261: - 2731 0350 6F90 pop r6 - 2732 0352 5F90 pop r5 - 2733 0354 4F90 pop r4 - 2734 .LVL262: - 2735 0356 3F90 pop r3 - 2736 0358 2F90 pop r2 - 2737 .LVL263: - 2738 035a 0895 ret - 2739 .LFE75: - 2741 .section .text.f_putc,"ax",@progbits - 2742 .global f_putc - 2744 f_putc: - 2745 .LFB80: - 2746 .LSM219: - 2747 .LVL264: - 2748 0000 0F93 push r16 - 2749 0002 1F93 push r17 - 2750 0004 DF93 push r29 - 2751 0006 CF93 push r28 - 2752 0008 00D0 rcall . - 2753 000a 0F92 push __tmp_reg__ - 2754 000c CDB7 in r28,__SP_L__ - 2755 000e DEB7 in r29,__SP_H__ - 2756 /* prologue: function */ - 2757 /* frame size = 3 */ - 2758 0010 8C01 movw r16,r24 - 2759 .LSM220: - 2760 0012 6115 cp r22,__zero_reg__ - 2761 0014 7105 cpc r23,__zero_reg__ - 2762 0016 01F0 breq .L140 - 2763 .LVL265: - 2764 .LSM221: - 2765 0018 8983 std Y+1,r24 - 2766 .LVL266: - 2767 .LSM222: - 2768 001a CB01 movw r24,r22 - 2769 001c BE01 movw r22,r28 - 2770 .LVL267: - 2771 001e 6F5F subi r22,lo8(-(1)) - 2772 0020 7F4F sbci r23,hi8(-(1)) - 2773 0022 41E0 ldi r20,lo8(1) - 2774 0024 50E0 ldi r21,hi8(1) - 2775 0026 9E01 movw r18,r28 - 2776 0028 2E5F subi r18,lo8(-(2)) - 2777 002a 3F4F sbci r19,hi8(-(2)) - 2778 002c 0E94 0000 call f_write - 2779 .LSM223: - 2780 0030 8A81 ldd r24,Y+2 - 2781 0032 9B81 ldd r25,Y+3 - 2782 .LVL268: - 2783 0034 892B or r24,r25 - 2784 0036 01F4 brne .L140 - 2785 .LVL269: - 2786 0038 0FEF ldi r16,lo8(-1) - 2787 003a 1FEF ldi r17,hi8(-1) - 2788 .LVL270: - 2789 .L140: - 2790 .LSM224: - 2791 003c C801 movw r24,r16 - 2792 .LVL271: - 2793 /* epilogue start */ - 2794 003e 0F90 pop __tmp_reg__ - 2795 0040 0F90 pop __tmp_reg__ - 2796 0042 0F90 pop __tmp_reg__ - 2797 0044 CF91 pop r28 - 2798 0046 DF91 pop r29 - 2799 0048 1F91 pop r17 - 2800 004a 0F91 pop r16 - 2801 004c 0895 ret - 2802 .LFE80: - 2804 .section .text.f_puts,"ax",@progbits - 2805 .global f_puts - 2807 f_puts: - 2808 .LFB81: - 2809 .LSM225: - 2810 .LVL272: - 2811 0000 EF92 push r14 - 2812 0002 FF92 push r15 - 2813 0004 0F93 push r16 - 2814 0006 1F93 push r17 - 2815 0008 CF93 push r28 - 2816 000a DF93 push r29 - 2817 /* prologue: function */ - 2818 /* frame size = 0 */ - 2819 000c 8C01 movw r16,r24 - 2820 000e 7B01 movw r14,r22 - 2821 .LSM226: - 2822 0010 C0E0 ldi r28,lo8(0) - 2823 0012 D0E0 ldi r29,hi8(0) - 2824 .LVL273: - 2825 0014 00C0 rjmp .L143 - 2826 .LVL274: - 2827 .L146: - 2828 .LSM227: - 2829 0016 90E0 ldi r25,lo8(0) - 2830 0018 B701 movw r22,r14 - 2831 001a 0E94 0000 call f_putc - 2832 001e 8F5F subi r24,lo8(-1) - 2833 0020 9F4F sbci r25,hi8(-1) - 2834 0022 01F4 brne .L144 - 2835 0024 CFEF ldi r28,lo8(-1) - 2836 0026 DFEF ldi r29,hi8(-1) - 2837 0028 00C0 rjmp .L145 - 2838 .L144: - 2839 .LSM228: - 2840 002a 0F5F subi r16,lo8(-(1)) - 2841 002c 1F4F sbci r17,hi8(-(1)) - 2842 002e 2196 adiw r28,1 - 2843 .LVL275: - 2844 .L143: - 2845 0030 F801 movw r30,r16 - 2846 0032 8081 ld r24,Z - 2847 0034 8823 tst r24 - 2848 0036 01F4 brne .L146 - 2849 .L145: - 2850 .LSM229: - 2851 0038 CE01 movw r24,r28 - 2852 .LVL276: - 2853 /* epilogue start */ - 2854 003a DF91 pop r29 - 2855 003c CF91 pop r28 - 2856 003e 1F91 pop r17 - 2857 0040 0F91 pop r16 - 2858 .LVL277: - 2859 0042 FF90 pop r15 - 2860 0044 EF90 pop r14 - 2861 .LVL278: - 2862 0046 0895 ret - 2863 .LFE81: - 2865 .section .text.f_printf,"ax",@progbits - 2866 .global f_printf - 2868 f_printf: - 2869 .LFB82: - 2870 .LSM230: - 2871 .LVL279: - 2872 0000 2F92 push r2 - 2873 0002 3F92 push r3 - 2874 0004 4F92 push r4 - 2875 0006 5F92 push r5 - 2876 0008 6F92 push r6 - 2877 000a 7F92 push r7 - 2878 000c 8F92 push r8 - 2879 000e 9F92 push r9 - 2880 0010 AF92 push r10 - 2881 0012 BF92 push r11 - 2882 0014 CF92 push r12 - 2883 0016 DF92 push r13 - 2884 0018 EF92 push r14 - 2885 001a FF92 push r15 - 2886 001c 0F93 push r16 - 2887 001e 1F93 push r17 - 2888 0020 DF93 push r29 - 2889 0022 CF93 push r28 - 2890 0024 CDB7 in r28,__SP_L__ - 2891 0026 DEB7 in r29,__SP_H__ - 2892 0028 6397 sbiw r28,19 - 2893 002a 0FB6 in __tmp_reg__,__SREG__ - 2894 002c F894 cli - 2895 002e DEBF out __SP_H__,r29 - 2896 0030 0FBE out __SREG__,__tmp_reg__ - 2897 0032 CDBF out __SP_L__,r28 - 2898 /* prologue: function */ - 2899 /* frame size = 19 */ - 2900 0034 6AA4 ldd r6,Y+42 - 2901 0036 7BA4 ldd r7,Y+43 - 2902 .LSM231: - 2903 0038 8E01 movw r16,r28 - 2904 .LVL280: - 2905 003a 045D subi r16,lo8(-(44)) - 2906 003c 1F4F sbci r17,hi8(-(44)) - 2907 003e 1A8A std Y+18,__zero_reg__ - 2908 0040 198A std Y+17,__zero_reg__ - 2909 .LVL281: - 2910 0042 20E0 ldi r18,lo8(0) - 2911 0044 30E0 ldi r19,hi8(0) - 2912 .LVL282: - 2913 .LVL283: - 2914 .L176: - 2915 .LSM232: - 2916 0046 D301 movw r26,r6 - 2917 0048 8C91 ld r24,X - 2918 .LVL284: - 2919 .LSM233: - 2920 004a 8823 tst r24 - 2921 004c 01F4 brne .+2 - 2922 004e 00C0 rjmp .L149 - 2923 .LSM234: - 2924 0050 0894 sec - 2925 0052 611C adc r6,__zero_reg__ - 2926 0054 711C adc r7,__zero_reg__ - 2927 .LSM235: - 2928 0056 8532 cpi r24,lo8(37) - 2929 0058 01F0 breq .L150 - 2930 .LSM236: - 2931 005a 90E0 ldi r25,lo8(0) - 2932 005c 68A5 ldd r22,Y+40 - 2933 005e 79A5 ldd r23,Y+41 - 2934 0060 0E94 0000 call f_putc - 2935 .LVL285: - 2936 0064 9C01 movw r18,r24 - 2937 .LVL286: - 2938 .LSM237: - 2939 0066 BFEF ldi r27,hi8(-1) - 2940 0068 8F3F cpi r24,lo8(-1) - 2941 006a 9B07 cpc r25,r27 - 2942 006c 01F4 brne .L151 - 2943 .LVL287: - 2944 006e 4801 movw r8,r16 - 2945 0070 00C0 rjmp .L152 - 2946 .L151: - 2947 0072 4801 movw r8,r16 - 2948 0074 00C0 rjmp .L179 - 2949 .LVL288: - 2950 .L150: - 2951 .LSM238: - 2952 0076 D301 movw r26,r6 - 2953 0078 ED91 ld r30,X+ - 2954 .LVL289: - 2955 007a 3D01 movw r6,r26 - 2956 .LSM239: - 2957 007c E033 cpi r30,lo8(48) - 2958 007e 01F0 breq .L153 - 2959 0080 1B8A std Y+19,__zero_reg__ - 2960 .LVL290: - 2961 0082 00C0 rjmp .L154 - 2962 .L153: - 2963 .LSM240: - 2964 0084 ED91 ld r30,X+ - 2965 0086 3D01 movw r6,r26 - 2966 0088 B1E0 ldi r27,lo8(1) - 2967 008a BB8B std Y+19,r27 - 2968 .LVL291: - 2969 .L154: - 2970 008c AA24 clr r10 - 2971 008e BB24 clr r11 - 2972 0090 00C0 rjmp .L155 - 2973 .L156: - 2974 .LSM241: - 2975 0092 C501 movw r24,r10 - 2976 0094 F3E0 ldi r31,3 - 2977 0096 880F 1: lsl r24 - 2978 0098 991F rol r25 - 2979 009a FA95 dec r31 - 2980 009c 01F4 brne 1b - 2981 009e AA0C lsl r10 - 2982 00a0 BB1C rol r11 - 2983 00a2 A80E add r10,r24 - 2984 00a4 B91E adc r11,r25 - 2985 00a6 AE0E add r10,r30 - 2986 00a8 B11C adc r11,__zero_reg__ - 2987 00aa E0ED ldi r30,lo8(-48) - 2988 00ac FFEF ldi r31,hi8(-48) - 2989 .LVL292: - 2990 00ae AE0E add r10,r30 - 2991 00b0 BF1E adc r11,r31 - 2992 .LSM242: - 2993 00b2 D301 movw r26,r6 - 2994 00b4 ED91 ld r30,X+ - 2995 .LVL293: - 2996 00b6 3D01 movw r6,r26 - 2997 .L155: - 2998 .LSM243: - 2999 00b8 8E2F mov r24,r30 - 3000 00ba 8053 subi r24,lo8(-(-48)) - 3001 00bc 8A30 cpi r24,lo8(10) - 3002 00be 00F0 brlo .L156 - 3003 .LSM244: - 3004 00c0 EC36 cpi r30,lo8(108) - 3005 00c2 01F4 brne .L157 - 3006 .LSM245: - 3007 00c4 BB89 ldd r27,Y+19 - 3008 00c6 B260 ori r27,lo8(2) - 3009 00c8 BB8B std Y+19,r27 - 3010 .LVL294: - 3011 00ca D301 movw r26,r6 - 3012 00cc ED91 ld r30,X+ - 3013 00ce 3D01 movw r6,r26 - 3014 .L157: - 3015 .LSM246: - 3016 00d0 E337 cpi r30,lo8(115) - 3017 00d2 01F4 brne .L158 - 3018 .LSM247: - 3019 00d4 62E0 ldi r22,lo8(2) - 3020 00d6 862E mov r8,r22 - 3021 00d8 912C mov r9,__zero_reg__ - 3022 .LVL295: - 3023 00da 800E add r8,r16 - 3024 00dc 911E adc r9,r17 - 3025 00de F801 movw r30,r16 - 3026 .LVL296: - 3027 00e0 8081 ld r24,Z - 3028 00e2 9181 ldd r25,Z+1 - 3029 00e4 00C0 rjmp .L180 - 3030 .LVL297: - 3031 .L158: - 3032 .LSM248: - 3033 00e6 E336 cpi r30,lo8(99) - 3034 00e8 01F4 brne .L159 - 3035 .LSM249: - 3036 00ea 52E0 ldi r21,lo8(2) - 3037 00ec 852E mov r8,r21 - 3038 00ee 912C mov r9,__zero_reg__ - 3039 .LVL298: - 3040 00f0 800E add r8,r16 - 3041 00f2 911E adc r9,r17 - 3042 00f4 D801 movw r26,r16 - 3043 00f6 8D91 ld r24,X+ - 3044 00f8 9C91 ld r25,X - 3045 00fa 68A5 ldd r22,Y+40 - 3046 00fc 79A5 ldd r23,Y+41 - 3047 00fe 0E94 0000 call f_putc - 3048 .LVL299: - 3049 0102 9C01 movw r18,r24 - 3050 .LVL300: - 3051 .LSM250: - 3052 0104 BFEF ldi r27,hi8(-1) - 3053 0106 8F3F cpi r24,lo8(-1) - 3054 0108 9B07 cpc r25,r27 - 3055 010a 01F4 brne .+2 - 3056 010c 00C0 rjmp .L152 - 3057 .LVL301: - 3058 .L179: - 3059 010e 21E0 ldi r18,lo8(1) - 3060 0110 30E0 ldi r19,hi8(1) - 3061 .LVL302: - 3062 0112 00C0 rjmp .L152 - 3063 .LVL303: - 3064 .L159: - 3065 .LSM251: - 3066 0114 E436 cpi r30,lo8(100) - 3067 0116 01F0 breq .L160 - 3068 .LSM252: - 3069 0118 E537 cpi r30,lo8(117) - 3070 011a 01F0 breq .L160 - 3071 .LSM253: - 3072 011c E835 cpi r30,lo8(88) - 3073 011e 01F0 breq .+2 - 3074 0120 00C0 rjmp .L149 - 3075 0122 20E1 ldi r18,lo8(16) - 3076 .LVL304: - 3077 0124 00C0 rjmp .L161 - 3078 .LVL305: - 3079 .L160: - 3080 0126 2AE0 ldi r18,lo8(10) - 3081 .LVL306: - 3082 .L161: - 3083 .LSM254: - 3084 0128 FB89 ldd r31,Y+19 - 3085 012a F1FF sbrs r31,1 - 3086 012c 00C0 rjmp .L162 - 3087 .LSM255: - 3088 012e 44E0 ldi r20,lo8(4) - 3089 0130 842E mov r8,r20 - 3090 0132 912C mov r9,__zero_reg__ - 3091 .LVL307: - 3092 0134 800E add r8,r16 - 3093 0136 911E adc r9,r17 - 3094 0138 D801 movw r26,r16 - 3095 013a ED90 ld r14,X+ - 3096 013c FD90 ld r15,X+ - 3097 013e 0D91 ld r16,X+ - 3098 0140 1C91 ld r17,X - 3099 .LSM256: - 3100 0142 E436 cpi r30,lo8(100) - 3101 0144 01F4 brne .L164 - 3102 .LVL308: - 3103 0146 00C0 rjmp .L163 - 3104 .L162: - 3105 0148 C801 movw r24,r16 - 3106 014a 0296 adiw r24,2 - 3107 .LVL309: - 3108 014c D801 movw r26,r16 - 3109 014e 6D91 ld r22,X+ - 3110 0150 7C91 ld r23,X - 3111 .LSM257: - 3112 0152 E436 cpi r30,lo8(100) - 3113 0154 01F4 brne .L165 - 3114 .LVL310: - 3115 0156 4C01 movw r8,r24 - 3116 0158 7B01 movw r14,r22 - 3117 015a 0027 clr r16 - 3118 015c F7FC sbrc r15,7 - 3119 015e 0095 com r16 - 3120 0160 102F mov r17,r16 - 3121 0162 00C0 rjmp .L163 - 3122 .LVL311: - 3123 .L165: - 3124 0164 4C01 movw r8,r24 - 3125 0166 7B01 movw r14,r22 - 3126 .LVL312: - 3127 0168 00E0 ldi r16,lo8(0) - 3128 016a 10E0 ldi r17,hi8(0) - 3129 .LVL313: - 3130 016c 00C0 rjmp .L164 - 3131 .LVL314: - 3132 .L163: - 3133 .LSM258: - 3134 016e 17FF sbrs r17,7 - 3135 0170 00C0 rjmp .L164 - 3136 .LSM259: - 3137 0172 1095 com r17 - 3138 0174 0095 com r16 - 3139 0176 F094 com r15 - 3140 0178 E094 com r14 - 3141 017a E11C adc r14,__zero_reg__ - 3142 017c F11C adc r15,__zero_reg__ - 3143 017e 011D adc r16,__zero_reg__ - 3144 0180 111D adc r17,__zero_reg__ - 3145 .LSM260: - 3146 0182 BB89 ldd r27,Y+19 - 3147 0184 B460 ori r27,lo8(4) - 3148 0186 BB8B std Y+19,r27 - 3149 .LVL315: - 3150 .L164: - 3151 .LSM261: - 3152 0188 188A std Y+16,__zero_reg__ - 3153 018a 3FE0 ldi r19,lo8(15) - 3154 018c C32E mov r12,r19 - 3155 018e D12C mov r13,__zero_reg__ - 3156 .LSM262: - 3157 0190 222E mov r2,r18 - 3158 0192 3324 clr r3 - 3159 0194 4424 clr r4 - 3160 0196 5524 clr r5 - 3161 .LVL316: - 3162 .L169: - 3163 0198 C801 movw r24,r16 - 3164 019a B701 movw r22,r14 - 3165 019c A201 movw r20,r4 - 3166 019e 9101 movw r18,r2 - 3167 .LVL317: - 3168 01a0 0E94 0000 call __udivmodsi4 - 3169 .LVL318: - 3170 01a4 862F mov r24,r22 - 3171 .LVL319: - 3172 01a6 805D subi r24,lo8(-(48)) - 3173 .LSM263: - 3174 01a8 8A33 cpi r24,lo8(58) - 3175 01aa 00F0 brlo .L166 - 3176 01ac 895F subi r24,lo8(-(7)) - 3177 .L166: - 3178 .LSM264: - 3179 01ae 0894 sec - 3180 01b0 C108 sbc r12,__zero_reg__ - 3181 01b2 D108 sbc r13,__zero_reg__ - 3182 01b4 E1E0 ldi r30,lo8(1) - 3183 01b6 F0E0 ldi r31,hi8(1) - 3184 01b8 EC0F add r30,r28 - 3185 01ba FD1F adc r31,r29 - 3186 01bc EC0D add r30,r12 - 3187 01be FD1D adc r31,r13 - 3188 01c0 8083 st Z,r24 - 3189 .LSM265: - 3190 01c2 C114 cp r12,__zero_reg__ - 3191 01c4 D104 cpc r13,__zero_reg__ - 3192 01c6 01F0 breq .L168 - 3193 .LSM266: - 3194 01c8 C801 movw r24,r16 - 3195 01ca B701 movw r22,r14 - 3196 01cc A201 movw r20,r4 - 3197 01ce 9101 movw r18,r2 - 3198 01d0 0E94 0000 call __udivmodsi4 - 3199 01d4 C901 movw r24,r18 - 3200 .LVL320: - 3201 01d6 DA01 movw r26,r20 - 3202 01d8 7C01 movw r14,r24 - 3203 01da 8D01 movw r16,r26 - 3204 .LSM267: - 3205 01dc E114 cp r14,__zero_reg__ - 3206 01de F104 cpc r15,__zero_reg__ - 3207 01e0 0105 cpc r16,__zero_reg__ - 3208 01e2 1105 cpc r17,__zero_reg__ - 3209 01e4 01F4 brne .L169 - 3210 .LSM268: - 3211 01e6 EB89 ldd r30,Y+19 - 3212 01e8 E2FF sbrs r30,2 - 3213 01ea 00C0 rjmp .L168 - 3214 01ec 0894 sec - 3215 01ee C108 sbc r12,__zero_reg__ - 3216 01f0 D108 sbc r13,__zero_reg__ - 3217 01f2 E1E0 ldi r30,lo8(1) - 3218 01f4 F0E0 ldi r31,hi8(1) - 3219 01f6 EC0F add r30,r28 - 3220 01f8 FD1F adc r31,r29 - 3221 01fa EC0D add r30,r12 - 3222 01fc FD1D adc r31,r13 - 3223 01fe 4DE2 ldi r20,lo8(45) - 3224 0200 4083 st Z,r20 - 3225 .LVL321: - 3226 .L168: - 3227 .LSM269: - 3228 0202 8FE0 ldi r24,lo8(15) - 3229 0204 90E0 ldi r25,hi8(15) - 3230 .LVL322: - 3231 0206 8A19 sub r24,r10 - 3232 0208 9B09 sbc r25,r11 - 3233 020a 0894 sec - 3234 020c C108 sbc r12,__zero_reg__ - 3235 020e D108 sbc r13,__zero_reg__ - 3236 0210 E1E0 ldi r30,lo8(1) - 3237 0212 F0E0 ldi r31,hi8(1) - 3238 0214 EC0F add r30,r28 - 3239 0216 FD1F adc r31,r29 - 3240 0218 EC0D add r30,r12 - 3241 021a FD1D adc r31,r13 - 3242 021c 0894 sec - 3243 021e C11C adc r12,__zero_reg__ - 3244 0220 D11C adc r13,__zero_reg__ - 3245 .LSM270: - 3246 0222 AB89 ldd r26,Y+19 - 3247 0224 2A2F mov r18,r26 - 3248 0226 30E0 ldi r19,lo8(0) - 3249 0228 2170 andi r18,lo8(1) - 3250 022a 3070 andi r19,hi8(1) - 3251 022c 00C0 rjmp .L170 - 3252 .L174: - 3253 022e 0894 sec - 3254 0230 C108 sbc r12,__zero_reg__ - 3255 0232 D108 sbc r13,__zero_reg__ - 3256 0234 2115 cp r18,__zero_reg__ - 3257 0236 3105 cpc r19,__zero_reg__ - 3258 0238 01F4 brne .L171 - 3259 023a 40E2 ldi r20,lo8(32) - 3260 023c 00C0 rjmp .L172 - 3261 .L171: - 3262 023e 40E3 ldi r20,lo8(48) - 3263 .L172: - 3264 0240 4083 st Z,r20 - 3265 0242 3197 sbiw r30,1 - 3266 .L170: - 3267 0244 C114 cp r12,__zero_reg__ - 3268 0246 D104 cpc r13,__zero_reg__ - 3269 0248 01F0 breq .L173 - 3270 024a 8C15 cp r24,r12 - 3271 024c 9D05 cpc r25,r13 - 3272 024e 04F0 brlt .L174 - 3273 .L173: - 3274 .LSM271: - 3275 0250 81E0 ldi r24,lo8(1) - 3276 0252 90E0 ldi r25,hi8(1) - 3277 .LVL323: - 3278 0254 8C0F add r24,r28 - 3279 0256 9D1F adc r25,r29 - 3280 0258 8C0D add r24,r12 - 3281 025a 9D1D adc r25,r13 - 3282 .LVL324: - 3283 .L180: - 3284 025c 68A5 ldd r22,Y+40 - 3285 025e 79A5 ldd r23,Y+41 - 3286 0260 0E94 0000 call f_puts - 3287 .LVL325: - 3288 0264 9C01 movw r18,r24 - 3289 .LVL326: - 3290 .L152: - 3291 .LSM272: - 3292 0266 E989 ldd r30,Y+17 - 3293 0268 FA89 ldd r31,Y+18 - 3294 026a E20F add r30,r18 - 3295 026c F31F adc r31,r19 - 3296 026e FA8B std Y+18,r31 - 3297 0270 E98B std Y+17,r30 - 3298 .LVL327: - 3299 0272 FFEF ldi r31,hi8(-1) - 3300 0274 2F3F cpi r18,lo8(-1) - 3301 0276 3F07 cpc r19,r31 - 3302 0278 01F0 breq .L175 - 3303 027a 8401 movw r16,r8 - 3304 .LVL328: - 3305 027c 00C0 rjmp .L176 - 3306 .LVL329: - 3307 .L149: - 3308 .LSM273: - 3309 027e 4FEF ldi r20,hi8(-1) - 3310 0280 2F3F cpi r18,lo8(-1) - 3311 0282 3407 cpc r19,r20 - 3312 0284 01F0 breq .L175 - 3313 0286 2989 ldd r18,Y+17 - 3314 0288 3A89 ldd r19,Y+18 - 3315 .LVL330: - 3316 .L175: - 3317 .LSM274: - 3318 028a C901 movw r24,r18 - 3319 .LVL331: - 3320 /* epilogue start */ - 3321 028c 6396 adiw r28,19 - 3322 028e 0FB6 in __tmp_reg__,__SREG__ - 3323 0290 F894 cli - 3324 0292 DEBF out __SP_H__,r29 - 3325 0294 0FBE out __SREG__,__tmp_reg__ - 3326 0296 CDBF out __SP_L__,r28 - 3327 0298 CF91 pop r28 - 3328 029a DF91 pop r29 - 3329 029c 1F91 pop r17 - 3330 029e 0F91 pop r16 - 3331 .LVL332: - 3332 02a0 FF90 pop r15 - 3333 02a2 EF90 pop r14 - 3334 .LVL333: - 3335 02a4 DF90 pop r13 - 3336 02a6 CF90 pop r12 - 3337 .LVL334: - 3338 02a8 BF90 pop r11 - 3339 02aa AF90 pop r10 - 3340 .LVL335: - 3341 02ac 9F90 pop r9 - 3342 02ae 8F90 pop r8 - 3343 .LVL336: - 3344 02b0 7F90 pop r7 - 3345 02b2 6F90 pop r6 - 3346 .LVL337: - 3347 02b4 5F90 pop r5 - 3348 02b6 4F90 pop r4 - 3349 02b8 3F90 pop r3 - 3350 02ba 2F90 pop r2 - 3351 02bc 0895 ret - 3352 .LFE82: - 3354 .section .text.dir_next,"ax",@progbits - 3356 dir_next: - 3357 .LFB64: - 3358 .LSM275: - 3359 .LVL338: - 3360 0000 8F92 push r8 - 3361 0002 9F92 push r9 - 3362 0004 AF92 push r10 - 3363 0006 BF92 push r11 - 3364 0008 CF92 push r12 - 3365 000a DF92 push r13 - 3366 000c EF92 push r14 - 3367 000e FF92 push r15 - 3368 0010 0F93 push r16 - 3369 0012 1F93 push r17 - 3370 0014 CF93 push r28 - 3371 0016 DF93 push r29 - 3372 /* prologue: function */ - 3373 /* frame size = 0 */ - 3374 0018 EC01 movw r28,r24 - 3375 001a 162F mov r17,r22 - 3376 .LSM276: - 3377 001c AC80 ldd r10,Y+4 - 3378 001e BD80 ldd r11,Y+5 - 3379 .LVL339: - 3380 0020 0894 sec - 3381 0022 A11C adc r10,__zero_reg__ - 3382 0024 B11C adc r11,__zero_reg__ - 3383 .LSM277: - 3384 0026 A114 cp r10,__zero_reg__ - 3385 0028 B104 cpc r11,__zero_reg__ - 3386 002a 01F4 brne .+2 - 3387 002c 00C0 rjmp .L182 - 3388 .LVL340: - 3389 002e 8E85 ldd r24,Y+14 - 3390 0030 9F85 ldd r25,Y+15 - 3391 0032 A889 ldd r26,Y+16 - 3392 0034 B989 ldd r27,Y+17 - 3393 0036 0097 sbiw r24,0 - 3394 0038 A105 cpc r26,__zero_reg__ - 3395 003a B105 cpc r27,__zero_reg__ - 3396 003c 01F4 brne .+2 - 3397 003e 00C0 rjmp .L182 - 3398 .LSM278: - 3399 0040 0FE0 ldi r16,lo8(15) - 3400 0042 802E mov r8,r16 - 3401 0044 912C mov r9,__zero_reg__ - 3402 0046 8A20 and r8,r10 - 3403 0048 9B20 and r9,r11 - 3404 004a 8114 cp r8,__zero_reg__ - 3405 004c 9104 cpc r9,__zero_reg__ - 3406 004e 01F0 breq .+2 - 3407 0050 00C0 rjmp .L183 - 3408 .LSM279: - 3409 0052 0196 adiw r24,1 - 3410 0054 A11D adc r26,__zero_reg__ - 3411 0056 B11D adc r27,__zero_reg__ - 3412 0058 8E87 std Y+14,r24 - 3413 005a 9F87 std Y+15,r25 - 3414 005c A88B std Y+16,r26 - 3415 005e B98B std Y+17,r27 - 3416 .LSM280: - 3417 0060 4A85 ldd r20,Y+10 - 3418 0062 5B85 ldd r21,Y+11 - 3419 0064 6C85 ldd r22,Y+12 - 3420 0066 7D85 ldd r23,Y+13 - 3421 0068 E881 ld r30,Y - 3422 006a F981 ldd r31,Y+1 - 3423 006c 4115 cp r20,__zero_reg__ - 3424 006e 5105 cpc r21,__zero_reg__ - 3425 0070 6105 cpc r22,__zero_reg__ - 3426 0072 7105 cpc r23,__zero_reg__ - 3427 0074 01F4 brne .L184 - 3428 .LSM281: - 3429 0076 8085 ldd r24,Z+8 - 3430 0078 9185 ldd r25,Z+9 - 3431 007a A816 cp r10,r24 - 3432 007c B906 cpc r11,r25 - 3433 007e 00F4 brsh .+2 - 3434 0080 00C0 rjmp .L183 - 3435 0082 00C0 rjmp .L182 - 3436 .L184: - 3437 .LSM282: - 3438 0084 8281 ldd r24,Z+2 - 3439 0086 90E0 ldi r25,lo8(0) - 3440 0088 0197 sbiw r24,1 - 3441 008a 9501 movw r18,r10 - 3442 008c B4E0 ldi r27,4 - 3443 008e 3695 1: lsr r19 - 3444 0090 2795 ror r18 - 3445 0092 BA95 dec r27 - 3446 0094 01F4 brne 1b - 3447 0096 8223 and r24,r18 - 3448 0098 9323 and r25,r19 - 3449 009a 892B or r24,r25 - 3450 009c 01F0 breq .+2 - 3451 009e 00C0 rjmp .L183 - 3452 .LSM283: - 3453 00a0 CF01 movw r24,r30 - 3454 00a2 0E94 0000 call get_fat - 3455 00a6 6B01 movw r12,r22 - 3456 00a8 7C01 movw r14,r24 - 3457 .LVL341: - 3458 .LSM284: - 3459 00aa 82E0 ldi r24,lo8(2) - 3460 00ac C816 cp r12,r24 - 3461 00ae D104 cpc r13,__zero_reg__ - 3462 00b0 E104 cpc r14,__zero_reg__ - 3463 00b2 F104 cpc r15,__zero_reg__ - 3464 00b4 00F4 brsh .+2 - 3465 00b6 00C0 rjmp .L185 - 3466 .LSM285: - 3467 00b8 9FEF ldi r25,lo8(-1) - 3468 00ba C916 cp r12,r25 - 3469 00bc 9FEF ldi r25,hi8(-1) - 3470 00be D906 cpc r13,r25 - 3471 00c0 9FEF ldi r25,hlo8(-1) - 3472 00c2 E906 cpc r14,r25 - 3473 00c4 9FEF ldi r25,hhi8(-1) - 3474 00c6 F906 cpc r15,r25 - 3475 00c8 01F4 brne .+2 - 3476 00ca 00C0 rjmp .L186 - 3477 .LSM286: - 3478 00cc E881 ld r30,Y - 3479 00ce F981 ldd r31,Y+1 - 3480 00d0 828D ldd r24,Z+26 - 3481 00d2 938D ldd r25,Z+27 - 3482 00d4 A48D ldd r26,Z+28 - 3483 00d6 B58D ldd r27,Z+29 - 3484 00d8 C816 cp r12,r24 - 3485 00da D906 cpc r13,r25 - 3486 00dc EA06 cpc r14,r26 - 3487 00de FB06 cpc r15,r27 - 3488 00e0 00F4 brsh .+2 - 3489 00e2 00C0 rjmp .L187 - 3490 .LBB3: - 3491 .LSM287: - 3492 00e4 1123 tst r17 - 3493 00e6 01F4 brne .+2 - 3494 00e8 00C0 rjmp .L182 - 3495 .LSM288: - 3496 00ea 4A85 ldd r20,Y+10 - 3497 00ec 5B85 ldd r21,Y+11 - 3498 00ee 6C85 ldd r22,Y+12 - 3499 00f0 7D85 ldd r23,Y+13 - 3500 00f2 CF01 movw r24,r30 - 3501 00f4 0E94 0000 call create_chain - 3502 00f8 6B01 movw r12,r22 - 3503 00fa 7C01 movw r14,r24 - 3504 .LSM289: - 3505 00fc 6115 cp r22,__zero_reg__ - 3506 00fe 7105 cpc r23,__zero_reg__ - 3507 0100 8105 cpc r24,__zero_reg__ - 3508 0102 9105 cpc r25,__zero_reg__ - 3509 0104 01F4 brne .L188 - 3510 .LVL342: - 3511 0106 87E0 ldi r24,lo8(7) - 3512 0108 00C0 rjmp .L189 - 3513 .L188: - 3514 .LSM290: - 3515 010a 6130 cpi r22,lo8(1) - 3516 010c 7105 cpc r23,__zero_reg__ - 3517 010e 8105 cpc r24,__zero_reg__ - 3518 0110 9105 cpc r25,__zero_reg__ - 3519 0112 01F4 brne .+2 - 3520 0114 00C0 rjmp .L185 - 3521 .LSM291: - 3522 0116 6F3F cpi r22,lo8(-1) - 3523 0118 FFEF ldi r31,hi8(-1) - 3524 011a 7F07 cpc r23,r31 - 3525 011c FFEF ldi r31,hlo8(-1) - 3526 011e 8F07 cpc r24,r31 - 3527 0120 FFEF ldi r31,hhi8(-1) - 3528 0122 9F07 cpc r25,r31 - 3529 0124 01F4 brne .+2 - 3530 0126 00C0 rjmp .L186 - 3531 .LSM292: - 3532 0128 8881 ld r24,Y - 3533 012a 9981 ldd r25,Y+1 - 3534 012c 40E0 ldi r20,lo8(0) - 3535 012e 50E0 ldi r21,hi8(0) - 3536 0130 60E0 ldi r22,hlo8(0) - 3537 0132 70E0 ldi r23,hhi8(0) - 3538 0134 0E94 0000 call move_window - 3539 .LVL343: - 3540 0138 8823 tst r24 - 3541 013a 01F0 breq .+2 - 3542 013c 00C0 rjmp .L186 - 3543 .LSM293: - 3544 013e 8881 ld r24,Y - 3545 0140 9981 ldd r25,Y+1 - 3546 0142 8E96 adiw r24,46 - 3547 0144 60E0 ldi r22,lo8(0) - 3548 0146 70E0 ldi r23,hi8(0) - 3549 0148 40E0 ldi r20,lo8(512) - 3550 014a 52E0 ldi r21,hi8(512) - 3551 014c 0E94 0000 call mem_set - 3552 .LSM294: - 3553 0150 0881 ld r16,Y - 3554 0152 1981 ldd r17,Y+1 - 3555 0154 C801 movw r24,r16 - 3556 0156 B701 movw r22,r14 - 3557 0158 A601 movw r20,r12 - 3558 015a 0E94 0000 call clust2sect - 3559 015e F801 movw r30,r16 - 3560 0160 62A7 std Z+42,r22 - 3561 0162 73A7 std Z+43,r23 - 3562 0164 84A7 std Z+44,r24 - 3563 0166 95A7 std Z+45,r25 - 3564 0168 00E0 ldi r16,lo8(0) - 3565 .LVL344: - 3566 .LSM295: - 3567 016a 11E0 ldi r17,lo8(1) - 3568 .LVL345: - 3569 016c 00C0 rjmp .L190 - 3570 .L191: - 3571 016e 1483 std Z+4,r17 - 3572 .LSM296: - 3573 0170 8881 ld r24,Y - 3574 0172 9981 ldd r25,Y+1 - 3575 0174 40E0 ldi r20,lo8(0) - 3576 0176 50E0 ldi r21,hi8(0) - 3577 0178 60E0 ldi r22,hlo8(0) - 3578 017a 70E0 ldi r23,hhi8(0) - 3579 017c 0E94 0000 call move_window - 3580 0180 8823 tst r24 - 3581 0182 01F0 breq .+2 - 3582 0184 00C0 rjmp .L186 - 3583 .LSM297: - 3584 0186 E881 ld r30,Y - 3585 0188 F981 ldd r31,Y+1 - 3586 018a 82A5 ldd r24,Z+42 - 3587 018c 93A5 ldd r25,Z+43 - 3588 018e A4A5 ldd r26,Z+44 - 3589 0190 B5A5 ldd r27,Z+45 - 3590 0192 0196 adiw r24,1 - 3591 0194 A11D adc r26,__zero_reg__ - 3592 0196 B11D adc r27,__zero_reg__ - 3593 0198 82A7 std Z+42,r24 - 3594 019a 93A7 std Z+43,r25 - 3595 019c A4A7 std Z+44,r26 - 3596 019e B5A7 std Z+45,r27 - 3597 .LSM298: - 3598 01a0 0F5F subi r16,lo8(-(1)) - 3599 .L190: - 3600 01a2 E881 ld r30,Y - 3601 01a4 F981 ldd r31,Y+1 - 3602 01a6 8281 ldd r24,Z+2 - 3603 01a8 0817 cp r16,r24 - 3604 01aa 00F0 brlo .L191 - 3605 .LSM299: - 3606 01ac 82A5 ldd r24,Z+42 - 3607 01ae 93A5 ldd r25,Z+43 - 3608 01b0 A4A5 ldd r26,Z+44 - 3609 01b2 B5A5 ldd r27,Z+45 - 3610 01b4 801B sub r24,r16 - 3611 01b6 9109 sbc r25,__zero_reg__ - 3612 01b8 A109 sbc r26,__zero_reg__ - 3613 01ba B109 sbc r27,__zero_reg__ - 3614 01bc 82A7 std Z+42,r24 - 3615 01be 93A7 std Z+43,r25 - 3616 01c0 A4A7 std Z+44,r26 - 3617 01c2 B5A7 std Z+45,r27 - 3618 .LVL346: - 3619 .L187: - 3620 .LBE3: - 3621 .LSM300: - 3622 01c4 CA86 std Y+10,r12 - 3623 01c6 DB86 std Y+11,r13 - 3624 01c8 EC86 std Y+12,r14 - 3625 01ca FD86 std Y+13,r15 - 3626 .LSM301: - 3627 01cc 8881 ld r24,Y - 3628 01ce 9981 ldd r25,Y+1 - 3629 01d0 B701 movw r22,r14 - 3630 01d2 A601 movw r20,r12 - 3631 01d4 0E94 0000 call clust2sect - 3632 01d8 6E87 std Y+14,r22 - 3633 01da 7F87 std Y+15,r23 - 3634 01dc 888B std Y+16,r24 - 3635 01de 998B std Y+17,r25 - 3636 .LVL347: - 3637 .L183: - 3638 .LSM302: - 3639 01e0 BD82 std Y+5,r11 - 3640 01e2 AC82 std Y+4,r10 - 3641 .LSM303: - 3642 01e4 A5E0 ldi r26,5 - 3643 01e6 880C 1: lsl r8 - 3644 01e8 991C rol r9 - 3645 01ea AA95 dec r26 - 3646 01ec 01F4 brne 1b - 3647 01ee 8EE2 ldi r24,lo8(46) - 3648 01f0 90E0 ldi r25,hi8(46) - 3649 01f2 880E add r8,r24 - 3650 01f4 991E adc r9,r25 - 3651 01f6 8881 ld r24,Y - 3652 01f8 9981 ldd r25,Y+1 - 3653 01fa 880D add r24,r8 - 3654 01fc 991D adc r25,r9 - 3655 01fe 9B8B std Y+19,r25 - 3656 0200 8A8B std Y+18,r24 - 3657 0202 80E0 ldi r24,lo8(0) - 3658 0204 00C0 rjmp .L189 - 3659 .LVL348: - 3660 .L182: - 3661 .LSM304: - 3662 0206 84E0 ldi r24,lo8(4) - 3663 0208 00C0 rjmp .L189 - 3664 .LVL349: - 3665 .L185: - 3666 020a 82E0 ldi r24,lo8(2) - 3667 020c 00C0 rjmp .L189 - 3668 .LVL350: - 3669 .L186: - 3670 020e 81E0 ldi r24,lo8(1) - 3671 .LVL351: - 3672 .L189: - 3673 /* epilogue start */ - 3674 .LSM305: - 3675 0210 DF91 pop r29 - 3676 0212 CF91 pop r28 - 3677 .LVL352: - 3678 0214 1F91 pop r17 - 3679 .LVL353: - 3680 0216 0F91 pop r16 - 3681 .LVL354: - 3682 0218 FF90 pop r15 - 3683 021a EF90 pop r14 - 3684 021c DF90 pop r13 - 3685 021e CF90 pop r12 - 3686 .LVL355: - 3687 0220 BF90 pop r11 - 3688 0222 AF90 pop r10 - 3689 .LVL356: - 3690 0224 9F90 pop r9 - 3691 0226 8F90 pop r8 - 3692 0228 0895 ret - 3693 .LFE64: - 3695 .section .text.f_read,"ax",@progbits - 3696 .global f_read - 3698 f_read: - 3699 .LFB74: - 3700 .LSM306: - 3701 .LVL357: - 3702 0000 2F92 push r2 - 3703 0002 3F92 push r3 - 3704 0004 5F92 push r5 - 3705 0006 6F92 push r6 - 3706 0008 7F92 push r7 - 3707 000a 8F92 push r8 - 3708 000c 9F92 push r9 - 3709 000e AF92 push r10 - 3710 0010 BF92 push r11 - 3711 0012 CF92 push r12 - 3712 0014 DF92 push r13 - 3713 0016 EF92 push r14 - 3714 0018 FF92 push r15 - 3715 001a 0F93 push r16 - 3716 001c 1F93 push r17 - 3717 001e CF93 push r28 - 3718 0020 DF93 push r29 - 3719 /* prologue: function */ - 3720 /* frame size = 0 */ - 3721 0022 EC01 movw r28,r24 - 3722 0024 162F mov r17,r22 - 3723 0026 072F mov r16,r23 - 3724 .LVL358: - 3725 0028 4A01 movw r8,r20 - 3726 002a 1901 movw r2,r18 - 3727 .LSM307: - 3728 002c F901 movw r30,r18 - 3729 002e 1182 std Z+1,__zero_reg__ - 3730 0030 1082 st Z,__zero_reg__ - 3731 .LSM308: - 3732 0032 6A81 ldd r22,Y+2 - 3733 0034 7B81 ldd r23,Y+3 - 3734 .LVL359: - 3735 0036 8881 ld r24,Y - 3736 0038 9981 ldd r25,Y+1 - 3737 .LVL360: - 3738 003a 0E94 0000 call validate - 3739 .LVL361: - 3740 003e 582E mov r5,r24 - 3741 .LVL362: - 3742 .LSM309: - 3743 0040 8823 tst r24 - 3744 0042 01F0 breq .+2 - 3745 0044 00C0 rjmp .L194 - 3746 .LVL363: - 3747 .LSM310: - 3748 0046 8C81 ldd r24,Y+4 - 3749 .LVL364: - 3750 0048 87FD sbrc r24,7 - 3751 004a 00C0 rjmp .L215 - 3752 .L195: - 3753 .LSM311: - 3754 004c 80FD sbrc r24,0 - 3755 004e 00C0 rjmp .L196 - 3756 0050 47E0 ldi r20,lo8(7) - 3757 0052 542E mov r5,r20 - 3758 0054 00C0 rjmp .L194 - 3759 .L196: - 3760 .LSM312: - 3761 0056 2A85 ldd r18,Y+10 - 3762 0058 3B85 ldd r19,Y+11 - 3763 005a 4C85 ldd r20,Y+12 - 3764 005c 5D85 ldd r21,Y+13 - 3765 .LVL365: - 3766 005e 8E81 ldd r24,Y+6 - 3767 0060 9F81 ldd r25,Y+7 - 3768 0062 A885 ldd r26,Y+8 - 3769 0064 B985 ldd r27,Y+9 - 3770 0066 281B sub r18,r24 - 3771 0068 390B sbc r19,r25 - 3772 006a 4A0B sbc r20,r26 - 3773 006c 5B0B sbc r21,r27 - 3774 .LSM313: - 3775 006e C401 movw r24,r8 - 3776 0070 A0E0 ldi r26,lo8(0) - 3777 0072 B0E0 ldi r27,hi8(0) - 3778 .LVL366: - 3779 0074 2817 cp r18,r24 - 3780 0076 3907 cpc r19,r25 - 3781 0078 4A07 cpc r20,r26 - 3782 007a 5B07 cpc r21,r27 - 3783 007c 00F4 brsh .L197 - 3784 .LVL367: - 3785 007e 4901 movw r8,r18 - 3786 .LVL368: - 3787 .L197: - 3788 .LSM314: - 3789 0080 812F mov r24,r17 - 3790 .LVL369: - 3791 0082 902F mov r25,r16 - 3792 .LVL370: - 3793 0084 9C01 movw r18,r24 - 3794 .LVL371: - 3795 0086 3901 movw r6,r18 - 3796 .LVL372: - 3797 0088 00C0 rjmp .L198 - 3798 .LVL373: - 3799 .L213: - 3800 .LSM315: - 3801 008a 2E81 ldd r18,Y+6 - 3802 008c 3F81 ldd r19,Y+7 - 3803 008e 4885 ldd r20,Y+8 - 3804 0090 5985 ldd r21,Y+9 - 3805 0092 DA01 movw r26,r20 - 3806 0094 C901 movw r24,r18 - 3807 0096 9170 andi r25,hi8(511) - 3808 0098 A070 andi r26,hlo8(511) - 3809 009a B070 andi r27,hhi8(511) - 3810 009c 0097 sbiw r24,0 - 3811 009e A105 cpc r26,__zero_reg__ - 3812 00a0 B105 cpc r27,__zero_reg__ - 3813 00a2 01F0 breq .+2 - 3814 00a4 00C0 rjmp .L199 - 3815 .LSM316: - 3816 00a6 E881 ld r30,Y - 3817 00a8 F981 ldd r31,Y+1 - 3818 00aa 9D81 ldd r25,Y+5 - 3819 .LVL374: - 3820 00ac 8281 ldd r24,Z+2 - 3821 00ae 9817 cp r25,r24 - 3822 00b0 00F0 brlo .L200 - 3823 .LSM317: - 3824 00b2 2115 cp r18,__zero_reg__ - 3825 00b4 3105 cpc r19,__zero_reg__ - 3826 00b6 4105 cpc r20,__zero_reg__ - 3827 00b8 5105 cpc r21,__zero_reg__ - 3828 00ba 01F4 brne .L201 - 3829 00bc 6E85 ldd r22,Y+14 - 3830 00be 7F85 ldd r23,Y+15 - 3831 00c0 8889 ldd r24,Y+16 - 3832 00c2 9989 ldd r25,Y+17 - 3833 .LVL375: - 3834 00c4 00C0 rjmp .L202 - 3835 .LVL376: - 3836 .L201: - 3837 00c6 4A89 ldd r20,Y+18 - 3838 00c8 5B89 ldd r21,Y+19 - 3839 00ca 6C89 ldd r22,Y+20 - 3840 00cc 7D89 ldd r23,Y+21 - 3841 00ce CF01 movw r24,r30 - 3842 00d0 0E94 0000 call get_fat - 3843 .LVL377: - 3844 .L202: - 3845 .LSM318: - 3846 00d4 6230 cpi r22,lo8(2) - 3847 00d6 7105 cpc r23,__zero_reg__ - 3848 00d8 8105 cpc r24,__zero_reg__ - 3849 00da 9105 cpc r25,__zero_reg__ - 3850 00dc 00F4 brsh .L203 - 3851 .LVL378: - 3852 .L217: - 3853 00de 8C81 ldd r24,Y+4 - 3854 00e0 8068 ori r24,lo8(-128) - 3855 00e2 8C83 std Y+4,r24 - 3856 .L215: - 3857 00e4 32E0 ldi r19,lo8(2) - 3858 00e6 532E mov r5,r19 - 3859 00e8 00C0 rjmp .L194 - 3860 .LVL379: - 3861 .L203: - 3862 .LSM319: - 3863 00ea 6F3F cpi r22,lo8(-1) - 3864 00ec FFEF ldi r31,hi8(-1) - 3865 00ee 7F07 cpc r23,r31 - 3866 00f0 FFEF ldi r31,hlo8(-1) - 3867 00f2 8F07 cpc r24,r31 - 3868 00f4 FFEF ldi r31,hhi8(-1) - 3869 00f6 9F07 cpc r25,r31 - 3870 00f8 01F4 brne .+2 - 3871 00fa 00C0 rjmp .L216 - 3872 .L204: - 3873 .LSM320: - 3874 00fc 6A8B std Y+18,r22 - 3875 00fe 7B8B std Y+19,r23 - 3876 0100 8C8B std Y+20,r24 - 3877 0102 9D8B std Y+21,r25 - 3878 .LSM321: - 3879 0104 1D82 std Y+5,__zero_reg__ - 3880 .L200: - 3881 .LSM322: - 3882 0106 0881 ld r16,Y - 3883 0108 1981 ldd r17,Y+1 - 3884 .LVL380: - 3885 010a 4A89 ldd r20,Y+18 - 3886 010c 5B89 ldd r21,Y+19 - 3887 010e 6C89 ldd r22,Y+20 - 3888 0110 7D89 ldd r23,Y+21 - 3889 0112 C801 movw r24,r16 - 3890 0114 0E94 0000 call clust2sect - 3891 .LVL381: - 3892 .LSM323: - 3893 0118 6115 cp r22,__zero_reg__ - 3894 011a 7105 cpc r23,__zero_reg__ - 3895 011c 8105 cpc r24,__zero_reg__ - 3896 011e 9105 cpc r25,__zero_reg__ - 3897 0120 01F0 breq .L217 - 3898 .LVL382: - 3899 .L205: - 3900 .LSM324: - 3901 0122 3D81 ldd r19,Y+5 - 3902 0124 5B01 movw r10,r22 - 3903 0126 6C01 movw r12,r24 - 3904 0128 A30E add r10,r19 - 3905 012a B11C adc r11,__zero_reg__ - 3906 012c C11C adc r12,__zero_reg__ - 3907 012e D11C adc r13,__zero_reg__ - 3908 .LVL383: - 3909 .LSM325: - 3910 0130 7401 movw r14,r8 - 3911 0132 EF2C mov r14,r15 - 3912 0134 FF24 clr r15 - 3913 0136 E694 lsr r14 - 3914 .LSM326: - 3915 0138 E114 cp r14,__zero_reg__ - 3916 013a F104 cpc r15,__zero_reg__ - 3917 013c 01F4 brne .+2 - 3918 013e 00C0 rjmp .L206 - 3919 .LSM327: - 3920 0140 F801 movw r30,r16 - 3921 0142 2281 ldd r18,Z+2 - 3922 0144 432F mov r20,r19 - 3923 0146 50E0 ldi r21,lo8(0) - 3924 0148 C701 movw r24,r14 - 3925 014a 840F add r24,r20 - 3926 014c 951F adc r25,r21 - 3927 014e 30E0 ldi r19,lo8(0) - 3928 0150 2817 cp r18,r24 - 3929 0152 3907 cpc r19,r25 - 3930 0154 00F4 brsh .L207 - 3931 .LSM328: - 3932 0156 7901 movw r14,r18 - 3933 0158 E41A sub r14,r20 - 3934 015a F50A sbc r15,r21 - 3935 .L207: - 3936 .LSM329: - 3937 015c F801 movw r30,r16 - 3938 015e 8181 ldd r24,Z+1 - 3939 0160 B301 movw r22,r6 - 3940 0162 A601 movw r20,r12 - 3941 0164 9501 movw r18,r10 - 3942 0166 0E2D mov r16,r14 - 3943 0168 0E94 0000 call disk_read - 3944 016c 8823 tst r24 - 3945 016e 01F0 breq .+2 - 3946 0170 00C0 rjmp .L216 - 3947 .L208: - 3948 .LSM330: - 3949 0172 E881 ld r30,Y - 3950 0174 F981 ldd r31,Y+1 - 3951 0176 8481 ldd r24,Z+4 - 3952 0178 8823 tst r24 - 3953 017a 01F0 breq .L209 - 3954 017c 22A5 ldd r18,Z+42 - 3955 017e 33A5 ldd r19,Z+43 - 3956 0180 44A5 ldd r20,Z+44 - 3957 0182 55A5 ldd r21,Z+45 - 3958 0184 2A19 sub r18,r10 - 3959 0186 3B09 sbc r19,r11 - 3960 0188 4C09 sbc r20,r12 - 3961 018a 5D09 sbc r21,r13 - 3962 018c C701 movw r24,r14 - 3963 018e A0E0 ldi r26,lo8(0) - 3964 0190 B0E0 ldi r27,hi8(0) - 3965 .LVL384: - 3966 0192 2817 cp r18,r24 - 3967 0194 3907 cpc r19,r25 - 3968 0196 4A07 cpc r20,r26 - 3969 0198 5B07 cpc r21,r27 - 3970 019a 00F4 brsh .L209 - 3971 .LVL385: - 3972 .LSM331: - 3973 019c 99E0 ldi r25,9 - 3974 019e 220F 1: lsl r18 - 3975 01a0 331F rol r19 - 3976 01a2 441F rol r20 - 3977 01a4 551F rol r21 - 3978 01a6 9A95 dec r25 - 3979 01a8 01F4 brne 1b - 3980 01aa C301 movw r24,r6 - 3981 .LVL386: - 3982 01ac 820F add r24,r18 - 3983 01ae 931F adc r25,r19 - 3984 01b0 BE96 adiw r30,46 - 3985 01b2 BF01 movw r22,r30 - 3986 01b4 40E0 ldi r20,lo8(512) - 3987 01b6 52E0 ldi r21,hi8(512) - 3988 01b8 0E94 0000 call mem_cpy - 3989 .LVL387: - 3990 .L209: - 3991 .LSM332: - 3992 01bc 8D81 ldd r24,Y+5 - 3993 01be 8E0D add r24,r14 - 3994 01c0 8D83 std Y+5,r24 - 3995 .LSM333: - 3996 01c2 8701 movw r16,r14 - 3997 .LVL388: - 3998 01c4 102F mov r17,r16 - 3999 01c6 0027 clr r16 - 4000 01c8 110F lsl r17 - 4001 01ca 00C0 rjmp .L210 - 4002 .LVL389: - 4003 .L206: - 4004 .LSM334: - 4005 01cc AE8A std Y+22,r10 - 4006 01ce BF8A std Y+23,r11 - 4007 01d0 C88E std Y+24,r12 - 4008 01d2 D98E std Y+25,r13 - 4009 .LSM335: - 4010 01d4 3F5F subi r19,lo8(-(1)) - 4011 01d6 3D83 std Y+5,r19 - 4012 .LVL390: - 4013 .L199: - 4014 .LSM336: - 4015 01d8 EE80 ldd r14,Y+6 - 4016 01da FF80 ldd r15,Y+7 - 4017 01dc 0885 ldd r16,Y+8 - 4018 01de 1985 ldd r17,Y+9 - 4019 .LVL391: - 4020 .LSM337: - 4021 01e0 4E89 ldd r20,Y+22 - 4022 01e2 5F89 ldd r21,Y+23 - 4023 01e4 688D ldd r22,Y+24 - 4024 01e6 798D ldd r23,Y+25 - 4025 01e8 8881 ld r24,Y - 4026 01ea 9981 ldd r25,Y+1 - 4027 01ec 0E94 0000 call move_window - 4028 .LVL392: - 4029 01f0 8823 tst r24 - 4030 01f2 01F0 breq .L211 - 4031 .LVL393: - 4032 .L216: - 4033 .LSM338: - 4034 01f4 8C81 ldd r24,Y+4 - 4035 01f6 8068 ori r24,lo8(-128) - 4036 01f8 8C83 std Y+4,r24 - 4037 01fa 5524 clr r5 - 4038 01fc 5394 inc r5 - 4039 01fe 00C0 rjmp .L194 - 4040 .LVL394: - 4041 .L211: - 4042 .LSM339: - 4043 0200 C701 movw r24,r14 - 4044 0202 9170 andi r25,hi8(511) - 4045 0204 20E0 ldi r18,lo8(512) - 4046 0206 32E0 ldi r19,hi8(512) - 4047 0208 281B sub r18,r24 - 4048 020a 390B sbc r19,r25 - 4049 020c 8401 movw r16,r8 - 4050 .LVL395: - 4051 020e 2815 cp r18,r8 - 4052 0210 3905 cpc r19,r9 - 4053 0212 00F4 brsh .L212 - 4054 .LVL396: - 4055 0214 8901 movw r16,r18 - 4056 .L212: - 4057 .LSM340: - 4058 0216 8E81 ldd r24,Y+6 - 4059 0218 9F81 ldd r25,Y+7 - 4060 021a 9170 andi r25,hi8(511) - 4061 021c 8E96 adiw r24,46 - 4062 021e 6881 ld r22,Y - 4063 0220 7981 ldd r23,Y+1 - 4064 0222 680F add r22,r24 - 4065 0224 791F adc r23,r25 - 4066 0226 C301 movw r24,r6 - 4067 0228 A801 movw r20,r16 - 4068 022a 0E94 0000 call mem_cpy - 4069 .LVL397: - 4070 .L210: - 4071 .LSM341: - 4072 022e 600E add r6,r16 - 4073 0230 711E adc r7,r17 - 4074 0232 C801 movw r24,r16 - 4075 0234 A0E0 ldi r26,lo8(0) - 4076 0236 B0E0 ldi r27,hi8(0) - 4077 .LVL398: - 4078 0238 2E81 ldd r18,Y+6 - 4079 023a 3F81 ldd r19,Y+7 - 4080 023c 4885 ldd r20,Y+8 - 4081 023e 5985 ldd r21,Y+9 - 4082 0240 280F add r18,r24 - 4083 0242 391F adc r19,r25 - 4084 0244 4A1F adc r20,r26 - 4085 0246 5B1F adc r21,r27 - 4086 0248 2E83 std Y+6,r18 - 4087 024a 3F83 std Y+7,r19 - 4088 024c 4887 std Y+8,r20 - 4089 024e 5987 std Y+9,r21 - 4090 0250 F101 movw r30,r2 - 4091 0252 8081 ld r24,Z - 4092 0254 9181 ldd r25,Z+1 - 4093 0256 800F add r24,r16 - 4094 0258 911F adc r25,r17 - 4095 025a 9183 std Z+1,r25 - 4096 025c 8083 st Z,r24 - 4097 025e 801A sub r8,r16 - 4098 0260 910A sbc r9,r17 - 4099 .LVL399: - 4100 .L198: - 4101 .LSM342: - 4102 0262 8114 cp r8,__zero_reg__ - 4103 0264 9104 cpc r9,__zero_reg__ - 4104 0266 01F0 breq .+2 - 4105 0268 00C0 rjmp .L213 - 4106 .LVL400: - 4107 .L194: - 4108 .LSM343: - 4109 026a 852D mov r24,r5 - 4110 /* epilogue start */ - 4111 026c DF91 pop r29 - 4112 026e CF91 pop r28 - 4113 .LVL401: - 4114 0270 1F91 pop r17 - 4115 .LVL402: - 4116 0272 0F91 pop r16 - 4117 .LVL403: - 4118 0274 FF90 pop r15 - 4119 0276 EF90 pop r14 - 4120 .LVL404: - 4121 0278 DF90 pop r13 - 4122 027a CF90 pop r12 - 4123 027c BF90 pop r11 - 4124 027e AF90 pop r10 - 4125 .LVL405: - 4126 0280 9F90 pop r9 - 4127 0282 8F90 pop r8 - 4128 .LVL406: - 4129 0284 7F90 pop r7 - 4130 0286 6F90 pop r6 - 4131 .LVL407: - 4132 0288 5F90 pop r5 - 4133 .LVL408: - 4134 028a 3F90 pop r3 - 4135 028c 2F90 pop r2 - 4136 .LVL409: - 4137 028e 0895 ret - 4138 .LFE74: - 4140 .section .text.f_gets,"ax",@progbits - 4141 .global f_gets - 4143 f_gets: - 4144 .LFB79: - 4145 .LSM344: - 4146 .LVL410: - 4147 0000 6F92 push r6 - 4148 0002 7F92 push r7 - 4149 0004 8F92 push r8 - 4150 0006 9F92 push r9 - 4151 0008 AF92 push r10 - 4152 000a BF92 push r11 - 4153 000c CF92 push r12 - 4154 000e DF92 push r13 - 4155 0010 EF92 push r14 - 4156 0012 FF92 push r15 - 4157 0014 0F93 push r16 - 4158 0016 1F93 push r17 - 4159 0018 DF93 push r29 - 4160 001a CF93 push r28 - 4161 001c 00D0 rcall . - 4162 001e CDB7 in r28,__SP_L__ - 4163 0020 DEB7 in r29,__SP_H__ - 4164 /* prologue: function */ - 4165 /* frame size = 2 */ - 4166 0022 5C01 movw r10,r24 - 4167 0024 6B01 movw r12,r22 - 4168 0026 4A01 movw r8,r20 - 4169 .LSM345: - 4170 0028 8C01 movw r16,r24 - 4171 .LVL411: - 4172 002a EE24 clr r14 - 4173 002c FF24 clr r15 - 4174 .LVL412: - 4175 .LSM346: - 4176 002e 0894 sec - 4177 0030 C108 sbc r12,__zero_reg__ - 4178 0032 D108 sbc r13,__zero_reg__ - 4179 .LSM347: - 4180 0034 3E01 movw r6,r28 - 4181 0036 0894 sec - 4182 0038 611C adc r6,__zero_reg__ - 4183 003a 711C adc r7,__zero_reg__ - 4184 003c 00C0 rjmp .L219 - 4185 .LVL413: - 4186 .L221: - 4187 003e C401 movw r24,r8 - 4188 0040 B801 movw r22,r16 - 4189 .LVL414: - 4190 0042 41E0 ldi r20,lo8(1) - 4191 0044 50E0 ldi r21,hi8(1) - 4192 0046 9301 movw r18,r6 - 4193 0048 0E94 0000 call f_read - 4194 .LSM348: - 4195 004c 8981 ldd r24,Y+1 - 4196 004e 9A81 ldd r25,Y+2 - 4197 0050 0197 sbiw r24,1 - 4198 0052 01F4 brne .L220 - 4199 .LVL415: - 4200 .LSM349: - 4201 0054 0894 sec - 4202 0056 E11C adc r14,__zero_reg__ - 4203 0058 F11C adc r15,__zero_reg__ - 4204 .LSM350: - 4205 005a F801 movw r30,r16 - 4206 005c 8191 ld r24,Z+ - 4207 .LVL416: - 4208 005e 8F01 movw r16,r30 - 4209 0060 8A30 cpi r24,lo8(10) - 4210 0062 01F0 breq .L220 - 4211 .LVL417: - 4212 .L219: - 4213 .LSM351: - 4214 0064 EC14 cp r14,r12 - 4215 0066 FD04 cpc r15,r13 - 4216 0068 04F0 brlt .L221 - 4217 .LVL418: - 4218 .L220: - 4219 .LSM352: - 4220 006a F801 movw r30,r16 - 4221 006c 1082 st Z,__zero_reg__ - 4222 .LSM353: - 4223 006e EF28 or r14,r15 - 4224 0070 01F4 brne .L222 - 4225 0072 AA24 clr r10 - 4226 0074 BB24 clr r11 - 4227 .LVL419: - 4228 .L222: - 4229 .LSM354: - 4230 0076 C501 movw r24,r10 - 4231 .LVL420: - 4232 /* epilogue start */ - 4233 0078 0F90 pop __tmp_reg__ - 4234 007a 0F90 pop __tmp_reg__ - 4235 007c CF91 pop r28 - 4236 007e DF91 pop r29 - 4237 0080 1F91 pop r17 - 4238 0082 0F91 pop r16 - 4239 .LVL421: - 4240 0084 FF90 pop r15 - 4241 0086 EF90 pop r14 - 4242 .LVL422: - 4243 0088 DF90 pop r13 - 4244 008a CF90 pop r12 - 4245 008c BF90 pop r11 - 4246 008e AF90 pop r10 - 4247 0090 9F90 pop r9 - 4248 0092 8F90 pop r8 - 4249 .LVL423: - 4250 0094 7F90 pop r7 - 4251 0096 6F90 pop r6 - 4252 0098 0895 ret - 4253 .LFE79: - 4255 .section .text.check_fs,"ax",@progbits - 4257 check_fs: - 4258 .LFB69: - 4259 .LSM355: - 4260 .LVL424: - 4261 0000 0F93 push r16 - 4262 0002 CF93 push r28 - 4263 0004 DF93 push r29 - 4264 /* prologue: function */ - 4265 /* frame size = 0 */ - 4266 0006 EC01 movw r28,r24 - 4267 0008 9A01 movw r18,r20 - 4268 000a AB01 movw r20,r22 - 4269 .LSM356: - 4270 000c BC01 movw r22,r24 - 4271 000e 625D subi r22,lo8(-(46)) - 4272 0010 7F4F sbci r23,hi8(-(46)) - 4273 0012 8981 ldd r24,Y+1 - 4274 .LVL425: - 4275 0014 01E0 ldi r16,lo8(1) - 4276 0016 0E94 0000 call disk_read - 4277 .LVL426: - 4278 001a 8823 tst r24 - 4279 001c 01F0 breq .L225 - 4280 001e 63E0 ldi r22,lo8(3) - 4281 0020 00C0 rjmp .L226 - 4282 .L225: - 4283 .LSM357: - 4284 0022 C35D subi r28,lo8(-(557)) - 4285 0024 DD4F sbci r29,hi8(-(557)) - 4286 0026 9881 ld r25,Y - 4287 0028 80E0 ldi r24,lo8(0) - 4288 002a 2A91 ld r18,-Y - 4289 002c CC52 subi r28,lo8(-(-556)) - 4290 002e D240 sbci r29,hi8(-(-556)) - 4291 0030 30E0 ldi r19,lo8(0) - 4292 0032 822B or r24,r18 - 4293 0034 932B or r25,r19 - 4294 0036 8555 subi r24,lo8(-21931) - 4295 0038 9A4A sbci r25,hi8(-21931) - 4296 003a 01F0 breq .L227 - 4297 003c 62E0 ldi r22,lo8(2) - 4298 003e 00C0 rjmp .L226 - 4299 .L227: - 4300 .LSM358: - 4301 0040 C959 subi r28,lo8(-(103)) - 4302 0042 DF4F sbci r29,hi8(-(103)) - 4303 0044 2881 ld r18,Y - 4304 0046 30E0 ldi r19,lo8(0) - 4305 0048 40E0 ldi r20,lo8(0) - 4306 004a 50E0 ldi r21,hi8(0) - 4307 004c 522F mov r21,r18 - 4308 004e 4427 clr r20 - 4309 0050 3327 clr r19 - 4310 0052 2227 clr r18 - 4311 0054 8A91 ld r24,-Y - 4312 0056 90E0 ldi r25,lo8(0) - 4313 0058 A0E0 ldi r26,lo8(0) - 4314 005a B0E0 ldi r27,hi8(0) - 4315 005c DC01 movw r26,r24 - 4316 005e 9927 clr r25 - 4317 0060 8827 clr r24 - 4318 0062 282B or r18,r24 - 4319 0064 392B or r19,r25 - 4320 0066 4A2B or r20,r26 - 4321 0068 5B2B or r21,r27 - 4322 006a 2297 sbiw r28,2 - 4323 006c 8991 ld r24,Y+ - 4324 006e 90E0 ldi r25,lo8(0) - 4325 0070 A0E0 ldi r26,lo8(0) - 4326 0072 B0E0 ldi r27,hi8(0) - 4327 0074 282B or r18,r24 - 4328 0076 392B or r19,r25 - 4329 0078 4A2B or r20,r26 - 4330 007a 5B2B or r21,r27 - 4331 007c 9881 ld r25,Y - 4332 007e C556 subi r28,lo8(-(-101)) - 4333 0080 D040 sbci r29,hi8(-(-101)) - 4334 0082 80E0 ldi r24,lo8(0) - 4335 0084 A0E0 ldi r26,lo8(0) - 4336 0086 B0E0 ldi r27,hi8(0) - 4337 0088 282B or r18,r24 - 4338 008a 392B or r19,r25 - 4339 008c 4A2B or r20,r26 - 4340 008e 5B2B or r21,r27 - 4341 0090 5070 andi r21,hhi8(16777215) - 4342 0092 2654 subi r18,lo8(5521734) - 4343 0094 3144 sbci r19,hi8(5521734) - 4344 0096 4445 sbci r20,hlo8(5521734) - 4345 0098 5040 sbci r21,hhi8(5521734) - 4346 009a 01F4 brne .L228 - 4347 009c 60E0 ldi r22,lo8(0) - 4348 009e 00C0 rjmp .L226 - 4349 .L228: - 4350 00a0 60E0 ldi r22,lo8(0) - 4351 00a2 CD57 subi r28,lo8(-(131)) - 4352 00a4 DF4F sbci r29,hi8(-(131)) - 4353 00a6 2881 ld r18,Y - 4354 00a8 30E0 ldi r19,lo8(0) - 4355 00aa 40E0 ldi r20,lo8(0) - 4356 00ac 50E0 ldi r21,hi8(0) - 4357 00ae 522F mov r21,r18 - 4358 00b0 4427 clr r20 - 4359 00b2 3327 clr r19 - 4360 00b4 2227 clr r18 - 4361 00b6 8A91 ld r24,-Y - 4362 00b8 90E0 ldi r25,lo8(0) - 4363 00ba A0E0 ldi r26,lo8(0) - 4364 00bc B0E0 ldi r27,hi8(0) - 4365 00be DC01 movw r26,r24 - 4366 00c0 9927 clr r25 - 4367 00c2 8827 clr r24 - 4368 00c4 282B or r18,r24 - 4369 00c6 392B or r19,r25 - 4370 00c8 4A2B or r20,r26 - 4371 00ca 5B2B or r21,r27 - 4372 00cc 2297 sbiw r28,2 - 4373 00ce 8991 ld r24,Y+ - 4374 00d0 90E0 ldi r25,lo8(0) - 4375 00d2 A0E0 ldi r26,lo8(0) - 4376 00d4 B0E0 ldi r27,hi8(0) - 4377 00d6 282B or r18,r24 - 4378 00d8 392B or r19,r25 - 4379 00da 4A2B or r20,r26 - 4380 00dc 5B2B or r21,r27 - 4381 00de 9881 ld r25,Y - 4382 .LVL427: - 4383 00e0 80E0 ldi r24,lo8(0) - 4384 00e2 A0E0 ldi r26,lo8(0) - 4385 00e4 B0E0 ldi r27,hi8(0) - 4386 00e6 282B or r18,r24 - 4387 00e8 392B or r19,r25 - 4388 00ea 4A2B or r20,r26 - 4389 00ec 5B2B or r21,r27 - 4390 00ee 5070 andi r21,hhi8(16777215) - 4391 00f0 2654 subi r18,lo8(5521734) - 4392 00f2 3144 sbci r19,hi8(5521734) - 4393 00f4 4445 sbci r20,hlo8(5521734) - 4394 00f6 5040 sbci r21,hhi8(5521734) - 4395 00f8 01F0 breq .L226 - 4396 00fa 61E0 ldi r22,lo8(1) - 4397 .LVL428: - 4398 .L226: - 4399 .LSM359: - 4400 00fc 862F mov r24,r22 - 4401 /* epilogue start */ - 4402 00fe DF91 pop r29 - 4403 0100 CF91 pop r28 - 4404 .LVL429: - 4405 0102 0F91 pop r16 - 4406 0104 0895 ret - 4407 .LFE69: - 4409 .section .text.f_sync,"ax",@progbits - 4410 .global f_sync - 4412 f_sync: - 4413 .LFB76: - 4414 .LSM360: - 4415 .LVL430: - 4416 0000 0F93 push r16 - 4417 0002 1F93 push r17 - 4418 0004 CF93 push r28 - 4419 0006 DF93 push r29 - 4420 /* prologue: function */ - 4421 /* frame size = 0 */ - 4422 0008 EC01 movw r28,r24 - 4423 .LSM361: - 4424 000a 6A81 ldd r22,Y+2 - 4425 000c 7B81 ldd r23,Y+3 - 4426 000e 8881 ld r24,Y - 4427 0010 9981 ldd r25,Y+1 - 4428 .LVL431: - 4429 0012 0E94 0000 call validate - 4430 0016 982F mov r25,r24 - 4431 .LVL432: - 4432 .LSM362: - 4433 0018 8823 tst r24 - 4434 001a 01F0 breq .+2 - 4435 001c 00C0 rjmp .L232 - 4436 .LVL433: - 4437 .LSM363: - 4438 001e 8C81 ldd r24,Y+4 - 4439 .LVL434: - 4440 0020 85FF sbrs r24,5 - 4441 0022 00C0 rjmp .L232 - 4442 .LSM364: - 4443 0024 4A8D ldd r20,Y+26 - 4444 0026 5B8D ldd r21,Y+27 - 4445 0028 6C8D ldd r22,Y+28 - 4446 002a 7D8D ldd r23,Y+29 - 4447 002c 8881 ld r24,Y - 4448 002e 9981 ldd r25,Y+1 - 4449 0030 0E94 0000 call move_window - 4450 .LVL435: - 4451 0034 982F mov r25,r24 - 4452 .LVL436: - 4453 .LSM365: - 4454 0036 8823 tst r24 - 4455 0038 01F0 breq .+2 - 4456 003a 00C0 rjmp .L232 - 4457 .LVL437: - 4458 .LSM366: - 4459 003c 0E8D ldd r16,Y+30 - 4460 003e 1F8D ldd r17,Y+31 - 4461 .LVL438: - 4462 .LSM367: - 4463 0040 F801 movw r30,r16 - 4464 0042 8385 ldd r24,Z+11 - 4465 .LVL439: - 4466 0044 8062 ori r24,lo8(32) - 4467 0046 8387 std Z+11,r24 - 4468 .LSM368: - 4469 0048 8A85 ldd r24,Y+10 - 4470 004a 848F std Z+28,r24 - 4471 004c 8B85 ldd r24,Y+11 - 4472 004e 858F std Z+29,r24 - 4473 0050 8A85 ldd r24,Y+10 - 4474 0052 9B85 ldd r25,Y+11 - 4475 0054 AC85 ldd r26,Y+12 - 4476 0056 BD85 ldd r27,Y+13 - 4477 0058 CD01 movw r24,r26 - 4478 005a AA27 clr r26 - 4479 005c BB27 clr r27 - 4480 005e 868F std Z+30,r24 - 4481 0060 8A85 ldd r24,Y+10 - 4482 0062 9B85 ldd r25,Y+11 - 4483 0064 AC85 ldd r26,Y+12 - 4484 0066 BD85 ldd r27,Y+13 - 4485 0068 8B2F mov r24,r27 - 4486 006a 9927 clr r25 - 4487 006c AA27 clr r26 - 4488 006e BB27 clr r27 - 4489 0070 878F std Z+31,r24 - 4490 .LSM369: - 4491 0072 8E85 ldd r24,Y+14 - 4492 0074 828F std Z+26,r24 - 4493 0076 8F85 ldd r24,Y+15 - 4494 0078 838F std Z+27,r24 - 4495 .LSM370: - 4496 007a 8E85 ldd r24,Y+14 - 4497 007c 9F85 ldd r25,Y+15 - 4498 007e A889 ldd r26,Y+16 - 4499 0080 B989 ldd r27,Y+17 - 4500 0082 CD01 movw r24,r26 - 4501 0084 AA27 clr r26 - 4502 0086 BB27 clr r27 - 4503 0088 848B std Z+20,r24 - 4504 008a 8E85 ldd r24,Y+14 - 4505 008c 9F85 ldd r25,Y+15 - 4506 008e A889 ldd r26,Y+16 - 4507 0090 B989 ldd r27,Y+17 - 4508 0092 CD01 movw r24,r26 - 4509 0094 AA27 clr r26 - 4510 0096 BB27 clr r27 - 4511 0098 892F mov r24,r25 - 4512 009a 9927 clr r25 - 4513 009c 858B std Z+21,r24 - 4514 .LSM371: - 4515 009e 0E94 0000 call get_fattime - 4516 .LVL440: - 4517 .LSM372: - 4518 00a2 F801 movw r30,r16 - 4519 00a4 668B std Z+22,r22 - 4520 .LVL441: - 4521 00a6 272F mov r18,r23 - 4522 00a8 3327 clr r19 - 4523 00aa 278B std Z+23,r18 - 4524 00ac 9C01 movw r18,r24 - 4525 00ae 4427 clr r20 - 4526 00b0 5527 clr r21 - 4527 00b2 208F std Z+24,r18 - 4528 00b4 692F mov r22,r25 - 4529 00b6 7727 clr r23 - 4530 00b8 8827 clr r24 - 4531 00ba 9927 clr r25 - 4532 .LVL442: - 4533 00bc 618F std Z+25,r22 - 4534 .LSM373: - 4535 00be 8C81 ldd r24,Y+4 - 4536 00c0 8F7D andi r24,lo8(-33) - 4537 00c2 8C83 std Y+4,r24 - 4538 .LSM374: - 4539 00c4 E881 ld r30,Y - 4540 00c6 F981 ldd r31,Y+1 - 4541 00c8 81E0 ldi r24,lo8(1) - 4542 00ca 8483 std Z+4,r24 - 4543 .LSM375: - 4544 00cc 0990 ld __tmp_reg__,Y+ - 4545 00ce D881 ld r29,Y - 4546 00d0 C02D mov r28,__tmp_reg__ - 4547 .LVL443: - 4548 .LBB6: - 4549 .LSM376: - 4550 00d2 CE01 movw r24,r28 - 4551 00d4 40E0 ldi r20,lo8(0) - 4552 00d6 50E0 ldi r21,hi8(0) - 4553 00d8 60E0 ldi r22,hlo8(0) - 4554 00da 70E0 ldi r23,hhi8(0) - 4555 00dc 0E94 0000 call move_window - 4556 00e0 982F mov r25,r24 - 4557 .LVL444: - 4558 .LBB7: - 4559 .LSM377: - 4560 00e2 8823 tst r24 - 4561 00e4 01F0 breq .+2 - 4562 00e6 00C0 rjmp .L232 - 4563 .LVL445: - 4564 .LSM378: - 4565 00e8 8881 ld r24,Y - 4566 .LVL446: - 4567 00ea 8330 cpi r24,lo8(3) - 4568 00ec 01F0 breq .+2 - 4569 00ee 00C0 rjmp .L233 - 4570 00f0 8D81 ldd r24,Y+5 - 4571 00f2 8823 tst r24 - 4572 00f4 01F4 brne .+2 - 4573 00f6 00C0 rjmp .L233 - 4574 .LSM379: - 4575 00f8 1AA6 std Y+42,__zero_reg__ - 4576 00fa 1BA6 std Y+43,__zero_reg__ - 4577 00fc 1CA6 std Y+44,__zero_reg__ - 4578 00fe 1DA6 std Y+45,__zero_reg__ - 4579 .LSM380: - 4580 0100 8E01 movw r16,r28 - 4581 .LVL447: - 4582 0102 025D subi r16,lo8(-(46)) - 4583 0104 1F4F sbci r17,hi8(-(46)) - 4584 0106 C801 movw r24,r16 - 4585 0108 60E0 ldi r22,lo8(0) - 4586 010a 70E0 ldi r23,hi8(0) - 4587 010c 40E0 ldi r20,lo8(512) - 4588 010e 52E0 ldi r21,hi8(512) - 4589 0110 0E94 0000 call mem_set - 4590 .LVL448: - 4591 .LSM381: - 4592 0114 C45D subi r28,lo8(-(556)) - 4593 0116 DD4F sbci r29,hi8(-(556)) - 4594 0118 85E5 ldi r24,lo8(85) - 4595 011a 8993 st Y+,r24 - 4596 011c 8AEA ldi r24,lo8(-86) - 4597 011e 8883 st Y,r24 - 4598 0120 CD52 subi r28,lo8(-(-557)) - 4599 0122 D240 sbci r29,hi8(-(-557)) - 4600 .LSM382: - 4601 0124 82E5 ldi r24,lo8(82) - 4602 0126 8EA7 std Y+46,r24 - 4603 0128 8FA7 std Y+47,r24 - 4604 012a 21E6 ldi r18,lo8(97) - 4605 012c 28AB std Y+48,r18 - 4606 012e 91E4 ldi r25,lo8(65) - 4607 0130 99AB std Y+49,r25 - 4608 .LSM383: - 4609 0132 CE5E subi r28,lo8(-(530)) - 4610 0134 DD4F sbci r29,hi8(-(530)) - 4611 0136 82E7 ldi r24,lo8(114) - 4612 0138 8993 st Y+,r24 - 4613 013a 8993 st Y+,r24 - 4614 013c 9993 st Y+,r25 - 4615 013e 2883 st Y,r18 - 4616 0140 C551 subi r28,lo8(-(-533)) - 4617 0142 D240 sbci r29,hi8(-(-533)) - 4618 .LSM384: - 4619 0144 8E85 ldd r24,Y+14 - 4620 0146 CA5E subi r28,lo8(-(534)) - 4621 0148 DD4F sbci r29,hi8(-(534)) - 4622 014a 8883 st Y,r24 - 4623 014c C651 subi r28,lo8(-(-534)) - 4624 014e D240 sbci r29,hi8(-(-534)) - 4625 0150 8F85 ldd r24,Y+15 - 4626 0152 C95E subi r28,lo8(-(535)) - 4627 0154 DD4F sbci r29,hi8(-(535)) - 4628 0156 8883 st Y,r24 - 4629 0158 C751 subi r28,lo8(-(-535)) - 4630 015a D240 sbci r29,hi8(-(-535)) - 4631 015c 8E85 ldd r24,Y+14 - 4632 015e 9F85 ldd r25,Y+15 - 4633 0160 A889 ldd r26,Y+16 - 4634 0162 B989 ldd r27,Y+17 - 4635 0164 9D01 movw r18,r26 - 4636 0166 4427 clr r20 - 4637 0168 5527 clr r21 - 4638 016a C85E subi r28,lo8(-(536)) - 4639 016c DD4F sbci r29,hi8(-(536)) - 4640 016e 2883 st Y,r18 - 4641 0170 2196 adiw r28,1 - 4642 0172 8B2F mov r24,r27 - 4643 0174 9927 clr r25 - 4644 0176 AA27 clr r26 - 4645 0178 BB27 clr r27 - 4646 017a 8883 st Y,r24 - 4647 017c C951 subi r28,lo8(-(-537)) - 4648 017e D240 sbci r29,hi8(-(-537)) - 4649 .LSM385: - 4650 0180 8A85 ldd r24,Y+10 - 4651 0182 C65E subi r28,lo8(-(538)) - 4652 0184 DD4F sbci r29,hi8(-(538)) - 4653 0186 8883 st Y,r24 - 4654 0188 CA51 subi r28,lo8(-(-538)) - 4655 018a D240 sbci r29,hi8(-(-538)) - 4656 018c 8B85 ldd r24,Y+11 - 4657 018e C55E subi r28,lo8(-(539)) - 4658 0190 DD4F sbci r29,hi8(-(539)) - 4659 0192 8883 st Y,r24 - 4660 0194 CB51 subi r28,lo8(-(-539)) - 4661 0196 D240 sbci r29,hi8(-(-539)) - 4662 0198 8A85 ldd r24,Y+10 - 4663 019a 9B85 ldd r25,Y+11 - 4664 019c AC85 ldd r26,Y+12 - 4665 019e BD85 ldd r27,Y+13 - 4666 01a0 9D01 movw r18,r26 - 4667 01a2 4427 clr r20 - 4668 01a4 5527 clr r21 - 4669 01a6 C45E subi r28,lo8(-(540)) - 4670 01a8 DD4F sbci r29,hi8(-(540)) - 4671 01aa 2883 st Y,r18 - 4672 01ac 2196 adiw r28,1 - 4673 01ae 8B2F mov r24,r27 - 4674 01b0 9927 clr r25 - 4675 01b2 AA27 clr r26 - 4676 01b4 BB27 clr r27 - 4677 01b6 8883 st Y,r24 - 4678 01b8 CD51 subi r28,lo8(-(-541)) - 4679 01ba D240 sbci r29,hi8(-(-541)) - 4680 .LSM386: - 4681 01bc 2A89 ldd r18,Y+18 - 4682 01be 3B89 ldd r19,Y+19 - 4683 01c0 4C89 ldd r20,Y+20 - 4684 01c2 5D89 ldd r21,Y+21 - 4685 01c4 8981 ldd r24,Y+1 - 4686 01c6 B801 movw r22,r16 - 4687 01c8 01E0 ldi r16,lo8(1) - 4688 01ca 0E94 0000 call disk_write - 4689 .LSM387: - 4690 01ce 1D82 std Y+5,__zero_reg__ - 4691 .LVL449: - 4692 .L233: - 4693 .LBE7: - 4694 .LSM388: - 4695 01d0 8981 ldd r24,Y+1 - 4696 01d2 60E0 ldi r22,lo8(0) - 4697 01d4 40E0 ldi r20,lo8(0) - 4698 01d6 50E0 ldi r21,hi8(0) - 4699 01d8 0E94 0000 call disk_ioctl - 4700 .LVL450: - 4701 01dc 8111 cpse r24,__zero_reg__ - 4702 01de 81E0 ldi r24,lo8(1) - 4703 .L234: - 4704 01e0 982F mov r25,r24 - 4705 .LVL451: - 4706 .L232: - 4707 .LBE6: - 4708 .LSM389: - 4709 01e2 892F mov r24,r25 - 4710 /* epilogue start */ - 4711 01e4 DF91 pop r29 - 4712 01e6 CF91 pop r28 - 4713 .LVL452: - 4714 01e8 1F91 pop r17 - 4715 01ea 0F91 pop r16 - 4716 .LVL453: - 4717 01ec 0895 ret - 4718 .LFE76: - 4720 .section .text.f_close,"ax",@progbits - 4721 .global f_close - 4723 f_close: - 4724 .LFB77: - 4725 .LSM390: - 4726 .LVL454: - 4727 0000 CF93 push r28 - 4728 0002 DF93 push r29 - 4729 /* prologue: function */ - 4730 /* frame size = 0 */ - 4731 0004 EC01 movw r28,r24 - 4732 .LSM391: - 4733 0006 0E94 0000 call f_sync - 4734 .LVL455: - 4735 .LSM392: - 4736 000a 8823 tst r24 - 4737 .LVL456: - 4738 000c 01F4 brne .L237 - 4739 000e 1982 std Y+1,__zero_reg__ - 4740 0010 1882 st Y,__zero_reg__ - 4741 .L237: - 4742 .LVL457: - 4743 /* epilogue start */ - 4744 .LSM393: - 4745 0012 DF91 pop r29 - 4746 0014 CF91 pop r28 - 4747 .LVL458: - 4748 0016 0895 ret - 4749 .LFE77: - 4751 .section .text.chk_mounted,"ax",@progbits - 4752 .global chk_mounted - 4754 chk_mounted: - 4755 .LFB70: - 4756 .LSM394: - 4757 .LVL459: - 4758 0000 6F92 push r6 - 4759 0002 7F92 push r7 - 4760 0004 8F92 push r8 - 4761 0006 9F92 push r9 - 4762 0008 AF92 push r10 - 4763 000a BF92 push r11 - 4764 000c CF92 push r12 - 4765 000e DF92 push r13 - 4766 0010 EF92 push r14 - 4767 0012 FF92 push r15 - 4768 0014 0F93 push r16 - 4769 0016 1F93 push r17 - 4770 0018 CF93 push r28 - 4771 001a DF93 push r29 - 4772 /* prologue: function */ - 4773 /* frame size = 0 */ - 4774 001c DC01 movw r26,r24 - 4775 001e 142F mov r17,r20 - 4776 .LSM395: - 4777 0020 ED91 ld r30,X+ - 4778 0022 FC91 ld r31,X - 4779 0024 1197 sbiw r26,1 - 4780 .LVL460: - 4781 .LSM396: - 4782 0026 8081 ld r24,Z - 4783 .LVL461: - 4784 0028 282F mov r18,r24 - 4785 .LVL462: - 4786 002a 30E0 ldi r19,lo8(0) - 4787 .LVL463: - 4788 002c 2053 subi r18,lo8(-(-48)) - 4789 002e 3040 sbci r19,hi8(-(-48)) - 4790 .LVL464: - 4791 .LSM397: - 4792 0030 2A30 cpi r18,10 - 4793 0032 3105 cpc r19,__zero_reg__ - 4794 0034 00F4 brsh .L240 - 4795 .LVL465: - 4796 0036 8181 ldd r24,Z+1 - 4797 0038 8A33 cpi r24,lo8(58) - 4798 003a 01F4 brne .L240 - 4799 .LSM398: - 4800 003c 3296 adiw r30,2 - 4801 003e ED93 st X+,r30 - 4802 0040 FC93 st X,r31 - 4803 .LSM399: - 4804 0042 232B or r18,r19 - 4805 0044 01F0 breq .L240 - 4806 0046 8BE0 ldi r24,lo8(11) - 4807 0048 00C0 rjmp .L241 - 4808 .L240: - 4809 .LSM400: - 4810 004a C091 0000 lds r28,FatFs - 4811 004e D091 0000 lds r29,(FatFs)+1 - 4812 .LVL466: - 4813 0052 FB01 movw r30,r22 - 4814 .LVL467: - 4815 0054 D183 std Z+1,r29 - 4816 0056 C083 st Z,r28 - 4817 .LSM401: - 4818 0058 2097 sbiw r28,0 - 4819 005a 01F4 brne .L242 - 4820 005c 8CE0 ldi r24,lo8(12) - 4821 005e 00C0 rjmp .L241 - 4822 .L242: - 4823 .LSM402: - 4824 0060 8881 ld r24,Y - 4825 0062 8823 tst r24 - 4826 0064 01F0 breq .L243 - 4827 .LSM403: - 4828 0066 8981 ldd r24,Y+1 - 4829 0068 0E94 0000 call disk_status - 4830 .LVL468: - 4831 .LSM404: - 4832 006c 80FD sbrc r24,0 - 4833 006e 00C0 rjmp .L243 - 4834 .LSM405: - 4835 0070 1123 tst r17 - 4836 0072 01F4 brne .+2 - 4837 0074 00C0 rjmp .L244 - 4838 0076 82FD sbrc r24,2 - 4839 0078 00C0 rjmp .L245 - 4840 007a 00C0 rjmp .L244 - 4841 .LVL469: - 4842 .L243: - 4843 .LSM406: - 4844 007c 1882 st Y,__zero_reg__ - 4845 .LSM407: - 4846 007e 1982 std Y+1,__zero_reg__ - 4847 .LSM408: - 4848 0080 80E0 ldi r24,lo8(0) - 4849 0082 0E94 0000 call disk_initialize - 4850 .LVL470: - 4851 .LSM409: - 4852 0086 80FF sbrs r24,0 - 4853 0088 00C0 rjmp .L246 - 4854 008a 83E0 ldi r24,lo8(3) - 4855 008c 00C0 rjmp .L241 - 4856 .L246: - 4857 .LSM410: - 4858 008e 1123 tst r17 - 4859 0090 01F0 breq .L247 - 4860 0092 82FD sbrc r24,2 - 4861 0094 00C0 rjmp .L245 - 4862 .L247: - 4863 .LSM411: - 4864 0096 CE01 movw r24,r28 - 4865 0098 40E0 ldi r20,lo8(0) - 4866 009a 50E0 ldi r21,hi8(0) - 4867 009c 60E0 ldi r22,hlo8(0) - 4868 009e 70E0 ldi r23,hhi8(0) - 4869 00a0 0E94 0000 call check_fs - 4870 .LSM412: - 4871 00a4 8130 cpi r24,lo8(1) - 4872 .LVL471: - 4873 00a6 01F0 breq .L248 - 4874 00a8 AA24 clr r10 - 4875 00aa BB24 clr r11 - 4876 00ac 6501 movw r12,r10 - 4877 .LVL472: - 4878 00ae 00C0 rjmp .L249 - 4879 .LVL473: - 4880 .L248: - 4881 .LSM413: - 4882 00b0 FE01 movw r30,r28 - 4883 .LVL474: - 4884 00b2 E451 subi r30,lo8(-(492)) - 4885 00b4 FE4F sbci r31,hi8(-(492)) - 4886 .LSM414: - 4887 00b6 8481 ldd r24,Z+4 - 4888 .LVL475: - 4889 00b8 8823 tst r24 - 4890 00ba 01F4 brne .+2 - 4891 00bc 00C0 rjmp .L250 - 4892 .LSM415: - 4893 00be 8385 ldd r24,Z+11 - 4894 00c0 90E0 ldi r25,lo8(0) - 4895 00c2 A0E0 ldi r26,lo8(0) - 4896 00c4 B0E0 ldi r27,hi8(0) - 4897 00c6 D82E mov r13,r24 - 4898 00c8 CC24 clr r12 - 4899 00ca BB24 clr r11 - 4900 00cc AA24 clr r10 - 4901 .LVL476: - 4902 00ce 8285 ldd r24,Z+10 - 4903 00d0 90E0 ldi r25,lo8(0) - 4904 00d2 A0E0 ldi r26,lo8(0) - 4905 00d4 B0E0 ldi r27,hi8(0) - 4906 00d6 DC01 movw r26,r24 - 4907 00d8 9927 clr r25 - 4908 00da 8827 clr r24 - 4909 00dc A82A or r10,r24 - 4910 00de B92A or r11,r25 - 4911 00e0 CA2A or r12,r26 - 4912 00e2 DB2A or r13,r27 - 4913 00e4 8085 ldd r24,Z+8 - 4914 00e6 90E0 ldi r25,lo8(0) - 4915 00e8 A0E0 ldi r26,lo8(0) - 4916 00ea B0E0 ldi r27,hi8(0) - 4917 00ec A82A or r10,r24 - 4918 00ee B92A or r11,r25 - 4919 00f0 CA2A or r12,r26 - 4920 00f2 DB2A or r13,r27 - 4921 00f4 9185 ldd r25,Z+9 - 4922 00f6 80E0 ldi r24,lo8(0) - 4923 00f8 A0E0 ldi r26,lo8(0) - 4924 00fa B0E0 ldi r27,hi8(0) - 4925 00fc A82A or r10,r24 - 4926 00fe B92A or r11,r25 - 4927 0100 CA2A or r12,r26 - 4928 0102 DB2A or r13,r27 - 4929 .LSM416: - 4930 0104 CE01 movw r24,r28 - 4931 0106 B601 movw r22,r12 - 4932 0108 A501 movw r20,r10 - 4933 010a 0E94 0000 call check_fs - 4934 .LVL477: - 4935 .L249: - 4936 .LSM417: - 4937 010e 8330 cpi r24,lo8(3) - 4938 0110 01F4 brne .L251 - 4939 0112 81E0 ldi r24,lo8(1) - 4940 .LVL478: - 4941 0114 00C0 rjmp .L241 - 4942 .LVL479: - 4943 .L251: - 4944 .LSM418: - 4945 0116 8823 tst r24 - 4946 0118 01F0 breq .+2 - 4947 011a 00C0 rjmp .L250 - 4948 011c 9AAD ldd r25,Y+58 - 4949 011e 80E0 ldi r24,lo8(0) - 4950 .LVL480: - 4951 0120 29AD ldd r18,Y+57 - 4952 0122 30E0 ldi r19,lo8(0) - 4953 0124 822B or r24,r18 - 4954 0126 932B or r25,r19 - 4955 0128 8050 subi r24,lo8(512) - 4956 012a 9240 sbci r25,hi8(512) - 4957 012c 01F0 breq .+2 - 4958 012e 00C0 rjmp .L250 - 4959 .LSM419: - 4960 0130 CB5B subi r28,lo8(-(69)) - 4961 0132 DF4F sbci r29,hi8(-(69)) - 4962 0134 9881 ld r25,Y - 4963 0136 80E0 ldi r24,lo8(0) - 4964 0138 2A91 ld r18,-Y - 4965 013a C454 subi r28,lo8(-(-68)) - 4966 013c D040 sbci r29,hi8(-(-68)) - 4967 013e 30E0 ldi r19,lo8(0) - 4968 0140 822B or r24,r18 - 4969 0142 932B or r25,r19 - 4970 0144 7C01 movw r14,r24 - 4971 .LVL481: - 4972 0146 00E0 ldi r16,lo8(0) - 4973 0148 10E0 ldi r17,hi8(0) - 4974 .LVL482: - 4975 .LSM420: - 4976 014a E114 cp r14,__zero_reg__ - 4977 014c F104 cpc r15,__zero_reg__ - 4978 014e 0105 cpc r16,__zero_reg__ - 4979 0150 1105 cpc r17,__zero_reg__ - 4980 0152 01F4 brne .L252 - 4981 0154 CB5A subi r28,lo8(-(85)) - 4982 0156 DF4F sbci r29,hi8(-(85)) - 4983 0158 8881 ld r24,Y - 4984 015a 90E0 ldi r25,lo8(0) - 4985 015c A0E0 ldi r26,lo8(0) - 4986 015e B0E0 ldi r27,hi8(0) - 4987 0160 182F mov r17,r24 - 4988 0162 0027 clr r16 - 4989 0164 FF24 clr r15 - 4990 0166 EE24 clr r14 - 4991 .LVL483: - 4992 0168 8A91 ld r24,-Y - 4993 016a 90E0 ldi r25,lo8(0) - 4994 016c A0E0 ldi r26,lo8(0) - 4995 016e B0E0 ldi r27,hi8(0) - 4996 0170 DC01 movw r26,r24 - 4997 0172 9927 clr r25 - 4998 0174 8827 clr r24 - 4999 0176 E82A or r14,r24 - 5000 0178 F92A or r15,r25 - 5001 017a 0A2B or r16,r26 - 5002 017c 1B2B or r17,r27 - 5003 017e 2297 sbiw r28,2 - 5004 0180 8991 ld r24,Y+ - 5005 0182 90E0 ldi r25,lo8(0) - 5006 0184 A0E0 ldi r26,lo8(0) - 5007 0186 B0E0 ldi r27,hi8(0) - 5008 0188 E82A or r14,r24 - 5009 018a F92A or r15,r25 - 5010 018c 0A2B or r16,r26 - 5011 018e 1B2B or r17,r27 - 5012 0190 9881 ld r25,Y - 5013 0192 C355 subi r28,lo8(-(-83)) - 5014 0194 D040 sbci r29,hi8(-(-83)) - 5015 0196 80E0 ldi r24,lo8(0) - 5016 0198 A0E0 ldi r26,lo8(0) - 5017 019a B0E0 ldi r27,hi8(0) - 5018 019c E82A or r14,r24 - 5019 019e F92A or r15,r25 - 5020 01a0 0A2B or r16,r26 - 5021 01a2 1B2B or r17,r27 - 5022 .L252: - 5023 .LSM421: - 5024 01a4 EE8A std Y+22,r14 - 5025 01a6 FF8A std Y+23,r15 - 5026 01a8 088F std Y+24,r16 - 5027 01aa 198F std Y+25,r17 - 5028 .LSM422: - 5029 01ac 2EAD ldd r18,Y+62 - 5030 01ae 2B83 std Y+3,r18 - 5031 .LSM423: - 5032 01b0 30E0 ldi r19,lo8(0) - 5033 01b2 40E0 ldi r20,lo8(0) - 5034 01b4 50E0 ldi r21,hi8(0) - 5035 01b6 C801 movw r24,r16 - 5036 01b8 B701 movw r22,r14 - 5037 01ba 0E94 0000 call __mulsi3 - 5038 01be 3B01 movw r6,r22 - 5039 01c0 4C01 movw r8,r24 - 5040 .LVL484: - 5041 .LSM424: - 5042 01c2 9DAD ldd r25,Y+61 - 5043 01c4 80E0 ldi r24,lo8(0) - 5044 01c6 2CAD ldd r18,Y+60 - 5045 01c8 30E0 ldi r19,lo8(0) - 5046 01ca 822B or r24,r18 - 5047 01cc 932B or r25,r19 - 5048 01ce A0E0 ldi r26,lo8(0) - 5049 01d0 B0E0 ldi r27,hi8(0) - 5050 01d2 8A0D add r24,r10 - 5051 01d4 9B1D adc r25,r11 - 5052 01d6 AC1D adc r26,r12 - 5053 01d8 BD1D adc r27,r13 - 5054 01da 8E8F std Y+30,r24 - 5055 01dc 9F8F std Y+31,r25 - 5056 01de A8A3 std Y+32,r26 - 5057 01e0 B9A3 std Y+33,r27 - 5058 .LSM425: - 5059 01e2 8BAD ldd r24,Y+59 - 5060 01e4 8A83 std Y+2,r24 - 5061 .LSM426: - 5062 01e6 C05C subi r28,lo8(-(64)) - 5063 01e8 DF4F sbci r29,hi8(-(64)) - 5064 01ea 9881 ld r25,Y - 5065 01ec C054 subi r28,lo8(-(-64)) - 5066 01ee D040 sbci r29,hi8(-(-64)) - 5067 01f0 80E0 ldi r24,lo8(0) - 5068 01f2 2FAD ldd r18,Y+63 - 5069 01f4 422F mov r20,r18 - 5070 01f6 50E0 ldi r21,lo8(0) - 5071 01f8 482B or r20,r24 - 5072 01fa 592B or r21,r25 - 5073 01fc 5987 std Y+9,r21 - 5074 01fe 4887 std Y+8,r20 - 5075 .LSM427: - 5076 0200 CE5B subi r28,lo8(-(66)) - 5077 0202 DF4F sbci r29,hi8(-(66)) - 5078 0204 9881 ld r25,Y - 5079 0206 80E0 ldi r24,lo8(0) - 5080 0208 2A91 ld r18,-Y - 5081 020a C154 subi r28,lo8(-(-65)) - 5082 020c D040 sbci r29,hi8(-(-65)) - 5083 020e 30E0 ldi r19,lo8(0) - 5084 0210 822B or r24,r18 - 5085 0212 932B or r25,r19 - 5086 0214 7C01 movw r14,r24 - 5087 .LVL485: - 5088 0216 00E0 ldi r16,lo8(0) - 5089 0218 10E0 ldi r17,hi8(0) - 5090 .LVL486: - 5091 .LSM428: - 5092 021a E114 cp r14,__zero_reg__ - 5093 021c F104 cpc r15,__zero_reg__ - 5094 021e 0105 cpc r16,__zero_reg__ - 5095 0220 1105 cpc r17,__zero_reg__ - 5096 0222 01F4 brne .L253 - 5097 0224 CF5A subi r28,lo8(-(81)) - 5098 0226 DF4F sbci r29,hi8(-(81)) - 5099 0228 8881 ld r24,Y - 5100 022a 90E0 ldi r25,lo8(0) - 5101 022c A0E0 ldi r26,lo8(0) - 5102 022e B0E0 ldi r27,hi8(0) - 5103 0230 182F mov r17,r24 - 5104 0232 0027 clr r16 - 5105 0234 FF24 clr r15 - 5106 0236 EE24 clr r14 - 5107 .LVL487: - 5108 0238 8A91 ld r24,-Y - 5109 023a 90E0 ldi r25,lo8(0) - 5110 023c A0E0 ldi r26,lo8(0) - 5111 023e B0E0 ldi r27,hi8(0) - 5112 0240 DC01 movw r26,r24 - 5113 0242 9927 clr r25 - 5114 0244 8827 clr r24 - 5115 0246 E82A or r14,r24 - 5116 0248 F92A or r15,r25 - 5117 024a 0A2B or r16,r26 - 5118 024c 1B2B or r17,r27 - 5119 024e 2297 sbiw r28,2 - 5120 0250 8991 ld r24,Y+ - 5121 0252 90E0 ldi r25,lo8(0) - 5122 0254 A0E0 ldi r26,lo8(0) - 5123 0256 B0E0 ldi r27,hi8(0) - 5124 0258 E82A or r14,r24 - 5125 025a F92A or r15,r25 - 5126 025c 0A2B or r16,r26 - 5127 025e 1B2B or r17,r27 - 5128 0260 9881 ld r25,Y - 5129 0262 CF54 subi r28,lo8(-(-79)) - 5130 0264 D040 sbci r29,hi8(-(-79)) - 5131 0266 80E0 ldi r24,lo8(0) - 5132 0268 A0E0 ldi r26,lo8(0) - 5133 026a B0E0 ldi r27,hi8(0) - 5134 026c E82A or r14,r24 - 5135 026e F92A or r15,r25 - 5136 0270 0A2B or r16,r26 - 5137 0272 1B2B or r17,r27 - 5138 .L253: - 5139 .LSM429: - 5140 0274 9DAD ldd r25,Y+61 - 5141 0276 80E0 ldi r24,lo8(0) - 5142 0278 2CAD ldd r18,Y+60 - 5143 027a 30E0 ldi r19,lo8(0) - 5144 027c 822B or r24,r18 - 5145 027e 932B or r25,r19 - 5146 0280 A0E0 ldi r26,lo8(0) - 5147 0282 B0E0 ldi r27,hi8(0) - 5148 0284 E81A sub r14,r24 - 5149 0286 F90A sbc r15,r25 - 5150 0288 0A0B sbc r16,r26 - 5151 028a 1B0B sbc r17,r27 - 5152 .LVL488: - 5153 028c E618 sub r14,r6 - 5154 028e F708 sbc r15,r7 - 5155 0290 0809 sbc r16,r8 - 5156 0292 1909 sbc r17,r9 - 5157 0294 B4E0 ldi r27,4 - 5158 0296 5695 1: lsr r21 - 5159 0298 4795 ror r20 - 5160 029a BA95 dec r27 - 5161 029c 01F4 brne 1b - 5162 029e CA01 movw r24,r20 - 5163 02a0 A0E0 ldi r26,lo8(0) - 5164 02a2 B0E0 ldi r27,hi8(0) - 5165 02a4 E81A sub r14,r24 - 5166 02a6 F90A sbc r15,r25 - 5167 02a8 0A0B sbc r16,r26 - 5168 02aa 1B0B sbc r17,r27 - 5169 02ac 2A81 ldd r18,Y+2 - 5170 02ae 30E0 ldi r19,lo8(0) - 5171 02b0 40E0 ldi r20,lo8(0) - 5172 02b2 50E0 ldi r21,hi8(0) - 5173 02b4 C801 movw r24,r16 - 5174 02b6 B701 movw r22,r14 - 5175 02b8 0E94 0000 call __udivmodsi4 - 5176 02bc 2E5F subi r18,lo8(-(2)) - 5177 02be 3F4F sbci r19,hi8(-(2)) - 5178 02c0 4F4F sbci r20,hlo8(-(2)) - 5179 02c2 5F4F sbci r21,hhi8(-(2)) - 5180 .LVL489: - 5181 02c4 2A8F std Y+26,r18 - 5182 02c6 3B8F std Y+27,r19 - 5183 02c8 4C8F std Y+28,r20 - 5184 02ca 5D8F std Y+29,r21 - 5185 .LSM430: - 5186 02cc 273F cpi r18,lo8(4087) - 5187 02ce 8FE0 ldi r24,hi8(4087) - 5188 02d0 3807 cpc r19,r24 - 5189 02d2 80E0 ldi r24,hlo8(4087) - 5190 02d4 4807 cpc r20,r24 - 5191 02d6 80E0 ldi r24,hhi8(4087) - 5192 02d8 5807 cpc r21,r24 - 5193 02da 00F4 brsh .L254 - 5194 02dc 11E0 ldi r17,lo8(1) - 5195 .LVL490: - 5196 02de 00C0 rjmp .L255 - 5197 .LVL491: - 5198 .L254: - 5199 .LSM431: - 5200 02e0 275F subi r18,lo8(65527) - 5201 02e2 3F4F sbci r19,hi8(65527) - 5202 02e4 4040 sbci r20,hlo8(65527) - 5203 02e6 5040 sbci r21,hhi8(65527) - 5204 02e8 00F0 brlo .+2 - 5205 02ea 00C0 rjmp .L256 - 5206 02ec 12E0 ldi r17,lo8(2) - 5207 .LVL492: - 5208 .L255: - 5209 .LSM432: - 5210 02ee 8E8D ldd r24,Y+30 - 5211 02f0 9F8D ldd r25,Y+31 - 5212 02f2 A8A1 ldd r26,Y+32 - 5213 02f4 B9A1 ldd r27,Y+33 - 5214 02f6 860D add r24,r6 - 5215 02f8 971D adc r25,r7 - 5216 02fa A81D adc r26,r8 - 5217 02fc B91D adc r27,r9 - 5218 02fe 8AA3 std Y+34,r24 - 5219 0300 9BA3 std Y+35,r25 - 5220 0302 ACA3 std Y+36,r26 - 5221 0304 BDA3 std Y+37,r27 - 5222 .L258: - 5223 .LSM433: - 5224 0306 8885 ldd r24,Y+8 - 5225 0308 9985 ldd r25,Y+9 - 5226 030a A4E0 ldi r26,4 - 5227 030c 9695 1: lsr r25 - 5228 030e 8795 ror r24 - 5229 0310 AA95 dec r26 - 5230 0312 01F4 brne 1b - 5231 0314 A0E0 ldi r26,lo8(0) - 5232 0316 B0E0 ldi r27,hi8(0) - 5233 0318 2E8D ldd r18,Y+30 - 5234 031a 3F8D ldd r19,Y+31 - 5235 031c 48A1 ldd r20,Y+32 - 5236 031e 59A1 ldd r21,Y+33 - 5237 .LVL493: - 5238 0320 820F add r24,r18 - 5239 0322 931F adc r25,r19 - 5240 0324 A41F adc r26,r20 - 5241 0326 B51F adc r27,r21 - 5242 0328 860D add r24,r6 - 5243 032a 971D adc r25,r7 - 5244 032c A81D adc r26,r8 - 5245 032e B91D adc r27,r9 - 5246 0330 8EA3 std Y+38,r24 - 5247 0332 9FA3 std Y+39,r25 - 5248 0334 A8A7 std Y+40,r26 - 5249 0336 B9A7 std Y+41,r27 - 5250 .LSM434: - 5251 0338 8FEF ldi r24,lo8(-1) - 5252 033a 9FEF ldi r25,hi8(-1) - 5253 033c AFEF ldi r26,hlo8(-1) - 5254 033e BFEF ldi r27,hhi8(-1) - 5255 0340 8E87 std Y+14,r24 - 5256 0342 9F87 std Y+15,r25 - 5257 0344 A88B std Y+16,r26 - 5258 0346 B98B std Y+17,r27 - 5259 .LSM435: - 5260 0348 1C82 std Y+4,__zero_reg__ - 5261 .LSM436: - 5262 034a 1330 cpi r17,lo8(3) - 5263 034c 01F0 breq .+2 - 5264 034e 00C0 rjmp .L257 - 5265 .LSM437: - 5266 0350 1D82 std Y+5,__zero_reg__ - 5267 .LSM438: - 5268 0352 C15A subi r28,lo8(-(95)) - 5269 0354 DF4F sbci r29,hi8(-(95)) - 5270 0356 3881 ld r19,Y - 5271 0358 20E0 ldi r18,lo8(0) - 5272 035a 8A91 ld r24,-Y - 5273 035c CE55 subi r28,lo8(-(-94)) - 5274 035e D040 sbci r29,hi8(-(-94)) - 5275 0360 90E0 ldi r25,lo8(0) - 5276 0362 282B or r18,r24 - 5277 0364 392B or r19,r25 - 5278 0366 40E0 ldi r20,lo8(0) - 5279 0368 50E0 ldi r21,hi8(0) - 5280 036a 2A0D add r18,r10 - 5281 036c 3B1D adc r19,r11 - 5282 036e 4C1D adc r20,r12 - 5283 0370 5D1D adc r21,r13 - 5284 0372 2A8B std Y+18,r18 - 5285 0374 3B8B std Y+19,r19 - 5286 0376 4C8B std Y+20,r20 - 5287 0378 5D8B std Y+21,r21 - 5288 .LSM439: - 5289 037a BE01 movw r22,r28 - 5290 037c 625D subi r22,lo8(-(46)) - 5291 037e 7F4F sbci r23,hi8(-(46)) - 5292 0380 8981 ldd r24,Y+1 - 5293 0382 01E0 ldi r16,lo8(1) - 5294 .LVL494: - 5295 0384 0E94 0000 call disk_read - 5296 0388 8823 tst r24 - 5297 038a 01F0 breq .+2 - 5298 038c 00C0 rjmp .L257 - 5299 038e C35D subi r28,lo8(-(557)) - 5300 0390 DD4F sbci r29,hi8(-(557)) - 5301 0392 9881 ld r25,Y - 5302 0394 80E0 ldi r24,lo8(0) - 5303 0396 2A91 ld r18,-Y - 5304 0398 CC52 subi r28,lo8(-(-556)) - 5305 039a D240 sbci r29,hi8(-(-556)) - 5306 039c 30E0 ldi r19,lo8(0) - 5307 039e 822B or r24,r18 - 5308 03a0 932B or r25,r19 - 5309 03a2 8555 subi r24,lo8(-21931) - 5310 03a4 9A4A sbci r25,hi8(-21931) - 5311 03a6 01F0 breq .+2 - 5312 03a8 00C0 rjmp .L257 - 5313 03aa 29A9 ldd r18,Y+49 - 5314 03ac 30E0 ldi r19,lo8(0) - 5315 03ae 40E0 ldi r20,lo8(0) - 5316 03b0 50E0 ldi r21,hi8(0) - 5317 03b2 522F mov r21,r18 - 5318 03b4 4427 clr r20 - 5319 03b6 3327 clr r19 - 5320 03b8 2227 clr r18 - 5321 03ba 88A9 ldd r24,Y+48 - 5322 03bc 90E0 ldi r25,lo8(0) - 5323 03be A0E0 ldi r26,lo8(0) - 5324 03c0 B0E0 ldi r27,hi8(0) - 5325 03c2 DC01 movw r26,r24 - 5326 03c4 9927 clr r25 - 5327 03c6 8827 clr r24 - 5328 03c8 282B or r18,r24 - 5329 03ca 392B or r19,r25 - 5330 03cc 4A2B or r20,r26 - 5331 03ce 5B2B or r21,r27 - 5332 03d0 8EA5 ldd r24,Y+46 - 5333 03d2 90E0 ldi r25,lo8(0) - 5334 03d4 A0E0 ldi r26,lo8(0) - 5335 03d6 B0E0 ldi r27,hi8(0) - 5336 03d8 282B or r18,r24 - 5337 03da 392B or r19,r25 - 5338 03dc 4A2B or r20,r26 - 5339 03de 5B2B or r21,r27 - 5340 03e0 9FA5 ldd r25,Y+47 - 5341 03e2 80E0 ldi r24,lo8(0) - 5342 03e4 A0E0 ldi r26,lo8(0) - 5343 03e6 B0E0 ldi r27,hi8(0) - 5344 03e8 282B or r18,r24 - 5345 03ea 392B or r19,r25 - 5346 03ec 4A2B or r20,r26 - 5347 03ee 5B2B or r21,r27 - 5348 03f0 2255 subi r18,lo8(1096897106) - 5349 03f2 3245 sbci r19,hi8(1096897106) - 5350 03f4 4146 sbci r20,hlo8(1096897106) - 5351 03f6 5144 sbci r21,hhi8(1096897106) - 5352 03f8 01F0 breq .+2 - 5353 03fa 00C0 rjmp .L257 - 5354 03fc CB5E subi r28,lo8(-(533)) - 5355 03fe DD4F sbci r29,hi8(-(533)) - 5356 0400 2881 ld r18,Y - 5357 0402 30E0 ldi r19,lo8(0) - 5358 0404 40E0 ldi r20,lo8(0) - 5359 0406 50E0 ldi r21,hi8(0) - 5360 0408 522F mov r21,r18 - 5361 040a 4427 clr r20 - 5362 040c 3327 clr r19 - 5363 040e 2227 clr r18 - 5364 0410 8A91 ld r24,-Y - 5365 0412 90E0 ldi r25,lo8(0) - 5366 0414 A0E0 ldi r26,lo8(0) - 5367 0416 B0E0 ldi r27,hi8(0) - 5368 0418 DC01 movw r26,r24 - 5369 041a 9927 clr r25 - 5370 041c 8827 clr r24 - 5371 041e 282B or r18,r24 - 5372 0420 392B or r19,r25 - 5373 0422 4A2B or r20,r26 - 5374 0424 5B2B or r21,r27 - 5375 0426 2297 sbiw r28,2 - 5376 0428 8991 ld r24,Y+ - 5377 042a 90E0 ldi r25,lo8(0) - 5378 042c A0E0 ldi r26,lo8(0) - 5379 042e B0E0 ldi r27,hi8(0) - 5380 0430 282B or r18,r24 - 5381 0432 392B or r19,r25 - 5382 0434 4A2B or r20,r26 - 5383 0436 5B2B or r21,r27 - 5384 0438 9881 ld r25,Y - 5385 043a C351 subi r28,lo8(-(-531)) - 5386 043c D240 sbci r29,hi8(-(-531)) - 5387 043e 80E0 ldi r24,lo8(0) - 5388 0440 A0E0 ldi r26,lo8(0) - 5389 0442 B0E0 ldi r27,hi8(0) - 5390 0444 282B or r18,r24 - 5391 0446 392B or r19,r25 - 5392 0448 4A2B or r20,r26 - 5393 044a 5B2B or r21,r27 - 5394 044c 2257 subi r18,lo8(1631679090) - 5395 044e 3247 sbci r19,hi8(1631679090) - 5396 0450 4144 sbci r20,hlo8(1631679090) - 5397 0452 5146 sbci r21,hhi8(1631679090) - 5398 0454 01F0 breq .+2 - 5399 0456 00C0 rjmp .L257 - 5400 .LSM440: - 5401 0458 C35E subi r28,lo8(-(541)) - 5402 045a DD4F sbci r29,hi8(-(541)) - 5403 045c 2881 ld r18,Y - 5404 045e 30E0 ldi r19,lo8(0) - 5405 0460 40E0 ldi r20,lo8(0) - 5406 0462 50E0 ldi r21,hi8(0) - 5407 0464 522F mov r21,r18 - 5408 0466 4427 clr r20 - 5409 0468 3327 clr r19 - 5410 046a 2227 clr r18 - 5411 046c 8A91 ld r24,-Y - 5412 046e 90E0 ldi r25,lo8(0) - 5413 0470 A0E0 ldi r26,lo8(0) - 5414 0472 B0E0 ldi r27,hi8(0) - 5415 0474 DC01 movw r26,r24 - 5416 0476 9927 clr r25 - 5417 0478 8827 clr r24 - 5418 047a 282B or r18,r24 - 5419 047c 392B or r19,r25 - 5420 047e 4A2B or r20,r26 - 5421 0480 5B2B or r21,r27 - 5422 0482 2297 sbiw r28,2 - 5423 0484 8991 ld r24,Y+ - 5424 0486 90E0 ldi r25,lo8(0) - 5425 0488 A0E0 ldi r26,lo8(0) - 5426 048a B0E0 ldi r27,hi8(0) - 5427 048c 282B or r18,r24 - 5428 048e 392B or r19,r25 - 5429 0490 4A2B or r20,r26 - 5430 0492 5B2B or r21,r27 - 5431 0494 9881 ld r25,Y - 5432 0496 CB51 subi r28,lo8(-(-539)) - 5433 0498 D240 sbci r29,hi8(-(-539)) - 5434 049a 80E0 ldi r24,lo8(0) - 5435 049c A0E0 ldi r26,lo8(0) - 5436 049e B0E0 ldi r27,hi8(0) - 5437 04a0 282B or r18,r24 - 5438 04a2 392B or r19,r25 - 5439 04a4 4A2B or r20,r26 - 5440 04a6 5B2B or r21,r27 - 5441 04a8 2A87 std Y+10,r18 - 5442 04aa 3B87 std Y+11,r19 - 5443 04ac 4C87 std Y+12,r20 - 5444 04ae 5D87 std Y+13,r21 - 5445 .LSM441: - 5446 04b0 C75E subi r28,lo8(-(537)) - 5447 04b2 DD4F sbci r29,hi8(-(537)) - 5448 04b4 2881 ld r18,Y - 5449 04b6 30E0 ldi r19,lo8(0) - 5450 04b8 40E0 ldi r20,lo8(0) - 5451 04ba 50E0 ldi r21,hi8(0) - 5452 04bc 522F mov r21,r18 - 5453 04be 4427 clr r20 - 5454 04c0 3327 clr r19 - 5455 04c2 2227 clr r18 - 5456 04c4 8A91 ld r24,-Y - 5457 04c6 90E0 ldi r25,lo8(0) - 5458 04c8 A0E0 ldi r26,lo8(0) - 5459 04ca B0E0 ldi r27,hi8(0) - 5460 04cc DC01 movw r26,r24 - 5461 04ce 9927 clr r25 - 5462 04d0 8827 clr r24 - 5463 04d2 282B or r18,r24 - 5464 04d4 392B or r19,r25 - 5465 04d6 4A2B or r20,r26 - 5466 04d8 5B2B or r21,r27 - 5467 04da 2297 sbiw r28,2 - 5468 04dc 8991 ld r24,Y+ - 5469 04de 90E0 ldi r25,lo8(0) - 5470 04e0 A0E0 ldi r26,lo8(0) - 5471 04e2 B0E0 ldi r27,hi8(0) - 5472 04e4 282B or r18,r24 - 5473 04e6 392B or r19,r25 - 5474 04e8 4A2B or r20,r26 - 5475 04ea 5B2B or r21,r27 - 5476 04ec 9881 ld r25,Y - 5477 04ee C751 subi r28,lo8(-(-535)) - 5478 04f0 D240 sbci r29,hi8(-(-535)) - 5479 04f2 80E0 ldi r24,lo8(0) - 5480 04f4 A0E0 ldi r26,lo8(0) - 5481 04f6 B0E0 ldi r27,hi8(0) - 5482 04f8 282B or r18,r24 - 5483 04fa 392B or r19,r25 - 5484 04fc 4A2B or r20,r26 - 5485 04fe 5B2B or r21,r27 - 5486 0500 2E87 std Y+14,r18 - 5487 0502 3F87 std Y+15,r19 - 5488 0504 488B std Y+16,r20 - 5489 0506 598B std Y+17,r21 - 5490 .LVL495: - 5491 .L257: - 5492 .LSM442: - 5493 0508 1883 st Y,r17 - 5494 .LSM443: - 5495 050a 1AA6 std Y+42,__zero_reg__ - 5496 050c 1BA6 std Y+43,__zero_reg__ - 5497 050e 1CA6 std Y+44,__zero_reg__ - 5498 0510 1DA6 std Y+45,__zero_reg__ - 5499 .LSM444: - 5500 0512 8091 0000 lds r24,Fsid - 5501 0516 9091 0000 lds r25,(Fsid)+1 - 5502 051a 0196 adiw r24,1 - 5503 051c 9093 0000 sts (Fsid)+1,r25 - 5504 0520 8093 0000 sts Fsid,r24 - 5505 0524 9F83 std Y+7,r25 - 5506 0526 8E83 std Y+6,r24 - 5507 0528 00C0 rjmp .L244 - 5508 .LVL496: - 5509 .L245: - 5510 .LSM445: - 5511 052a 8AE0 ldi r24,lo8(10) - 5512 052c 00C0 rjmp .L241 - 5513 .LVL497: - 5514 .L244: - 5515 052e 80E0 ldi r24,lo8(0) - 5516 0530 00C0 rjmp .L241 - 5517 .LVL498: - 5518 .L250: - 5519 0532 8DE0 ldi r24,lo8(13) - 5520 .LVL499: - 5521 .L241: - 5522 /* epilogue start */ - 5523 .LSM446: - 5524 0534 DF91 pop r29 - 5525 0536 CF91 pop r28 - 5526 .LVL500: - 5527 0538 1F91 pop r17 - 5528 .LVL501: - 5529 053a 0F91 pop r16 - 5530 .LVL502: - 5531 053c FF90 pop r15 - 5532 053e EF90 pop r14 - 5533 .LVL503: - 5534 0540 DF90 pop r13 - 5535 0542 CF90 pop r12 - 5536 0544 BF90 pop r11 - 5537 0546 AF90 pop r10 - 5538 .LVL504: - 5539 0548 9F90 pop r9 - 5540 054a 8F90 pop r8 - 5541 054c 7F90 pop r7 - 5542 054e 6F90 pop r6 - 5543 .LVL505: - 5544 0550 0895 ret - 5545 .LVL506: - 5546 .L256: - 5547 .LSM447: - 5548 0552 C35A subi r28,lo8(-(93)) - 5549 0554 DF4F sbci r29,hi8(-(93)) - 5550 0556 2881 ld r18,Y - 5551 .LVL507: - 5552 0558 30E0 ldi r19,lo8(0) - 5553 055a 40E0 ldi r20,lo8(0) - 5554 055c 50E0 ldi r21,hi8(0) - 5555 055e 522F mov r21,r18 - 5556 0560 4427 clr r20 - 5557 0562 3327 clr r19 - 5558 0564 2227 clr r18 - 5559 0566 8A91 ld r24,-Y - 5560 0568 90E0 ldi r25,lo8(0) - 5561 056a A0E0 ldi r26,lo8(0) - 5562 056c B0E0 ldi r27,hi8(0) - 5563 056e DC01 movw r26,r24 - 5564 0570 9927 clr r25 - 5565 0572 8827 clr r24 - 5566 0574 282B or r18,r24 - 5567 0576 392B or r19,r25 - 5568 0578 4A2B or r20,r26 - 5569 057a 5B2B or r21,r27 - 5570 057c 2297 sbiw r28,2 - 5571 057e 8991 ld r24,Y+ - 5572 0580 90E0 ldi r25,lo8(0) - 5573 0582 A0E0 ldi r26,lo8(0) - 5574 0584 B0E0 ldi r27,hi8(0) - 5575 0586 282B or r18,r24 - 5576 0588 392B or r19,r25 - 5577 058a 4A2B or r20,r26 - 5578 058c 5B2B or r21,r27 - 5579 058e 9881 ld r25,Y - 5580 0590 CB55 subi r28,lo8(-(-91)) - 5581 0592 D040 sbci r29,hi8(-(-91)) - 5582 0594 80E0 ldi r24,lo8(0) - 5583 0596 A0E0 ldi r26,lo8(0) - 5584 0598 B0E0 ldi r27,hi8(0) - 5585 059a 282B or r18,r24 - 5586 059c 392B or r19,r25 - 5587 059e 4A2B or r20,r26 - 5588 05a0 5B2B or r21,r27 - 5589 05a2 2AA3 std Y+34,r18 - 5590 05a4 3BA3 std Y+35,r19 - 5591 05a6 4CA3 std Y+36,r20 - 5592 05a8 5DA3 std Y+37,r21 - 5593 05aa 13E0 ldi r17,lo8(3) - 5594 .LVL508: - 5595 05ac 00C0 rjmp .L258 - 5596 .LFE70: - 5598 .data - 5599 .LC0: - 5600 0000 2022 2A2B .string " \"*+,[=]|\177" - 5600 2C5B 3D5D - 5600 7C7F 00 - 5601 .section .text.f_open,"ax",@progbits - 5602 .global f_open - 5604 f_open: - 5605 .LFB73: - 5606 .LSM448: - 5607 .LVL509: - 5608 0000 2F92 push r2 - 5609 0002 3F92 push r3 - 5610 0004 4F92 push r4 - 5611 0006 5F92 push r5 - 5612 0008 6F92 push r6 - 5613 000a 7F92 push r7 - 5614 000c 8F92 push r8 - 5615 000e 9F92 push r9 - 5616 0010 AF92 push r10 - 5617 0012 BF92 push r11 - 5618 0014 CF92 push r12 - 5619 0016 DF92 push r13 - 5620 0018 EF92 push r14 - 5621 001a FF92 push r15 - 5622 001c 0F93 push r16 - 5623 001e 1F93 push r17 - 5624 0020 DF93 push r29 - 5625 0022 CF93 push r28 - 5626 0024 CDB7 in r28,__SP_L__ - 5627 0026 DEB7 in r29,__SP_H__ - 5628 0028 AD97 sbiw r28,45 - 5629 002a 0FB6 in __tmp_reg__,__SREG__ - 5630 002c F894 cli - 5631 002e DEBF out __SP_H__,r29 - 5632 0030 0FBE out __SREG__,__tmp_reg__ - 5633 0032 CDBF out __SP_L__,r28 - 5634 /* prologue: function */ - 5635 /* frame size = 45 */ - 5636 0034 9DA7 std Y+45,r25 - 5637 0036 8CA7 std Y+44,r24 - 5638 0038 7CA3 std Y+36,r23 - 5639 003a 6BA3 std Y+35,r22 - 5640 .LSM449: - 5641 003c DC01 movw r26,r24 - 5642 003e 1D92 st X+,__zero_reg__ - 5643 0040 1C92 st X,__zero_reg__ - 5644 .LSM450: - 5645 0042 B42F mov r27,r20 - 5646 0044 BF71 andi r27,lo8(31) - 5647 0046 BDA3 std Y+37,r27 - 5648 .LVL510: - 5649 .LSM451: - 5650 0048 4E71 andi r20,lo8(30) - 5651 .LVL511: - 5652 004a CE01 movw r24,r28 - 5653 .LVL512: - 5654 004c 8396 adiw r24,35 - 5655 004e BE01 movw r22,r28 - 5656 .LVL513: - 5657 0050 635F subi r22,lo8(-(13)) - 5658 0052 7F4F sbci r23,hi8(-(13)) - 5659 0054 0E94 0000 call chk_mounted - 5660 .LVL514: - 5661 .LSM452: - 5662 0058 8823 tst r24 - 5663 .LVL515: - 5664 005a 01F0 breq .L261 - 5665 005c 282F mov r18,r24 - 5666 005e 00C0 rjmp .L262 - 5667 .LVL516: - 5668 .L261: - 5669 .LSM453: - 5670 0060 CE01 movw r24,r28 - 5671 .LVL517: - 5672 0062 0196 adiw r24,1 - 5673 0064 9AA3 std Y+34,r25 - 5674 0066 89A3 std Y+33,r24 - 5675 .LSM454: - 5676 0068 EBA0 ldd r14,Y+35 - 5677 006a FCA0 ldd r15,Y+36 - 5678 .LVL518: - 5679 006c 00C0 rjmp .L263 - 5680 .L264: - 5681 .LBB23: - 5682 .LBB24: - 5683 .LSM455: - 5684 006e 0894 sec - 5685 0070 E11C adc r14,__zero_reg__ - 5686 0072 F11C adc r15,__zero_reg__ - 5687 .L263: - 5688 0074 F701 movw r30,r14 - 5689 0076 8081 ld r24,Z - 5690 0078 8032 cpi r24,lo8(32) - 5691 007a 01F0 breq .L264 - 5692 .LSM456: - 5693 007c 8F32 cpi r24,lo8(47) - 5694 007e 01F0 breq .L265 - 5695 0080 8C35 cpi r24,lo8(92) - 5696 0082 01F4 brne .L266 - 5697 .L265: - 5698 .LSM457: - 5699 0084 0894 sec - 5700 0086 E11C adc r14,__zero_reg__ - 5701 0088 F11C adc r15,__zero_reg__ - 5702 .L266: - 5703 .LSM458: - 5704 008a 1B8A std Y+19,__zero_reg__ - 5705 008c 1C8A std Y+20,__zero_reg__ - 5706 008e 1D8A std Y+21,__zero_reg__ - 5707 0090 1E8A std Y+22,__zero_reg__ - 5708 .LSM459: - 5709 0092 D701 movw r26,r14 - 5710 0094 8C91 ld r24,X - 5711 0096 8032 cpi r24,lo8(32) - 5712 0098 00F4 brsh .L267 - 5713 .LBE24: - 5714 .LSM460: - 5715 009a CE01 movw r24,r28 - 5716 009c 0D96 adiw r24,13 - 5717 009e 60E0 ldi r22,lo8(0) - 5718 00a0 70E0 ldi r23,hi8(0) - 5719 00a2 0E94 0000 call dir_seek - 5720 00a6 282F mov r18,r24 - 5721 .LVL519: - 5722 .LBB39: - 5723 .LSM461: - 5724 00a8 18A2 std Y+32,__zero_reg__ - 5725 00aa 1F8E std Y+31,__zero_reg__ - 5726 00ac 00C0 rjmp .L268 - 5727 .LVL520: - 5728 .L267: - 5729 .LBB25: - 5730 .LBB27: - 5731 .LSM462: - 5732 00ae A5E0 ldi r26,lo8(5) - 5733 00b0 3A2E mov r3,r26 - 5734 .LBE27: - 5735 .LBE25: - 5736 .LBB31: - 5737 .LSM463: - 5738 00b2 FDE0 ldi r31,lo8(13) - 5739 00b4 4F2E mov r4,r31 - 5740 00b6 512C mov r5,__zero_reg__ - 5741 00b8 4C0E add r4,r28 - 5742 00ba 5D1E adc r5,r29 - 5743 .LVL521: - 5744 .L320: - 5745 .LBE31: - 5746 .LBB36: - 5747 .LBB26: - 5748 .LSM464: - 5749 00bc 09A1 ldd r16,Y+33 - 5750 00be 1AA1 ldd r17,Y+34 - 5751 .LSM465: - 5752 00c0 C801 movw r24,r16 - 5753 00c2 60E2 ldi r22,lo8(32) - 5754 00c4 70E0 ldi r23,hi8(32) - 5755 00c6 4BE0 ldi r20,lo8(11) - 5756 00c8 50E0 ldi r21,hi8(11) - 5757 00ca 0E94 0000 call mem_set - 5758 .LVL522: - 5759 00ce 40E0 ldi r20,lo8(0) - 5760 00d0 50E0 ldi r21,hi8(0) - 5761 .LVL523: - 5762 00d2 CC24 clr r12 - 5763 00d4 DD24 clr r13 - 5764 00d6 E8E0 ldi r30,lo8(8) - 5765 00d8 AE2E mov r10,r30 - 5766 00da B12C mov r11,__zero_reg__ - 5767 00dc A0E0 ldi r26,lo8(0) - 5768 .LVL524: - 5769 .L319: - 5770 .LSM466: - 5771 00de F701 movw r30,r14 - 5772 00e0 EC0D add r30,r12 - 5773 00e2 FD1D adc r31,r13 - 5774 00e4 2081 ld r18,Z - 5775 00e6 0894 sec - 5776 00e8 C11C adc r12,__zero_reg__ - 5777 00ea D11C adc r13,__zero_reg__ - 5778 .LSM467: - 5779 00ec 2132 cpi r18,lo8(33) - 5780 00ee 00F4 brsh .+2 - 5781 00f0 00C0 rjmp .L269 - 5782 00f2 2F32 cpi r18,lo8(47) - 5783 00f4 01F4 brne .+2 - 5784 00f6 00C0 rjmp .L270 - 5785 00f8 2C35 cpi r18,lo8(92) - 5786 00fa 01F4 brne .+2 - 5787 00fc 00C0 rjmp .L270 - 5788 .LSM468: - 5789 00fe 2E32 cpi r18,lo8(46) - 5790 0100 01F0 breq .L271 - 5791 0102 4A15 cp r20,r10 - 5792 0104 5B05 cpc r21,r11 - 5793 0106 04F0 brlt .L272 - 5794 .L271: - 5795 .LSM469: - 5796 0108 B8E0 ldi r27,lo8(8) - 5797 010a AB16 cp r10,r27 - 5798 010c B104 cpc r11,__zero_reg__ - 5799 010e 01F0 breq .+2 - 5800 0110 00C0 rjmp .L273 - 5801 0112 2E32 cpi r18,lo8(46) - 5802 0114 01F0 breq .+2 - 5803 0116 00C0 rjmp .L273 - 5804 .LSM470: - 5805 0118 AA0F lsl r26 - 5806 011a AA0F lsl r26 - 5807 011c 48E0 ldi r20,lo8(8) - 5808 011e 50E0 ldi r21,hi8(8) - 5809 0120 7BE0 ldi r23,lo8(11) - 5810 0122 A72E mov r10,r23 - 5811 0124 B12C mov r11,__zero_reg__ - 5812 0126 00C0 rjmp .L319 - 5813 .L272: - 5814 .LSM471: - 5815 0128 27FD sbrc r18,7 - 5816 .LSM472: - 5817 012a A360 ori r26,lo8(3) - 5818 .L275: - 5819 .LSM473: - 5820 012c 822F mov r24,r18 - 5821 012e 8158 subi r24,lo8(-(127)) - 5822 0130 8F31 cpi r24,lo8(31) - 5823 0132 00F0 brlo .L276 - 5824 0134 8F55 subi r24,lo8(-(-95)) - 5825 0136 8D31 cpi r24,lo8(29) - 5826 0138 00F4 brsh .L277 - 5827 .L276: - 5828 .LSM474: - 5829 013a F701 movw r30,r14 - 5830 013c EC0D add r30,r12 - 5831 013e FD1D adc r31,r13 - 5832 0140 3081 ld r19,Z - 5833 .LSM475: - 5834 0142 832F mov r24,r19 - 5835 0144 8054 subi r24,lo8(-(-64)) - 5836 0146 8F33 cpi r24,lo8(63) - 5837 0148 00F0 brlo .L278 - 5838 014a 8054 subi r24,lo8(-(-64)) - 5839 014c 8D37 cpi r24,lo8(125) - 5840 014e 00F0 brlo .+2 - 5841 0150 00C0 rjmp .L273 - 5842 .L278: - 5843 0152 C501 movw r24,r10 - 5844 0154 0197 sbiw r24,1 - 5845 0156 4817 cp r20,r24 - 5846 0158 5907 cpc r21,r25 - 5847 015a 04F0 brlt .+2 - 5848 015c 00C0 rjmp .L273 - 5849 .LSM476: - 5850 015e 0894 sec - 5851 0160 C11C adc r12,__zero_reg__ - 5852 0162 D11C adc r13,__zero_reg__ - 5853 .LSM477: - 5854 0164 F801 movw r30,r16 - 5855 0166 E40F add r30,r20 - 5856 0168 F51F adc r31,r21 - 5857 016a 2083 st Z,r18 - 5858 016c CA01 movw r24,r20 - 5859 016e 0196 adiw r24,1 - 5860 .LVL525: - 5861 .LSM478: - 5862 0170 F801 movw r30,r16 - 5863 0172 E80F add r30,r24 - 5864 0174 F91F adc r31,r25 - 5865 0176 3083 st Z,r19 - 5866 0178 AC01 movw r20,r24 - 5867 017a 00C0 rjmp .L321 - 5868 .LVL526: - 5869 .L277: - 5870 .LSM479: - 5871 017c 622F mov r22,r18 - 5872 017e 70E0 ldi r23,lo8(0) - 5873 0180 E0E0 ldi r30,lo8(.LC0) - 5874 0182 F0E0 ldi r31,hi8(.LC0) - 5875 .LVL527: - 5876 0184 00C0 rjmp .L279 - 5877 .L281: - 5878 .LBB28: - 5879 .LBB29: - 5880 .LSM480: - 5881 0186 3196 adiw r30,1 - 5882 .L279: - 5883 0188 8081 ld r24,Z - 5884 018a 8823 tst r24 - 5885 018c 01F0 breq .L280 - 5886 018e 90E0 ldi r25,lo8(0) - 5887 0190 8617 cp r24,r22 - 5888 0192 9707 cpc r25,r23 - 5889 0194 01F4 brne .L281 - 5890 0196 00C0 rjmp .L273 - 5891 .L280: - 5892 .LBE29: - 5893 .LBE28: - 5894 .LSM481: - 5895 0198 822F mov r24,r18 - 5896 019a 8154 subi r24,lo8(-(-65)) - 5897 019c 8A31 cpi r24,lo8(26) - 5898 019e 00F4 brsh .L282 - 5899 .LSM482: - 5900 01a0 A260 ori r26,lo8(2) - 5901 01a2 00C0 rjmp .L283 - 5902 .L282: - 5903 .LSM483: - 5904 01a4 822F mov r24,r18 - 5905 01a6 8156 subi r24,lo8(-(-97)) - 5906 01a8 8A31 cpi r24,lo8(26) - 5907 01aa 00F4 brsh .L283 - 5908 .LSM484: - 5909 01ac A160 ori r26,lo8(1) - 5910 01ae 2052 subi r18,lo8(-(-32)) - 5911 .L283: - 5912 .LSM485: - 5913 01b0 F801 movw r30,r16 - 5914 .LVL528: - 5915 01b2 E40F add r30,r20 - 5916 01b4 F51F adc r31,r21 - 5917 01b6 2083 st Z,r18 - 5918 .LVL529: - 5919 .L321: - 5920 01b8 4F5F subi r20,lo8(-(1)) - 5921 01ba 5F4F sbci r21,hi8(-(1)) - 5922 01bc 00C0 rjmp .L319 - 5923 .L269: - 5924 01be 9A2F mov r25,r26 - 5925 01c0 64E0 ldi r22,lo8(4) - 5926 .LVL530: - 5927 .L313: - 5928 .LSM486: - 5929 01c2 452B or r20,r21 - 5930 01c4 01F4 brne .+2 - 5931 01c6 00C0 rjmp .L273 - 5932 .LSM487: - 5933 01c8 F801 movw r30,r16 - 5934 01ca 8081 ld r24,Z - 5935 01cc 853E cpi r24,lo8(-27) - 5936 01ce 01F4 brne .L284 - 5937 01d0 3082 st Z,r3 - 5938 .L284: - 5939 .LSM488: - 5940 01d2 F8E0 ldi r31,lo8(8) - 5941 01d4 AF16 cp r10,r31 - 5942 01d6 B104 cpc r11,__zero_reg__ - 5943 01d8 01F4 brne .L285 - 5944 01da 9A2F mov r25,r26 - 5945 01dc 990F lsl r25 - 5946 01de 990F lsl r25 - 5947 .LVL531: - 5948 .L285: - 5949 .LSM489: - 5950 01e0 292F mov r18,r25 - 5951 01e2 30E0 ldi r19,lo8(0) - 5952 .LVL532: - 5953 01e4 C901 movw r24,r18 - 5954 01e6 8370 andi r24,lo8(3) - 5955 01e8 9070 andi r25,hi8(3) - 5956 01ea 0197 sbiw r24,1 - 5957 01ec 01F4 brne .L286 - 5958 01ee 6061 ori r22,lo8(16) - 5959 .L286: - 5960 .LSM490: - 5961 01f0 2C70 andi r18,lo8(12) - 5962 01f2 3070 andi r19,hi8(12) - 5963 01f4 2430 cpi r18,4 - 5964 01f6 3105 cpc r19,__zero_reg__ - 5965 01f8 01F4 brne .L287 - 5966 01fa 6860 ori r22,lo8(8) - 5967 .L287: - 5968 .LSM491: - 5969 01fc D801 movw r26,r16 - 5970 01fe 1B96 adiw r26,11 - 5971 0200 6C93 st X,r22 - 5972 .LBE26: - 5973 .LBE36: - 5974 .LBB37: - 5975 .LSM492: - 5976 0202 C201 movw r24,r4 - 5977 0204 60E0 ldi r22,lo8(0) - 5978 0206 70E0 ldi r23,hi8(0) - 5979 .LVL533: - 5980 0208 0E94 0000 call dir_seek - 5981 .LVL534: - 5982 .L322: - 5983 020c 482F mov r20,r24 - 5984 .LVL535: - 5985 .LBB32: - 5986 .LSM493: - 5987 020e 8823 tst r24 - 5988 0210 01F4 brne .L288 - 5989 .LVL536: - 5990 .LBE32: - 5991 .LSM494: - 5992 0212 4B8D ldd r20,Y+27 - 5993 0214 5C8D ldd r21,Y+28 - 5994 0216 6D8D ldd r22,Y+29 - 5995 0218 7E8D ldd r23,Y+30 - 5996 021a 8D85 ldd r24,Y+13 - 5997 021c 9E85 ldd r25,Y+14 - 5998 .LVL537: - 5999 021e 0E94 0000 call move_window - 6000 0222 482F mov r20,r24 - 6001 .LVL538: - 6002 .LBB35: - 6003 .LSM495: - 6004 0224 8823 tst r24 - 6005 0226 01F4 brne .L288 - 6006 .LVL539: - 6007 .LSM496: - 6008 0228 EF8D ldd r30,Y+31 - 6009 022a F8A1 ldd r31,Y+32 - 6010 .LVL540: - 6011 .LSM497: - 6012 022c 8081 ld r24,Z - 6013 .LVL541: - 6014 022e 8823 tst r24 - 6015 0230 01F4 brne .L289 - 6016 0232 44E0 ldi r20,lo8(4) - 6017 0234 00C0 rjmp .L288 - 6018 .L289: - 6019 .LSM498: - 6020 0236 8385 ldd r24,Z+11 - 6021 0238 83FD sbrc r24,3 - 6022 023a 00C0 rjmp .L290 - 6023 023c 89A1 ldd r24,Y+33 - 6024 .LVL542: - 6025 023e 9AA1 ldd r25,Y+34 - 6026 .LVL543: - 6027 0240 9C01 movw r18,r24 - 6028 .LVL544: - 6029 0242 D901 movw r26,r18 - 6030 .LVL545: - 6031 0244 2BE0 ldi r18,lo8(11) - 6032 0246 30E0 ldi r19,hi8(11) - 6033 .LVL546: - 6034 .L291: - 6035 .LBB33: - 6036 .LBB34: - 6037 .LSM499: - 6038 0248 2150 subi r18,lo8(-(-1)) - 6039 024a 3040 sbci r19,hi8(-(-1)) - 6040 024c 8FEF ldi r24,hi8(-1) - 6041 024e 2F3F cpi r18,lo8(-1) - 6042 0250 3807 cpc r19,r24 - 6043 0252 01F0 breq .L288 - 6044 0254 9081 ld r25,Z - 6045 .LVL547: - 6046 0256 8C91 ld r24,X - 6047 0258 9817 cp r25,r24 - 6048 025a 01F4 brne .L290 - 6049 025c 3196 adiw r30,1 - 6050 .LVL548: - 6051 025e 1196 adiw r26,1 - 6052 0260 00C0 rjmp .L291 - 6053 .LVL549: - 6054 .L290: - 6055 .LBE34: - 6056 .LBE33: - 6057 .LBE35: - 6058 .LSM500: - 6059 0262 C201 movw r24,r4 - 6060 0264 60E0 ldi r22,lo8(0) - 6061 0266 0E94 0000 call dir_next - 6062 .LVL550: - 6063 026a 00C0 rjmp .L322 - 6064 .LVL551: - 6065 .L288: - 6066 .LBE37: - 6067 .LSM501: - 6068 026c E9A1 ldd r30,Y+33 - 6069 026e FAA1 ldd r31,Y+34 - 6070 .LVL552: - 6071 0270 8385 ldd r24,Z+11 - 6072 .LVL553: - 6073 0272 8470 andi r24,lo8(4) - 6074 .LSM502: - 6075 0274 4423 tst r20 - 6076 0276 01F0 breq .L293 - 6077 0278 242F mov r18,r20 - 6078 .LVL554: - 6079 .LSM503: - 6080 027a 4430 cpi r20,lo8(4) - 6081 027c 01F4 brne .L294 - 6082 027e 8823 tst r24 - 6083 0280 01F0 breq .L295 - 6084 0282 00C0 rjmp .L268 - 6085 .LVL555: - 6086 .L293: - 6087 .LSM504: - 6088 0284 8823 tst r24 - 6089 0286 01F4 brne .L294 - 6090 .LSM505: - 6091 0288 EF8D ldd r30,Y+31 - 6092 028a F8A1 ldd r31,Y+32 - 6093 .LVL556: - 6094 .LSM506: - 6095 028c 8385 ldd r24,Z+11 - 6096 .LVL557: - 6097 028e 84FF sbrs r24,4 - 6098 0290 00C0 rjmp .L295 - 6099 .LBB38: - 6100 .LBB30: - 6101 .LSM507: - 6102 0292 EC0C add r14,r12 - 6103 0294 FD1C adc r15,r13 - 6104 .LBE30: - 6105 .LBE38: - 6106 .LSM508: - 6107 0296 7588 ldd r7,Z+21 - 6108 0298 6624 clr r6 - 6109 029a 2489 ldd r18,Z+20 - 6110 .LVL558: - 6111 029c 30E0 ldi r19,lo8(0) - 6112 029e 2629 or r18,r6 - 6113 02a0 3729 or r19,r7 - 6114 02a2 40E0 ldi r20,lo8(0) - 6115 02a4 50E0 ldi r21,hi8(0) - 6116 .LVL559: - 6117 02a6 A901 movw r20,r18 - 6118 02a8 3327 clr r19 - 6119 02aa 2227 clr r18 - 6120 02ac 938C ldd r9,Z+27 - 6121 02ae 8824 clr r8 - 6122 02b0 828D ldd r24,Z+26 - 6123 02b2 90E0 ldi r25,lo8(0) - 6124 .LVL560: - 6125 02b4 8829 or r24,r8 - 6126 02b6 9929 or r25,r9 - 6127 02b8 A0E0 ldi r26,lo8(0) - 6128 02ba B0E0 ldi r27,hi8(0) - 6129 .LVL561: - 6130 02bc 282B or r18,r24 - 6131 02be 392B or r19,r25 - 6132 02c0 4A2B or r20,r26 - 6133 02c2 5B2B or r21,r27 - 6134 02c4 2B8B std Y+19,r18 - 6135 02c6 3C8B std Y+20,r19 - 6136 02c8 4D8B std Y+21,r20 - 6137 02ca 5E8B std Y+22,r21 - 6138 02cc 00C0 rjmp .L320 - 6139 .LVL562: - 6140 .L273: - 6141 02ce 26E0 ldi r18,lo8(6) - 6142 .LVL563: - 6143 02d0 00C0 rjmp .L268 - 6144 .LVL564: - 6145 .L294: - 6146 02d2 242F mov r18,r20 - 6147 .LVL565: - 6148 02d4 00C0 rjmp .L268 - 6149 .LVL566: - 6150 .L295: - 6151 02d6 25E0 ldi r18,lo8(5) - 6152 .LVL567: - 6153 .L268: - 6154 .LBE39: - 6155 .LBE23: - 6156 .LSM509: - 6157 02d8 9DA1 ldd r25,Y+37 - 6158 .LVL568: - 6159 02da 492F mov r20,r25 - 6160 .LVL569: - 6161 02dc 50E0 ldi r21,lo8(0) - 6162 02de CA01 movw r24,r20 - 6163 .LVL570: - 6164 02e0 8C71 andi r24,lo8(28) - 6165 02e2 9070 andi r25,hi8(28) - 6166 02e4 892B or r24,r25 - 6167 02e6 01F4 brne .+2 - 6168 02e8 00C0 rjmp .L296 - 6169 .LBB40: - 6170 .LSM510: - 6171 02ea 2223 tst r18 - 6172 02ec 01F4 brne .+2 - 6173 02ee 00C0 rjmp .L297 - 6174 .LSM511: - 6175 02f0 2430 cpi r18,lo8(4) - 6176 02f2 01F0 breq .+2 - 6177 02f4 00C0 rjmp .L262 - 6178 .LBB45: - 6179 .LSM512: - 6180 02f6 8E01 movw r16,r28 - 6181 .LVL571: - 6182 02f8 035F subi r16,lo8(-(13)) - 6183 02fa 1F4F sbci r17,hi8(-(13)) - 6184 02fc C801 movw r24,r16 - 6185 02fe 60E0 ldi r22,lo8(0) - 6186 0300 70E0 ldi r23,hi8(0) - 6187 .LVL572: - 6188 0302 0E94 0000 call dir_seek - 6189 .LVL573: - 6190 0306 282F mov r18,r24 - 6191 .LVL574: - 6192 .LBB48: - 6193 .LSM513: - 6194 0308 8823 tst r24 - 6195 030a 01F0 breq .+2 - 6196 030c 00C0 rjmp .L262 - 6197 .LVL575: - 6198 .L315: - 6199 .LBE48: - 6200 .LSM514: - 6201 030e 4B8D ldd r20,Y+27 - 6202 0310 5C8D ldd r21,Y+28 - 6203 0312 6D8D ldd r22,Y+29 - 6204 0314 7E8D ldd r23,Y+30 - 6205 0316 8D85 ldd r24,Y+13 - 6206 0318 9E85 ldd r25,Y+14 - 6207 .LVL576: - 6208 031a 0E94 0000 call move_window - 6209 .LVL577: - 6210 031e 282F mov r18,r24 - 6211 .LVL578: - 6212 .LBB47: - 6213 .LSM515: - 6214 0320 8823 tst r24 - 6215 0322 01F0 breq .+2 - 6216 0324 00C0 rjmp .L262 - 6217 .LVL579: - 6218 .LSM516: - 6219 0326 EF8D ldd r30,Y+31 - 6220 0328 F8A1 ldd r31,Y+32 - 6221 032a E081 ld r30,Z - 6222 .LVL580: - 6223 .LSM517: - 6224 032c E53E cpi r30,lo8(-27) - 6225 032e 01F4 brne .+2 - 6226 0330 00C0 rjmp .L298 - 6227 0332 EE23 tst r30 - 6228 0334 01F4 brne .+2 - 6229 0336 00C0 rjmp .L298 - 6230 .LBE47: - 6231 .LSM518: - 6232 0338 C801 movw r24,r16 - 6233 .LVL581: - 6234 033a 61E0 ldi r22,lo8(1) - 6235 033c 0E94 0000 call dir_next - 6236 .LVL582: - 6237 0340 282F mov r18,r24 - 6238 .LVL583: - 6239 .LBB46: - 6240 .LSM519: - 6241 0342 8823 tst r24 - 6242 0344 01F0 breq .L315 - 6243 .LVL584: - 6244 0346 00C0 rjmp .L262 - 6245 .L323: - 6246 .LSM520: - 6247 0348 0F8D ldd r16,Y+31 - 6248 034a 18A1 ldd r17,Y+32 - 6249 .LVL585: - 6250 .LSM521: - 6251 034c C801 movw r24,r16 - 6252 .LVL586: - 6253 034e 60E0 ldi r22,lo8(0) - 6254 0350 70E0 ldi r23,hi8(0) - 6255 0352 40E2 ldi r20,lo8(32) - 6256 0354 50E0 ldi r21,hi8(32) - 6257 0356 0E94 0000 call mem_set - 6258 .LVL587: - 6259 .LSM522: - 6260 035a 69A1 ldd r22,Y+33 - 6261 035c 7AA1 ldd r23,Y+34 - 6262 035e C801 movw r24,r16 - 6263 0360 4BE0 ldi r20,lo8(11) - 6264 0362 50E0 ldi r21,hi8(11) - 6265 0364 0E94 0000 call mem_cpy - 6266 .LSM523: - 6267 0368 E9A1 ldd r30,Y+33 - 6268 036a FAA1 ldd r31,Y+34 - 6269 036c 8385 ldd r24,Z+11 - 6270 036e 8871 andi r24,lo8(24) - 6271 0370 D801 movw r26,r16 - 6272 0372 1C96 adiw r26,12 - 6273 0374 8C93 st X,r24 - 6274 .LSM524: - 6275 0376 ED85 ldd r30,Y+13 - 6276 0378 FE85 ldd r31,Y+14 - 6277 037a 81E0 ldi r24,lo8(1) - 6278 037c 8483 std Z+4,r24 - 6279 .LBE46: - 6280 .LBE45: - 6281 .LSM525: - 6282 037e BDA1 ldd r27,Y+37 - 6283 0380 B860 ori r27,lo8(8) - 6284 0382 BDA3 std Y+37,r27 - 6285 .LVL588: - 6286 .LSM526: - 6287 0384 EF8C ldd r14,Y+31 - 6288 0386 F8A0 ldd r15,Y+32 - 6289 .LVL589: - 6290 0388 00C0 rjmp .L300 - 6291 .LVL590: - 6292 .L297: - 6293 .LSM527: - 6294 038a 42FF sbrs r20,2 - 6295 038c 00C0 rjmp .L301 - 6296 038e 28E0 ldi r18,lo8(8) - 6297 0390 00C0 rjmp .L262 - 6298 .L301: - 6299 .LSM528: - 6300 0392 EF8C ldd r14,Y+31 - 6301 0394 F8A0 ldd r15,Y+32 - 6302 .LVL591: - 6303 .LSM529: - 6304 0396 E114 cp r14,__zero_reg__ - 6305 0398 F104 cpc r15,__zero_reg__ - 6306 039a 01F4 brne .+2 - 6307 039c 00C0 rjmp .L302 - 6308 039e F701 movw r30,r14 - 6309 .LVL592: - 6310 03a0 8385 ldd r24,Z+11 - 6311 03a2 8171 andi r24,lo8(17) - 6312 03a4 01F0 breq .+2 - 6313 03a6 00C0 rjmp .L302 - 6314 .LSM530: - 6315 03a8 43FF sbrs r20,3 - 6316 03aa 00C0 rjmp .L300 - 6317 .LSM531: - 6318 03ac 9589 ldd r25,Z+21 - 6319 03ae 80E0 ldi r24,lo8(0) - 6320 03b0 2489 ldd r18,Z+20 - 6321 .LVL593: - 6322 03b2 30E0 ldi r19,lo8(0) - 6323 .LVL594: - 6324 03b4 822B or r24,r18 - 6325 03b6 932B or r25,r19 - 6326 03b8 A0E0 ldi r26,lo8(0) - 6327 03ba B0E0 ldi r27,hi8(0) - 6328 .LVL595: - 6329 03bc 2C01 movw r4,r24 - 6330 03be 3324 clr r3 - 6331 03c0 2224 clr r2 - 6332 .LVL596: - 6333 03c2 938D ldd r25,Z+27 - 6334 03c4 80E0 ldi r24,lo8(0) - 6335 03c6 228D ldd r18,Z+26 - 6336 03c8 30E0 ldi r19,lo8(0) - 6337 03ca 822B or r24,r18 - 6338 03cc 932B or r25,r19 - 6339 03ce A0E0 ldi r26,lo8(0) - 6340 03d0 B0E0 ldi r27,hi8(0) - 6341 03d2 282A or r2,r24 - 6342 03d4 392A or r3,r25 - 6343 03d6 4A2A or r4,r26 - 6344 03d8 5B2A or r5,r27 - 6345 .LSM532: - 6346 03da 148A std Z+20,__zero_reg__ - 6347 03dc 158A std Z+21,__zero_reg__ - 6348 .LSM533: - 6349 03de 128E std Z+26,__zero_reg__ - 6350 03e0 138E std Z+27,__zero_reg__ - 6351 .LSM534: - 6352 03e2 148E std Z+28,__zero_reg__ - 6353 03e4 158E std Z+29,__zero_reg__ - 6354 03e6 168E std Z+30,__zero_reg__ - 6355 03e8 178E std Z+31,__zero_reg__ - 6356 .LSM535: - 6357 03ea 8D85 ldd r24,Y+13 - 6358 03ec 9E85 ldd r25,Y+14 - 6359 03ee 9BA7 std Y+43,r25 - 6360 03f0 8AA7 std Y+42,r24 - 6361 03f2 81E0 ldi r24,lo8(1) - 6362 03f4 AAA5 ldd r26,Y+42 - 6363 03f6 BBA5 ldd r27,Y+43 - 6364 03f8 1496 adiw r26,4 - 6365 03fa 8C93 st X,r24 - 6366 .LSM536: - 6367 03fc AAA5 ldd r26,Y+42 - 6368 03fe BBA5 ldd r27,Y+43 - 6369 0400 9A96 adiw r26,42 - 6370 0402 8D91 ld r24,X+ - 6371 0404 9D91 ld r25,X+ - 6372 0406 0D90 ld __tmp_reg__,X+ - 6373 0408 BC91 ld r27,X - 6374 040a A02D mov r26,__tmp_reg__ - 6375 040c 8EA3 std Y+38,r24 - 6376 040e 9FA3 std Y+39,r25 - 6377 0410 A8A7 std Y+40,r26 - 6378 0412 B9A7 std Y+41,r27 - 6379 .LVL597: - 6380 .LSM537: - 6381 0414 2114 cp r2,__zero_reg__ - 6382 0416 3104 cpc r3,__zero_reg__ - 6383 0418 4104 cpc r4,__zero_reg__ - 6384 041a 5104 cpc r5,__zero_reg__ - 6385 041c 01F4 brne .+2 - 6386 041e 00C0 rjmp .L303 - 6387 .LBB41: - 6388 .LBB42: - 6389 .LSM538: - 6390 0420 B1E0 ldi r27,lo8(1) - 6391 0422 2B16 cp r2,r27 - 6392 0424 3104 cpc r3,__zero_reg__ - 6393 0426 4104 cpc r4,__zero_reg__ - 6394 0428 5104 cpc r5,__zero_reg__ - 6395 042a 01F4 brne .+2 - 6396 042c 00C0 rjmp .L304 - 6397 042e EAA5 ldd r30,Y+42 - 6398 0430 FBA5 ldd r31,Y+43 - 6399 0432 828D ldd r24,Z+26 - 6400 0434 938D ldd r25,Z+27 - 6401 0436 A48D ldd r26,Z+28 - 6402 0438 B58D ldd r27,Z+29 - 6403 043a 2816 cp r2,r24 - 6404 043c 3906 cpc r3,r25 - 6405 043e 4A06 cpc r4,r26 - 6406 0440 5B06 cpc r5,r27 - 6407 0442 00F0 brlo .+2 - 6408 0444 00C0 rjmp .L304 - 6409 0446 6201 movw r12,r4 - 6410 0448 5101 movw r10,r2 - 6411 .LVL598: - 6412 044a 00C0 rjmp .L305 - 6413 .LVL599: - 6414 .L309: - 6415 .LBE42: - 6416 .LSM539: - 6417 044c 8AA5 ldd r24,Y+42 - 6418 044e 9BA5 ldd r25,Y+43 - 6419 0450 B601 movw r22,r12 - 6420 0452 A501 movw r20,r10 - 6421 0454 0E94 0000 call get_fat - 6422 .LVL600: - 6423 0458 3B01 movw r6,r22 - 6424 045a 4C01 movw r8,r24 - 6425 .LVL601: - 6426 .LBB43: - 6427 .LSM540: - 6428 045c 6115 cp r22,__zero_reg__ - 6429 045e 7105 cpc r23,__zero_reg__ - 6430 0460 8105 cpc r24,__zero_reg__ - 6431 0462 9105 cpc r25,__zero_reg__ - 6432 0464 01F4 brne .+2 - 6433 0466 00C0 rjmp .L306 - 6434 .LVL602: - 6435 .LSM541: - 6436 0468 6130 cpi r22,lo8(1) - 6437 046a 7105 cpc r23,__zero_reg__ - 6438 046c 8105 cpc r24,__zero_reg__ - 6439 046e 9105 cpc r25,__zero_reg__ - 6440 0470 01F4 brne .+2 - 6441 0472 00C0 rjmp .L304 - 6442 .LSM542: - 6443 0474 6F3F cpi r22,lo8(-1) - 6444 0476 2FEF ldi r18,hi8(-1) - 6445 0478 7207 cpc r23,r18 - 6446 047a 2FEF ldi r18,hlo8(-1) - 6447 047c 8207 cpc r24,r18 - 6448 047e 2FEF ldi r18,hhi8(-1) - 6449 0480 9207 cpc r25,r18 - 6450 0482 01F4 brne .L307 - 6451 0484 21E0 ldi r18,lo8(1) - 6452 .LVL603: - 6453 0486 00C0 rjmp .L262 - 6454 .LVL604: - 6455 .L307: - 6456 .LBE43: - 6457 .LSM543: - 6458 0488 8AA5 ldd r24,Y+42 - 6459 048a 9BA5 ldd r25,Y+43 - 6460 048c B601 movw r22,r12 - 6461 048e A501 movw r20,r10 - 6462 0490 00E0 ldi r16,lo8(0) - 6463 0492 10E0 ldi r17,hi8(0) - 6464 0494 20E0 ldi r18,hlo8(0) - 6465 0496 30E0 ldi r19,hhi8(0) - 6466 .LVL605: - 6467 0498 0E94 0000 call put_fat - 6468 .LVL606: - 6469 049c 282F mov r18,r24 - 6470 .LVL607: - 6471 .LBB44: - 6472 .LSM544: - 6473 049e 8823 tst r24 - 6474 04a0 01F0 breq .+2 - 6475 04a2 00C0 rjmp .L262 - 6476 .LVL608: - 6477 .LSM545: - 6478 04a4 EAA5 ldd r30,Y+42 - 6479 04a6 FBA5 ldd r31,Y+43 - 6480 04a8 8685 ldd r24,Z+14 - 6481 04aa 9785 ldd r25,Z+15 - 6482 04ac A089 ldd r26,Z+16 - 6483 04ae B189 ldd r27,Z+17 - 6484 .LVL609: - 6485 04b0 8F3F cpi r24,lo8(-1) - 6486 04b2 FFEF ldi r31,hi8(-1) - 6487 04b4 9F07 cpc r25,r31 - 6488 04b6 FFEF ldi r31,hlo8(-1) - 6489 04b8 AF07 cpc r26,r31 - 6490 04ba FFEF ldi r31,hhi8(-1) - 6491 04bc BF07 cpc r27,r31 - 6492 04be 01F0 breq .L308 - 6493 .LSM546: - 6494 04c0 0196 adiw r24,1 - 6495 04c2 A11D adc r26,__zero_reg__ - 6496 04c4 B11D adc r27,__zero_reg__ - 6497 04c6 EAA5 ldd r30,Y+42 - 6498 04c8 FBA5 ldd r31,Y+43 - 6499 04ca 8687 std Z+14,r24 - 6500 04cc 9787 std Z+15,r25 - 6501 04ce A08B std Z+16,r26 - 6502 04d0 B18B std Z+17,r27 - 6503 .LSM547: - 6504 04d2 21E0 ldi r18,lo8(1) - 6505 .LVL610: - 6506 04d4 2583 std Z+5,r18 - 6507 .LVL611: - 6508 .L308: - 6509 04d6 6401 movw r12,r8 - 6510 04d8 5301 movw r10,r6 - 6511 .LVL612: - 6512 .L305: - 6513 .LSM548: - 6514 04da EAA5 ldd r30,Y+42 - 6515 04dc FBA5 ldd r31,Y+43 - 6516 04de 828D ldd r24,Z+26 - 6517 04e0 938D ldd r25,Z+27 - 6518 04e2 A48D ldd r26,Z+28 - 6519 04e4 B58D ldd r27,Z+29 - 6520 04e6 A816 cp r10,r24 - 6521 04e8 B906 cpc r11,r25 - 6522 04ea CA06 cpc r12,r26 - 6523 04ec DB06 cpc r13,r27 - 6524 04ee 00F4 brsh .+2 - 6525 04f0 00C0 rjmp .L309 - 6526 04f2 00C0 rjmp .L306 - 6527 .LVL613: - 6528 .L304: - 6529 04f4 22E0 ldi r18,lo8(2) - 6530 .LVL614: - 6531 04f6 00C0 rjmp .L262 - 6532 .LVL615: - 6533 .L303: - 6534 .LBE44: - 6535 .LBE41: - 6536 .LSM549: - 6537 04f8 8D85 ldd r24,Y+13 - 6538 04fa 9E85 ldd r25,Y+14 - 6539 04fc 4EA1 ldd r20,Y+38 - 6540 04fe 5FA1 ldd r21,Y+39 - 6541 0500 68A5 ldd r22,Y+40 - 6542 0502 79A5 ldd r23,Y+41 - 6543 0504 0E94 0000 call move_window - 6544 .LVL616: - 6545 0508 282F mov r18,r24 - 6546 .LVL617: - 6547 .LSM550: - 6548 050a 8823 tst r24 - 6549 050c 01F0 breq .+2 - 6550 050e 00C0 rjmp .L262 - 6551 .LVL618: - 6552 .L300: - 6553 .LSM551: - 6554 0510 FDA1 ldd r31,Y+37 - 6555 0512 F3FF sbrs r31,3 - 6556 0514 00C0 rjmp .L310 - 6557 .LSM552: - 6558 0516 D701 movw r26,r14 - 6559 .LVL619: - 6560 0518 1B96 adiw r26,11 - 6561 051a 1C92 st X,__zero_reg__ - 6562 .LSM553: - 6563 051c 0E94 0000 call get_fattime - 6564 .LVL620: - 6565 .LSM554: - 6566 0520 F701 movw r30,r14 - 6567 0522 6687 std Z+14,r22 - 6568 0524 272F mov r18,r23 - 6569 0526 3327 clr r19 - 6570 0528 2787 std Z+15,r18 - 6571 052a 9C01 movw r18,r24 - 6572 052c 4427 clr r20 - 6573 052e 5527 clr r21 - 6574 0530 208B std Z+16,r18 - 6575 0532 692F mov r22,r25 - 6576 0534 7727 clr r23 - 6577 0536 8827 clr r24 - 6578 0538 9927 clr r25 - 6579 053a 618B std Z+17,r22 - 6580 .LSM555: - 6581 053c ED85 ldd r30,Y+13 - 6582 053e FE85 ldd r31,Y+14 - 6583 0540 81E0 ldi r24,lo8(1) - 6584 0542 8483 std Z+4,r24 - 6585 .LSM556: - 6586 0544 FDA1 ldd r31,Y+37 - 6587 0546 F062 ori r31,lo8(32) - 6588 0548 FDA3 std Y+37,r31 - 6589 .LVL621: - 6590 054a 00C0 rjmp .L310 - 6591 .LVL622: - 6592 .L296: - 6593 .LBE40: - 6594 .LSM557: - 6595 054c 2223 tst r18 - 6596 054e 01F0 breq .+2 - 6597 0550 00C0 rjmp .L262 - 6598 .LSM558: - 6599 0552 EF8C ldd r14,Y+31 - 6600 0554 F8A0 ldd r15,Y+32 - 6601 .LVL623: - 6602 .LSM559: - 6603 0556 E114 cp r14,__zero_reg__ - 6604 0558 F104 cpc r15,__zero_reg__ - 6605 055a 01F4 brne .+2 - 6606 055c 00C0 rjmp .L311 - 6607 055e D701 movw r26,r14 - 6608 .LVL624: - 6609 0560 1B96 adiw r26,11 - 6610 0562 8C91 ld r24,X - 6611 0564 84FD sbrc r24,4 - 6612 0566 00C0 rjmp .L311 - 6613 .LSM560: - 6614 0568 41FF sbrs r20,1 - 6615 056a 00C0 rjmp .L310 - 6616 056c 80FD sbrc r24,0 - 6617 056e 00C0 rjmp .L302 - 6618 .LVL625: - 6619 .L310: - 6620 .LSM561: - 6621 0570 ED85 ldd r30,Y+13 - 6622 0572 FE85 ldd r31,Y+14 - 6623 .LVL626: - 6624 0574 22A5 ldd r18,Z+42 - 6625 0576 33A5 ldd r19,Z+43 - 6626 0578 44A5 ldd r20,Z+44 - 6627 057a 55A5 ldd r21,Z+45 - 6628 .LVL627: - 6629 057c ACA5 ldd r26,Y+44 - 6630 057e BDA5 ldd r27,Y+45 - 6631 .LVL628: - 6632 0580 5A96 adiw r26,26 - 6633 0582 2D93 st X+,r18 - 6634 0584 3D93 st X+,r19 - 6635 0586 4D93 st X+,r20 - 6636 0588 5C93 st X,r21 - 6637 058a 5D97 sbiw r26,26+3 - 6638 .LSM562: - 6639 058c 8F8D ldd r24,Y+31 - 6640 058e 98A1 ldd r25,Y+32 - 6641 .LVL629: - 6642 0590 5F96 adiw r26,30+1 - 6643 0592 9C93 st X,r25 - 6644 0594 8E93 st -X,r24 - 6645 0596 5E97 sbiw r26,30 - 6646 .LSM563: - 6647 0598 2DA1 ldd r18,Y+37 - 6648 059a 1496 adiw r26,4 - 6649 059c 2C93 st X,r18 - 6650 .LSM564: - 6651 059e D701 movw r26,r14 - 6652 05a0 5596 adiw r26,21 - 6653 05a2 3C91 ld r19,X - 6654 05a4 5597 sbiw r26,21 - 6655 .LVL630: - 6656 05a6 20E0 ldi r18,lo8(0) - 6657 05a8 5496 adiw r26,20 - 6658 05aa 8C91 ld r24,X - 6659 05ac 5497 sbiw r26,20 - 6660 05ae 90E0 ldi r25,lo8(0) - 6661 05b0 282B or r18,r24 - 6662 05b2 392B or r19,r25 - 6663 05b4 40E0 ldi r20,lo8(0) - 6664 05b6 50E0 ldi r21,hi8(0) - 6665 05b8 A901 movw r20,r18 - 6666 05ba 3327 clr r19 - 6667 05bc 2227 clr r18 - 6668 05be 5B96 adiw r26,27 - 6669 05c0 9C91 ld r25,X - 6670 05c2 5B97 sbiw r26,27 - 6671 05c4 80E0 ldi r24,lo8(0) - 6672 05c6 5A96 adiw r26,26 - 6673 05c8 6C91 ld r22,X - 6674 .LVL631: - 6675 05ca 70E0 ldi r23,lo8(0) - 6676 05cc 862B or r24,r22 - 6677 05ce 972B or r25,r23 - 6678 05d0 A0E0 ldi r26,lo8(0) - 6679 05d2 B0E0 ldi r27,hi8(0) - 6680 05d4 282B or r18,r24 - 6681 05d6 392B or r19,r25 - 6682 05d8 4A2B or r20,r26 - 6683 05da 5B2B or r21,r27 - 6684 05dc ACA5 ldd r26,Y+44 - 6685 05de BDA5 ldd r27,Y+45 - 6686 05e0 1E96 adiw r26,14 - 6687 05e2 2D93 st X+,r18 - 6688 05e4 3D93 st X+,r19 - 6689 05e6 4D93 st X+,r20 - 6690 05e8 5C93 st X,r21 - 6691 05ea 5197 sbiw r26,14+3 - 6692 .LSM565: - 6693 05ec D701 movw r26,r14 - 6694 05ee 5F96 adiw r26,31 - 6695 05f0 2C91 ld r18,X - 6696 05f2 5F97 sbiw r26,31 - 6697 05f4 30E0 ldi r19,lo8(0) - 6698 05f6 40E0 ldi r20,lo8(0) - 6699 05f8 50E0 ldi r21,hi8(0) - 6700 05fa 522F mov r21,r18 - 6701 05fc 4427 clr r20 - 6702 05fe 3327 clr r19 - 6703 0600 2227 clr r18 - 6704 .LVL632: - 6705 0602 5E96 adiw r26,30 - 6706 0604 8C91 ld r24,X - 6707 0606 90E0 ldi r25,lo8(0) - 6708 0608 A0E0 ldi r26,lo8(0) - 6709 060a B0E0 ldi r27,hi8(0) - 6710 060c DC01 movw r26,r24 - 6711 060e 9927 clr r25 - 6712 0610 8827 clr r24 - 6713 0612 282B or r18,r24 - 6714 0614 392B or r19,r25 - 6715 0616 4A2B or r20,r26 - 6716 0618 5B2B or r21,r27 - 6717 061a D701 movw r26,r14 - 6718 061c 5C96 adiw r26,28 - 6719 061e 8C91 ld r24,X - 6720 0620 90E0 ldi r25,lo8(0) - 6721 0622 A0E0 ldi r26,lo8(0) - 6722 0624 B0E0 ldi r27,hi8(0) - 6723 0626 282B or r18,r24 - 6724 0628 392B or r19,r25 - 6725 062a 4A2B or r20,r26 - 6726 062c 5B2B or r21,r27 - 6727 062e D701 movw r26,r14 - 6728 0630 5D96 adiw r26,29 - 6729 0632 9C91 ld r25,X - 6730 0634 80E0 ldi r24,lo8(0) - 6731 0636 A0E0 ldi r26,lo8(0) - 6732 0638 B0E0 ldi r27,hi8(0) - 6733 063a 282B or r18,r24 - 6734 063c 392B or r19,r25 - 6735 063e 4A2B or r20,r26 - 6736 0640 5B2B or r21,r27 - 6737 0642 ACA5 ldd r26,Y+44 - 6738 0644 BDA5 ldd r27,Y+45 - 6739 0646 1A96 adiw r26,10 - 6740 0648 2D93 st X+,r18 - 6741 064a 3D93 st X+,r19 - 6742 064c 4D93 st X+,r20 - 6743 064e 5C93 st X,r21 - 6744 0650 1D97 sbiw r26,10+3 - 6745 .LSM566: - 6746 0652 1696 adiw r26,6 - 6747 0654 1D92 st X+,__zero_reg__ - 6748 0656 1D92 st X+,__zero_reg__ - 6749 0658 1D92 st X+,__zero_reg__ - 6750 065a 1C92 st X,__zero_reg__ - 6751 065c 1997 sbiw r26,6+3 - 6752 065e 8FEF ldi r24,lo8(-1) - 6753 0660 1596 adiw r26,5 - 6754 0662 8C93 st X,r24 - 6755 .LSM567: - 6756 0664 ACA5 ldd r26,Y+44 - 6757 0666 BDA5 ldd r27,Y+45 - 6758 0668 5696 adiw r26,22 - 6759 066a 1D92 st X+,__zero_reg__ - 6760 066c 1D92 st X+,__zero_reg__ - 6761 066e 1D92 st X+,__zero_reg__ - 6762 0670 1C92 st X,__zero_reg__ - 6763 0672 5997 sbiw r26,22+3 - 6764 .LSM568: - 6765 0674 1196 adiw r26,1 - 6766 0676 FC93 st X,r31 - 6767 0678 EE93 st -X,r30 - 6768 067a 8681 ldd r24,Z+6 - 6769 067c 9781 ldd r25,Z+7 - 6770 067e 1396 adiw r26,2+1 - 6771 0680 9C93 st X,r25 - 6772 0682 8E93 st -X,r24 - 6773 0684 1297 sbiw r26,2 - 6774 0686 20E0 ldi r18,lo8(0) - 6775 .LVL633: - 6776 0688 00C0 rjmp .L262 - 6777 .LVL634: - 6778 .L302: - 6779 .LSM569: - 6780 068a 27E0 ldi r18,lo8(7) - 6781 068c 00C0 rjmp .L262 - 6782 .L311: - 6783 068e 24E0 ldi r18,lo8(4) - 6784 .LVL635: - 6785 .L262: - 6786 .LSM570: - 6787 0690 822F mov r24,r18 - 6788 /* epilogue start */ - 6789 0692 AD96 adiw r28,45 - 6790 0694 0FB6 in __tmp_reg__,__SREG__ - 6791 0696 F894 cli - 6792 0698 DEBF out __SP_H__,r29 - 6793 069a 0FBE out __SREG__,__tmp_reg__ - 6794 069c CDBF out __SP_L__,r28 - 6795 069e CF91 pop r28 - 6796 06a0 DF91 pop r29 - 6797 06a2 1F91 pop r17 - 6798 06a4 0F91 pop r16 - 6799 .LVL636: - 6800 06a6 FF90 pop r15 - 6801 06a8 EF90 pop r14 - 6802 .LVL637: - 6803 06aa DF90 pop r13 - 6804 06ac CF90 pop r12 - 6805 .LVL638: - 6806 06ae BF90 pop r11 - 6807 06b0 AF90 pop r10 - 6808 .LVL639: - 6809 06b2 9F90 pop r9 - 6810 06b4 8F90 pop r8 - 6811 06b6 7F90 pop r7 - 6812 06b8 6F90 pop r6 - 6813 06ba 5F90 pop r5 - 6814 06bc 4F90 pop r4 - 6815 06be 3F90 pop r3 - 6816 06c0 2F90 pop r2 - 6817 .LVL640: - 6818 06c2 0895 ret - 6819 .LVL641: - 6820 .L298: - 6821 .LBB51: - 6822 .LBB50: - 6823 .LSM571: - 6824 06c4 4B8D ldd r20,Y+27 - 6825 06c6 5C8D ldd r21,Y+28 - 6826 06c8 6D8D ldd r22,Y+29 - 6827 06ca 7E8D ldd r23,Y+30 - 6828 06cc 8D85 ldd r24,Y+13 - 6829 06ce 9E85 ldd r25,Y+14 - 6830 .LVL642: - 6831 06d0 0E94 0000 call move_window - 6832 .LVL643: - 6833 06d4 282F mov r18,r24 - 6834 .LVL644: - 6835 .LBB49: - 6836 .LSM572: - 6837 06d6 8823 tst r24 - 6838 06d8 01F4 brne .L262 - 6839 .LVL645: - 6840 06da 00C0 rjmp .L323 - 6841 .LVL646: - 6842 .L306: - 6843 .LBE49: - 6844 .LBE50: - 6845 .LSM573: - 6846 06dc ED85 ldd r30,Y+13 - 6847 06de FE85 ldd r31,Y+14 - 6848 06e0 0894 sec - 6849 06e2 2108 sbc r2,__zero_reg__ - 6850 06e4 3108 sbc r3,__zero_reg__ - 6851 06e6 4108 sbc r4,__zero_reg__ - 6852 06e8 5108 sbc r5,__zero_reg__ - 6853 .LVL647: - 6854 06ea 2286 std Z+10,r2 - 6855 06ec 3386 std Z+11,r3 - 6856 06ee 4486 std Z+12,r4 - 6857 06f0 5586 std Z+13,r5 - 6858 06f2 00C0 rjmp .L303 - 6859 .LVL648: - 6860 .L270: - 6861 06f4 9A2F mov r25,r26 - 6862 06f6 60E0 ldi r22,lo8(0) - 6863 .LVL649: - 6864 06f8 00C0 rjmp .L313 - 6865 .LBE51: - 6866 .LFE73: - 6868 .lcomm FatFs,2 - 6869 .lcomm Fsid,2 - 7070 .Letext0: + 2110 0178 1F91 pop r17 + 2111 017a 0F91 pop r16 + 2112 .LVL197: + 2113 017c FF90 pop r15 + 2114 .LVL198: + 2115 017e EF90 pop r14 + 2116 .LVL199: + 2117 0180 0895 ret + 2118 .LFE63: + 2120 .section .text.f_write,"ax",@progbits + 2121 .global f_write + 2123 f_write: + 2124 .LFB75: + 2125 .LSM168: + 2126 .LVL200: + 2127 0000 2F92 push r2 + 2128 0002 3F92 push r3 + 2129 0004 4F92 push r4 + 2130 0006 5F92 push r5 + 2131 0008 6F92 push r6 + 2132 000a 7F92 push r7 + 2133 000c 8F92 push r8 + 2134 000e 9F92 push r9 + 2135 0010 AF92 push r10 + 2136 0012 BF92 push r11 + 2137 0014 CF92 push r12 + 2138 0016 DF92 push r13 + 2139 0018 EF92 push r14 + 2140 001a FF92 push r15 + 2141 001c 0F93 push r16 + 2142 001e 1F93 push r17 + 2143 0020 CF93 push r28 + 2144 0022 DF93 push r29 + 2145 /* prologue: function */ + 2146 /* frame size = 0 */ + 2147 0024 EC01 movw r28,r24 + 2148 0026 162F mov r17,r22 + 2149 0028 072F mov r16,r23 + 2150 .LVL201: + 2151 002a 4A01 movw r8,r20 + 2152 002c 1901 movw r2,r18 + 2153 .LSM169: + 2154 002e F901 movw r30,r18 + 2155 0030 1182 std Z+1,__zero_reg__ + 2156 0032 1082 st Z,__zero_reg__ + 2157 .LSM170: + 2158 0034 6A81 ldd r22,Y+2 + 2159 0036 7B81 ldd r23,Y+3 + 2160 .LVL202: + 2161 0038 8881 ld r24,Y + 2162 003a 9981 ldd r25,Y+1 + 2163 .LVL203: + 2164 003c 0E94 0000 call validate + 2165 .LVL204: + 2166 0040 782E mov r7,r24 + 2167 .LVL205: + 2168 .LSM171: + 2169 0042 8823 tst r24 + 2170 0044 01F0 breq .+2 + 2171 0046 00C0 rjmp .L109 + 2172 .LVL206: + 2173 .LSM172: + 2174 0048 8C81 ldd r24,Y+4 + 2175 .LVL207: + 2176 004a 87FD sbrc r24,7 + 2177 004c 00C0 rjmp .L136 + 2178 .L110: + 2179 .LSM173: + 2180 004e 81FD sbrc r24,1 + 2181 0050 00C0 rjmp .L111 + 2182 0052 27E0 ldi r18,lo8(7) + 2183 0054 722E mov r7,r18 + 2184 0056 00C0 rjmp .L109 + 2185 .L111: + 2186 .LSM174: + 2187 0058 2A85 ldd r18,Y+10 + 2188 005a 3B85 ldd r19,Y+11 + 2189 005c 4C85 ldd r20,Y+12 + 2190 005e 5D85 ldd r21,Y+13 + 2191 0060 C401 movw r24,r8 + 2192 0062 A0E0 ldi r26,lo8(0) + 2193 0064 B0E0 ldi r27,hi8(0) + 2194 .LVL208: + 2195 0066 820F add r24,r18 + 2196 0068 931F adc r25,r19 + 2197 006a A41F adc r26,r20 + 2198 006c B51F adc r27,r21 + 2199 .LVL209: + 2200 006e 8217 cp r24,r18 + 2201 0070 9307 cpc r25,r19 + 2202 0072 A407 cpc r26,r20 + 2203 0074 B507 cpc r27,r21 + 2204 0076 00F4 brsh .L112 + 2205 0078 8824 clr r8 + 2206 007a 9924 clr r9 + 2207 .LVL210: + 2208 .L112: + 2209 .LSM175: + 2210 007c 812F mov r24,r17 + 2211 .LVL211: + 2212 007e 902F mov r25,r16 + 2213 .LVL212: + 2214 0080 9C01 movw r18,r24 + 2215 .LVL213: + 2216 0082 2901 movw r4,r18 + 2217 .LVL214: + 2218 .LSM176: + 2219 0084 6624 clr r6 + 2220 0086 6394 inc r6 + 2221 0088 00C0 rjmp .L113 + 2222 .LVL215: + 2223 .L133: + 2224 .LSM177: + 2225 008a 2E81 ldd r18,Y+6 + 2226 008c 3F81 ldd r19,Y+7 + 2227 008e 4885 ldd r20,Y+8 + 2228 0090 5985 ldd r21,Y+9 + 2229 0092 DA01 movw r26,r20 + 2230 0094 C901 movw r24,r18 + 2231 0096 9170 andi r25,hi8(511) + 2232 0098 A070 andi r26,hlo8(511) + 2233 009a B070 andi r27,hhi8(511) + 2234 009c 0097 sbiw r24,0 + 2235 009e A105 cpc r26,__zero_reg__ + 2236 00a0 B105 cpc r27,__zero_reg__ + 2237 00a2 01F0 breq .+2 + 2238 00a4 00C0 rjmp .L114 + 2239 .LSM178: + 2240 00a6 E881 ld r30,Y + 2241 00a8 F981 ldd r31,Y+1 + 2242 00aa 9D81 ldd r25,Y+5 + 2243 .LVL216: + 2244 00ac 8281 ldd r24,Z+2 + 2245 00ae 9817 cp r25,r24 + 2246 00b0 00F4 brsh .+2 + 2247 00b2 00C0 rjmp .L115 + 2248 .LSM179: + 2249 00b4 2115 cp r18,__zero_reg__ + 2250 00b6 3105 cpc r19,__zero_reg__ + 2251 00b8 4105 cpc r20,__zero_reg__ + 2252 00ba 5105 cpc r21,__zero_reg__ + 2253 00bc 01F4 brne .L116 + 2254 .LSM180: + 2255 00be 6E85 ldd r22,Y+14 + 2256 00c0 7F85 ldd r23,Y+15 + 2257 00c2 8889 ldd r24,Y+16 + 2258 00c4 9989 ldd r25,Y+17 + 2259 .LVL217: + 2260 .LSM181: + 2261 00c6 6115 cp r22,__zero_reg__ + 2262 00c8 7105 cpc r23,__zero_reg__ + 2263 00ca 8105 cpc r24,__zero_reg__ + 2264 00cc 9105 cpc r25,__zero_reg__ + 2265 00ce 01F4 brne .L117 + 2266 .LSM182: + 2267 00d0 CF01 movw r24,r30 + 2268 00d2 40E0 ldi r20,lo8(0) + 2269 00d4 50E0 ldi r21,hi8(0) + 2270 00d6 60E0 ldi r22,hlo8(0) + 2271 00d8 70E0 ldi r23,hhi8(0) + 2272 00da 0E94 0000 call create_chain + 2273 .LVL218: + 2274 00de 6E87 std Y+14,r22 + 2275 00e0 7F87 std Y+15,r23 + 2276 00e2 888B std Y+16,r24 + 2277 00e4 998B std Y+17,r25 + 2278 .LVL219: + 2279 00e6 00C0 rjmp .L118 + 2280 .LVL220: + 2281 .L116: + 2282 .LSM183: + 2283 00e8 4A89 ldd r20,Y+18 + 2284 00ea 5B89 ldd r21,Y+19 + 2285 00ec 6C89 ldd r22,Y+20 + 2286 00ee 7D89 ldd r23,Y+21 + 2287 00f0 CF01 movw r24,r30 + 2288 00f2 0E94 0000 call create_chain + 2289 .LVL221: + 2290 .L118: + 2291 .LSM184: + 2292 00f6 6115 cp r22,__zero_reg__ + 2293 00f8 7105 cpc r23,__zero_reg__ + 2294 00fa 8105 cpc r24,__zero_reg__ + 2295 00fc 9105 cpc r25,__zero_reg__ + 2296 00fe 01F4 brne .+2 + 2297 0100 00C0 rjmp .L119 + 2298 .LVL222: + 2299 .L117: + 2300 .LSM185: + 2301 0102 6130 cpi r22,lo8(1) + 2302 0104 7105 cpc r23,__zero_reg__ + 2303 0106 8105 cpc r24,__zero_reg__ + 2304 0108 9105 cpc r25,__zero_reg__ + 2305 010a 01F4 brne .L120 + 2306 .LVL223: + 2307 .L138: + 2308 010c 8C81 ldd r24,Y+4 + 2309 010e 8068 ori r24,lo8(-128) + 2310 0110 8C83 std Y+4,r24 + 2311 .L136: + 2312 0112 92E0 ldi r25,lo8(2) + 2313 0114 792E mov r7,r25 + 2314 0116 00C0 rjmp .L109 + 2315 .LVL224: + 2316 .L120: + 2317 .LSM186: + 2318 0118 6F3F cpi r22,lo8(-1) + 2319 011a FFEF ldi r31,hi8(-1) + 2320 011c 7F07 cpc r23,r31 + 2321 011e FFEF ldi r31,hlo8(-1) + 2322 0120 8F07 cpc r24,r31 + 2323 0122 FFEF ldi r31,hhi8(-1) + 2324 0124 9F07 cpc r25,r31 + 2325 0126 01F4 brne .+2 + 2326 0128 00C0 rjmp .L137 + 2327 .L121: + 2328 .LSM187: + 2329 012a 6A8B std Y+18,r22 + 2330 012c 7B8B std Y+19,r23 + 2331 012e 8C8B std Y+20,r24 + 2332 0130 9D8B std Y+21,r25 + 2333 .LSM188: + 2334 0132 1D82 std Y+5,__zero_reg__ + 2335 .L115: + 2336 .LSM189: + 2337 0134 E881 ld r30,Y + 2338 0136 F981 ldd r31,Y+1 + 2339 0138 22A5 ldd r18,Z+42 + 2340 013a 33A5 ldd r19,Z+43 + 2341 013c 44A5 ldd r20,Z+44 + 2342 013e 55A5 ldd r21,Z+45 + 2343 0140 8E89 ldd r24,Y+22 + 2344 0142 9F89 ldd r25,Y+23 + 2345 0144 A88D ldd r26,Y+24 + 2346 0146 B98D ldd r27,Y+25 + 2347 0148 2817 cp r18,r24 + 2348 014a 3907 cpc r19,r25 + 2349 014c 4A07 cpc r20,r26 + 2350 014e 5B07 cpc r21,r27 + 2351 0150 01F4 brne .L122 + 2352 0152 CF01 movw r24,r30 + 2353 0154 40E0 ldi r20,lo8(0) + 2354 0156 50E0 ldi r21,hi8(0) + 2355 0158 60E0 ldi r22,hlo8(0) + 2356 015a 70E0 ldi r23,hhi8(0) + 2357 015c 0E94 0000 call move_window + 2358 .LVL225: + 2359 0160 8823 tst r24 + 2360 0162 01F0 breq .+2 + 2361 0164 00C0 rjmp .L137 + 2362 .LVL226: + 2363 .L122: + 2364 .LSM190: + 2365 0166 0881 ld r16,Y + 2366 0168 1981 ldd r17,Y+1 + 2367 .LVL227: + 2368 016a 4A89 ldd r20,Y+18 + 2369 016c 5B89 ldd r21,Y+19 + 2370 016e 6C89 ldd r22,Y+20 + 2371 0170 7D89 ldd r23,Y+21 + 2372 0172 C801 movw r24,r16 + 2373 0174 0E94 0000 call clust2sect + 2374 .LVL228: + 2375 .LSM191: + 2376 0178 6115 cp r22,__zero_reg__ + 2377 017a 7105 cpc r23,__zero_reg__ + 2378 017c 8105 cpc r24,__zero_reg__ + 2379 017e 9105 cpc r25,__zero_reg__ + 2380 0180 01F0 breq .L138 + 2381 .LVL229: + 2382 .L123: + 2383 .LSM192: + 2384 0182 3D81 ldd r19,Y+5 + 2385 0184 5B01 movw r10,r22 + 2386 0186 6C01 movw r12,r24 + 2387 0188 A30E add r10,r19 + 2388 018a B11C adc r11,__zero_reg__ + 2389 018c C11C adc r12,__zero_reg__ + 2390 018e D11C adc r13,__zero_reg__ + 2391 .LVL230: + 2392 .LSM193: + 2393 0190 7401 movw r14,r8 + 2394 0192 EF2C mov r14,r15 + 2395 0194 FF24 clr r15 + 2396 0196 E694 lsr r14 + 2397 .LSM194: + 2398 0198 E114 cp r14,__zero_reg__ + 2399 019a F104 cpc r15,__zero_reg__ + 2400 019c 01F4 brne .+2 + 2401 019e 00C0 rjmp .L124 + 2402 .LSM195: + 2403 01a0 F801 movw r30,r16 + 2404 01a2 2281 ldd r18,Z+2 + 2405 01a4 432F mov r20,r19 + 2406 01a6 50E0 ldi r21,lo8(0) + 2407 01a8 C701 movw r24,r14 + 2408 01aa 840F add r24,r20 + 2409 01ac 951F adc r25,r21 + 2410 01ae 30E0 ldi r19,lo8(0) + 2411 01b0 2817 cp r18,r24 + 2412 01b2 3907 cpc r19,r25 + 2413 01b4 00F4 brsh .L125 + 2414 .LSM196: + 2415 01b6 7901 movw r14,r18 + 2416 01b8 E41A sub r14,r20 + 2417 01ba F50A sbc r15,r21 + 2418 .L125: + 2419 .LSM197: + 2420 01bc F801 movw r30,r16 + 2421 01be 8181 ldd r24,Z+1 + 2422 01c0 B201 movw r22,r4 + 2423 01c2 A601 movw r20,r12 + 2424 01c4 9501 movw r18,r10 + 2425 01c6 0E2D mov r16,r14 + 2426 01c8 0E94 0000 call disk_write + 2427 01cc 8823 tst r24 + 2428 01ce 01F0 breq .+2 + 2429 01d0 00C0 rjmp .L137 + 2430 .L126: + 2431 .LSM198: + 2432 01d2 E881 ld r30,Y + 2433 01d4 F981 ldd r31,Y+1 + 2434 01d6 22A5 ldd r18,Z+42 + 2435 01d8 33A5 ldd r19,Z+43 + 2436 01da 44A5 ldd r20,Z+44 + 2437 01dc 55A5 ldd r21,Z+45 + 2438 01de 2A19 sub r18,r10 + 2439 01e0 3B09 sbc r19,r11 + 2440 01e2 4C09 sbc r20,r12 + 2441 01e4 5D09 sbc r21,r13 + 2442 01e6 C701 movw r24,r14 + 2443 01e8 A0E0 ldi r26,lo8(0) + 2444 01ea B0E0 ldi r27,hi8(0) + 2445 .LVL231: + 2446 01ec 2817 cp r18,r24 + 2447 01ee 3907 cpc r19,r25 + 2448 01f0 4A07 cpc r20,r26 + 2449 01f2 5B07 cpc r21,r27 + 2450 01f4 00F4 brsh .L127 + 2451 .LVL232: + 2452 .LSM199: + 2453 01f6 19E0 ldi r17,9 + 2454 01f8 220F 1: lsl r18 + 2455 01fa 331F rol r19 + 2456 01fc 441F rol r20 + 2457 01fe 551F rol r21 + 2458 0200 1A95 dec r17 + 2459 0202 01F4 brne 1b + 2460 .LVL233: + 2461 0204 B201 movw r22,r4 + 2462 0206 620F add r22,r18 + 2463 0208 731F adc r23,r19 + 2464 020a CF01 movw r24,r30 + 2465 .LVL234: + 2466 020c 8E96 adiw r24,46 + 2467 020e 40E0 ldi r20,lo8(512) + 2468 0210 52E0 ldi r21,hi8(512) + 2469 0212 0E94 0000 call mem_cpy + 2470 .LVL235: + 2471 .LSM200: + 2472 0216 E881 ld r30,Y + 2473 0218 F981 ldd r31,Y+1 + 2474 021a 1482 std Z+4,__zero_reg__ + 2475 .LVL236: + 2476 .L127: + 2477 .LSM201: + 2478 021c 8D81 ldd r24,Y+5 + 2479 021e 8E0D add r24,r14 + 2480 0220 8D83 std Y+5,r24 + 2481 .LSM202: + 2482 0222 8701 movw r16,r14 + 2483 .LVL237: + 2484 0224 102F mov r17,r16 + 2485 0226 0027 clr r16 + 2486 0228 110F lsl r17 + 2487 022a 00C0 rjmp .L128 + 2488 .LVL238: + 2489 .L124: + 2490 .LSM203: + 2491 022c 2E81 ldd r18,Y+6 + 2492 022e 3F81 ldd r19,Y+7 + 2493 0230 4885 ldd r20,Y+8 + 2494 0232 5985 ldd r21,Y+9 + 2495 0234 8A85 ldd r24,Y+10 + 2496 0236 9B85 ldd r25,Y+11 + 2497 0238 AC85 ldd r26,Y+12 + 2498 023a BD85 ldd r27,Y+13 + 2499 023c 2817 cp r18,r24 + 2500 023e 3907 cpc r19,r25 + 2501 0240 4A07 cpc r20,r26 + 2502 0242 5B07 cpc r21,r27 + 2503 0244 00F0 brlo .L129 + 2504 .LSM204: + 2505 0246 C801 movw r24,r16 + 2506 0248 40E0 ldi r20,lo8(0) + 2507 024a 50E0 ldi r21,hi8(0) + 2508 024c 60E0 ldi r22,hlo8(0) + 2509 024e 70E0 ldi r23,hhi8(0) + 2510 0250 0E94 0000 call move_window + 2511 0254 8823 tst r24 + 2512 0256 01F4 brne .L137 + 2513 .L130: + 2514 .LSM205: + 2515 0258 E881 ld r30,Y + 2516 025a F981 ldd r31,Y+1 + 2517 025c A2A6 std Z+42,r10 + 2518 025e B3A6 std Z+43,r11 + 2519 0260 C4A6 std Z+44,r12 + 2520 0262 D5A6 std Z+45,r13 + 2521 .L129: + 2522 .LSM206: + 2523 0264 AE8A std Y+22,r10 + 2524 0266 BF8A std Y+23,r11 + 2525 0268 C88E std Y+24,r12 + 2526 026a D98E std Y+25,r13 + 2527 .LSM207: + 2528 026c 8D81 ldd r24,Y+5 + 2529 026e 8F5F subi r24,lo8(-(1)) + 2530 0270 8D83 std Y+5,r24 + 2531 .LVL239: + 2532 .L114: + 2533 .LSM208: + 2534 0272 EE80 ldd r14,Y+6 + 2535 0274 FF80 ldd r15,Y+7 + 2536 0276 0885 ldd r16,Y+8 + 2537 0278 1985 ldd r17,Y+9 + 2538 .LVL240: + 2539 .LSM209: + 2540 027a 4E89 ldd r20,Y+22 + 2541 027c 5F89 ldd r21,Y+23 + 2542 027e 688D ldd r22,Y+24 + 2543 0280 798D ldd r23,Y+25 + 2544 0282 8881 ld r24,Y + 2545 0284 9981 ldd r25,Y+1 + 2546 0286 0E94 0000 call move_window + 2547 .LVL241: + 2548 028a 8823 tst r24 + 2549 028c 01F0 breq .L131 + 2550 .LVL242: + 2551 .L137: + 2552 .LSM210: + 2553 028e 8C81 ldd r24,Y+4 + 2554 0290 8068 ori r24,lo8(-128) + 2555 0292 8C83 std Y+4,r24 + 2556 0294 7724 clr r7 + 2557 0296 7394 inc r7 + 2558 0298 00C0 rjmp .L109 + 2559 .LVL243: + 2560 .L131: + 2561 .LSM211: + 2562 029a C701 movw r24,r14 + 2563 029c 9170 andi r25,hi8(511) + 2564 029e 20E0 ldi r18,lo8(512) + 2565 02a0 32E0 ldi r19,hi8(512) + 2566 02a2 281B sub r18,r24 + 2567 02a4 390B sbc r19,r25 + 2568 02a6 8401 movw r16,r8 + 2569 .LVL244: + 2570 02a8 2815 cp r18,r8 + 2571 02aa 3905 cpc r19,r9 + 2572 02ac 00F4 brsh .L132 + 2573 .LVL245: + 2574 02ae 8901 movw r16,r18 + 2575 .L132: + 2576 .LSM212: + 2577 02b0 2E81 ldd r18,Y+6 + 2578 02b2 3F81 ldd r19,Y+7 + 2579 .LVL246: + 2580 02b4 3170 andi r19,hi8(511) + 2581 02b6 225D subi r18,lo8(-(46)) + 2582 02b8 3F4F sbci r19,hi8(-(46)) + 2583 02ba 8881 ld r24,Y + 2584 02bc 9981 ldd r25,Y+1 + 2585 02be 820F add r24,r18 + 2586 02c0 931F adc r25,r19 + 2587 02c2 B201 movw r22,r4 + 2588 02c4 A801 movw r20,r16 + 2589 02c6 0E94 0000 call mem_cpy + 2590 .LSM213: + 2591 02ca E881 ld r30,Y + 2592 02cc F981 ldd r31,Y+1 + 2593 02ce 6482 std Z+4,r6 + 2594 .LVL247: + 2595 .L128: + 2596 .LSM214: + 2597 02d0 400E add r4,r16 + 2598 02d2 511E adc r5,r17 + 2599 02d4 C801 movw r24,r16 + 2600 02d6 A0E0 ldi r26,lo8(0) + 2601 02d8 B0E0 ldi r27,hi8(0) + 2602 .LVL248: + 2603 02da 2E81 ldd r18,Y+6 + 2604 02dc 3F81 ldd r19,Y+7 + 2605 02de 4885 ldd r20,Y+8 + 2606 02e0 5985 ldd r21,Y+9 + 2607 02e2 280F add r18,r24 + 2608 02e4 391F adc r19,r25 + 2609 02e6 4A1F adc r20,r26 + 2610 02e8 5B1F adc r21,r27 + 2611 02ea 2E83 std Y+6,r18 + 2612 02ec 3F83 std Y+7,r19 + 2613 02ee 4887 std Y+8,r20 + 2614 02f0 5987 std Y+9,r21 + 2615 02f2 F101 movw r30,r2 + 2616 02f4 8081 ld r24,Z + 2617 02f6 9181 ldd r25,Z+1 + 2618 02f8 800F add r24,r16 + 2619 02fa 911F adc r25,r17 + 2620 02fc 9183 std Z+1,r25 + 2621 02fe 8083 st Z,r24 + 2622 0300 801A sub r8,r16 + 2623 0302 910A sbc r9,r17 + 2624 .LVL249: + 2625 .L113: + 2626 .LSM215: + 2627 0304 8114 cp r8,__zero_reg__ + 2628 0306 9104 cpc r9,__zero_reg__ + 2629 0308 01F0 breq .+2 + 2630 030a 00C0 rjmp .L133 + 2631 .LVL250: + 2632 .L119: + 2633 .LSM216: + 2634 030c 2E81 ldd r18,Y+6 + 2635 030e 3F81 ldd r19,Y+7 + 2636 0310 4885 ldd r20,Y+8 + 2637 0312 5985 ldd r21,Y+9 + 2638 0314 8A85 ldd r24,Y+10 + 2639 0316 9B85 ldd r25,Y+11 + 2640 0318 AC85 ldd r26,Y+12 + 2641 031a BD85 ldd r27,Y+13 + 2642 031c 8217 cp r24,r18 + 2643 031e 9307 cpc r25,r19 + 2644 0320 A407 cpc r26,r20 + 2645 0322 B507 cpc r27,r21 + 2646 0324 00F4 brsh .L134 + 2647 0326 2A87 std Y+10,r18 + 2648 0328 3B87 std Y+11,r19 + 2649 032a 4C87 std Y+12,r20 + 2650 032c 5D87 std Y+13,r21 + 2651 .L134: + 2652 .LSM217: + 2653 032e 8C81 ldd r24,Y+4 + 2654 0330 8062 ori r24,lo8(32) + 2655 0332 8C83 std Y+4,r24 + 2656 .LVL251: + 2657 .L109: + 2658 .LSM218: + 2659 0334 872D mov r24,r7 + 2660 /* epilogue start */ + 2661 0336 DF91 pop r29 + 2662 0338 CF91 pop r28 + 2663 .LVL252: + 2664 033a 1F91 pop r17 + 2665 .LVL253: + 2666 033c 0F91 pop r16 + 2667 .LVL254: + 2668 033e FF90 pop r15 + 2669 0340 EF90 pop r14 + 2670 .LVL255: + 2671 0342 DF90 pop r13 + 2672 0344 CF90 pop r12 + 2673 0346 BF90 pop r11 + 2674 0348 AF90 pop r10 + 2675 .LVL256: + 2676 034a 9F90 pop r9 + 2677 034c 8F90 pop r8 + 2678 .LVL257: + 2679 034e 7F90 pop r7 + 2680 .LVL258: + 2681 0350 6F90 pop r6 + 2682 0352 5F90 pop r5 + 2683 0354 4F90 pop r4 + 2684 .LVL259: + 2685 0356 3F90 pop r3 + 2686 0358 2F90 pop r2 + 2687 .LVL260: + 2688 035a 0895 ret + 2689 .LFE75: + 2691 .section .text.f_putc,"ax",@progbits + 2692 .global f_putc + 2694 f_putc: + 2695 .LFB80: + 2696 .LSM219: + 2697 .LVL261: + 2698 0000 0F93 push r16 + 2699 0002 1F93 push r17 + 2700 0004 DF93 push r29 + 2701 0006 CF93 push r28 + 2702 0008 00D0 rcall . + 2703 000a 0F92 push __tmp_reg__ + 2704 000c CDB7 in r28,__SP_L__ + 2705 000e DEB7 in r29,__SP_H__ + 2706 /* prologue: function */ + 2707 /* frame size = 3 */ + 2708 0010 8C01 movw r16,r24 + 2709 .LSM220: + 2710 0012 6115 cp r22,__zero_reg__ + 2711 0014 7105 cpc r23,__zero_reg__ + 2712 0016 01F0 breq .L140 + 2713 .LVL262: + 2714 .LSM221: + 2715 0018 8983 std Y+1,r24 + 2716 .LVL263: + 2717 .LSM222: + 2718 001a CB01 movw r24,r22 + 2719 001c BE01 movw r22,r28 + 2720 .LVL264: + 2721 001e 6F5F subi r22,lo8(-(1)) + 2722 0020 7F4F sbci r23,hi8(-(1)) + 2723 0022 41E0 ldi r20,lo8(1) + 2724 0024 50E0 ldi r21,hi8(1) + 2725 0026 9E01 movw r18,r28 + 2726 0028 2E5F subi r18,lo8(-(2)) + 2727 002a 3F4F sbci r19,hi8(-(2)) + 2728 002c 0E94 0000 call f_write + 2729 .LSM223: + 2730 0030 8A81 ldd r24,Y+2 + 2731 0032 9B81 ldd r25,Y+3 + 2732 .LVL265: + 2733 0034 892B or r24,r25 + 2734 0036 01F4 brne .L140 + 2735 .LVL266: + 2736 0038 0FEF ldi r16,lo8(-1) + 2737 003a 1FEF ldi r17,hi8(-1) + 2738 .LVL267: + 2739 .L140: + 2740 .LSM224: + 2741 003c C801 movw r24,r16 + 2742 .LVL268: + 2743 /* epilogue start */ + 2744 003e 0F90 pop __tmp_reg__ + 2745 0040 0F90 pop __tmp_reg__ + 2746 0042 0F90 pop __tmp_reg__ + 2747 0044 CF91 pop r28 + 2748 0046 DF91 pop r29 + 2749 0048 1F91 pop r17 + 2750 004a 0F91 pop r16 + 2751 004c 0895 ret + 2752 .LFE80: + 2754 .section .text.f_puts,"ax",@progbits + 2755 .global f_puts + 2757 f_puts: + 2758 .LFB81: + 2759 .LSM225: + 2760 .LVL269: + 2761 0000 EF92 push r14 + 2762 0002 FF92 push r15 + 2763 0004 0F93 push r16 + 2764 0006 1F93 push r17 + 2765 0008 CF93 push r28 + 2766 000a DF93 push r29 + 2767 /* prologue: function */ + 2768 /* frame size = 0 */ + 2769 000c 8C01 movw r16,r24 + 2770 000e 7B01 movw r14,r22 + 2771 .LSM226: + 2772 0010 C0E0 ldi r28,lo8(0) + 2773 0012 D0E0 ldi r29,hi8(0) + 2774 .LVL270: + 2775 0014 00C0 rjmp .L143 + 2776 .LVL271: + 2777 .L146: + 2778 .LSM227: + 2779 0016 90E0 ldi r25,lo8(0) + 2780 0018 B701 movw r22,r14 + 2781 001a 0E94 0000 call f_putc + 2782 001e 8F5F subi r24,lo8(-1) + 2783 0020 9F4F sbci r25,hi8(-1) + 2784 0022 01F4 brne .L144 + 2785 0024 CFEF ldi r28,lo8(-1) + 2786 0026 DFEF ldi r29,hi8(-1) + 2787 0028 00C0 rjmp .L145 + 2788 .L144: + 2789 .LSM228: + 2790 002a 0F5F subi r16,lo8(-(1)) + 2791 002c 1F4F sbci r17,hi8(-(1)) + 2792 002e 2196 adiw r28,1 + 2793 .LVL272: + 2794 .L143: + 2795 0030 F801 movw r30,r16 + 2796 0032 8081 ld r24,Z + 2797 0034 8823 tst r24 + 2798 0036 01F4 brne .L146 + 2799 .L145: + 2800 .LSM229: + 2801 0038 CE01 movw r24,r28 + 2802 .LVL273: + 2803 /* epilogue start */ + 2804 003a DF91 pop r29 + 2805 003c CF91 pop r28 + 2806 003e 1F91 pop r17 + 2807 0040 0F91 pop r16 + 2808 .LVL274: + 2809 0042 FF90 pop r15 + 2810 0044 EF90 pop r14 + 2811 .LVL275: + 2812 0046 0895 ret + 2813 .LFE81: + 2815 .section .text.f_printf,"ax",@progbits + 2816 .global f_printf + 2818 f_printf: + 2819 .LFB82: + 2820 .LSM230: + 2821 .LVL276: + 2822 0000 2F92 push r2 + 2823 0002 3F92 push r3 + 2824 0004 4F92 push r4 + 2825 0006 5F92 push r5 + 2826 0008 6F92 push r6 + 2827 000a 7F92 push r7 + 2828 000c 8F92 push r8 + 2829 000e 9F92 push r9 + 2830 0010 AF92 push r10 + 2831 0012 BF92 push r11 + 2832 0014 CF92 push r12 + 2833 0016 DF92 push r13 + 2834 0018 EF92 push r14 + 2835 001a FF92 push r15 + 2836 001c 0F93 push r16 + 2837 001e 1F93 push r17 + 2838 0020 DF93 push r29 + 2839 0022 CF93 push r28 + 2840 0024 CDB7 in r28,__SP_L__ + 2841 0026 DEB7 in r29,__SP_H__ + 2842 0028 6397 sbiw r28,19 + 2843 002a 0FB6 in __tmp_reg__,__SREG__ + 2844 002c F894 cli + 2845 002e DEBF out __SP_H__,r29 + 2846 0030 0FBE out __SREG__,__tmp_reg__ + 2847 0032 CDBF out __SP_L__,r28 + 2848 /* prologue: function */ + 2849 /* frame size = 19 */ + 2850 0034 6AA4 ldd r6,Y+42 + 2851 0036 7BA4 ldd r7,Y+43 + 2852 .LSM231: + 2853 0038 8E01 movw r16,r28 + 2854 .LVL277: + 2855 003a 045D subi r16,lo8(-(44)) + 2856 003c 1F4F sbci r17,hi8(-(44)) + 2857 003e 1A8A std Y+18,__zero_reg__ + 2858 0040 198A std Y+17,__zero_reg__ + 2859 .LVL278: + 2860 0042 20E0 ldi r18,lo8(0) + 2861 0044 30E0 ldi r19,hi8(0) + 2862 .LVL279: + 2863 .LVL280: + 2864 .L176: + 2865 .LSM232: + 2866 0046 D301 movw r26,r6 + 2867 0048 8C91 ld r24,X + 2868 .LVL281: + 2869 .LSM233: + 2870 004a 8823 tst r24 + 2871 004c 01F4 brne .+2 + 2872 004e 00C0 rjmp .L149 + 2873 .LSM234: + 2874 0050 0894 sec + 2875 0052 611C adc r6,__zero_reg__ + 2876 0054 711C adc r7,__zero_reg__ + 2877 .LSM235: + 2878 0056 8532 cpi r24,lo8(37) + 2879 0058 01F0 breq .L150 + 2880 .LSM236: + 2881 005a 90E0 ldi r25,lo8(0) + 2882 005c 68A5 ldd r22,Y+40 + 2883 005e 79A5 ldd r23,Y+41 + 2884 0060 0E94 0000 call f_putc + 2885 .LVL282: + 2886 0064 9C01 movw r18,r24 + 2887 .LVL283: + 2888 .LSM237: + 2889 0066 BFEF ldi r27,hi8(-1) + 2890 0068 8F3F cpi r24,lo8(-1) + 2891 006a 9B07 cpc r25,r27 + 2892 006c 01F4 brne .L151 + 2893 .LVL284: + 2894 006e 4801 movw r8,r16 + 2895 0070 00C0 rjmp .L152 + 2896 .L151: + 2897 0072 4801 movw r8,r16 + 2898 0074 00C0 rjmp .L179 + 2899 .LVL285: + 2900 .L150: + 2901 .LSM238: + 2902 0076 D301 movw r26,r6 + 2903 0078 ED91 ld r30,X+ + 2904 .LVL286: + 2905 007a 3D01 movw r6,r26 + 2906 .LSM239: + 2907 007c E033 cpi r30,lo8(48) + 2908 007e 01F0 breq .L153 + 2909 0080 1B8A std Y+19,__zero_reg__ + 2910 .LVL287: + 2911 0082 00C0 rjmp .L154 + 2912 .L153: + 2913 .LSM240: + 2914 0084 ED91 ld r30,X+ + 2915 0086 3D01 movw r6,r26 + 2916 0088 B1E0 ldi r27,lo8(1) + 2917 008a BB8B std Y+19,r27 + 2918 .LVL288: + 2919 .L154: + 2920 008c AA24 clr r10 + 2921 008e BB24 clr r11 + 2922 0090 00C0 rjmp .L155 + 2923 .L156: + 2924 .LSM241: + 2925 0092 C501 movw r24,r10 + 2926 0094 F3E0 ldi r31,3 + 2927 0096 880F 1: lsl r24 + 2928 0098 991F rol r25 + 2929 009a FA95 dec r31 + 2930 009c 01F4 brne 1b + 2931 009e AA0C lsl r10 + 2932 00a0 BB1C rol r11 + 2933 00a2 A80E add r10,r24 + 2934 00a4 B91E adc r11,r25 + 2935 00a6 AE0E add r10,r30 + 2936 00a8 B11C adc r11,__zero_reg__ + 2937 00aa E0ED ldi r30,lo8(-48) + 2938 00ac FFEF ldi r31,hi8(-48) + 2939 .LVL289: + 2940 00ae AE0E add r10,r30 + 2941 00b0 BF1E adc r11,r31 + 2942 .LSM242: + 2943 00b2 D301 movw r26,r6 + 2944 00b4 ED91 ld r30,X+ + 2945 .LVL290: + 2946 00b6 3D01 movw r6,r26 + 2947 .L155: + 2948 .LSM243: + 2949 00b8 8E2F mov r24,r30 + 2950 00ba 8053 subi r24,lo8(-(-48)) + 2951 00bc 8A30 cpi r24,lo8(10) + 2952 00be 00F0 brlo .L156 + 2953 .LSM244: + 2954 00c0 EC36 cpi r30,lo8(108) + 2955 00c2 01F4 brne .L157 + 2956 .LSM245: + 2957 00c4 BB89 ldd r27,Y+19 + 2958 00c6 B260 ori r27,lo8(2) + 2959 00c8 BB8B std Y+19,r27 + 2960 .LVL291: + 2961 00ca D301 movw r26,r6 + 2962 00cc ED91 ld r30,X+ + 2963 00ce 3D01 movw r6,r26 + 2964 .L157: + 2965 .LSM246: + 2966 00d0 E337 cpi r30,lo8(115) + 2967 00d2 01F4 brne .L158 + 2968 .LSM247: + 2969 00d4 62E0 ldi r22,lo8(2) + 2970 00d6 862E mov r8,r22 + 2971 00d8 912C mov r9,__zero_reg__ + 2972 .LVL292: + 2973 00da 800E add r8,r16 + 2974 00dc 911E adc r9,r17 + 2975 00de F801 movw r30,r16 + 2976 .LVL293: + 2977 00e0 8081 ld r24,Z + 2978 00e2 9181 ldd r25,Z+1 + 2979 00e4 00C0 rjmp .L180 + 2980 .LVL294: + 2981 .L158: + 2982 .LSM248: + 2983 00e6 E336 cpi r30,lo8(99) + 2984 00e8 01F4 brne .L159 + 2985 .LSM249: + 2986 00ea 52E0 ldi r21,lo8(2) + 2987 00ec 852E mov r8,r21 + 2988 00ee 912C mov r9,__zero_reg__ + 2989 .LVL295: + 2990 00f0 800E add r8,r16 + 2991 00f2 911E adc r9,r17 + 2992 00f4 D801 movw r26,r16 + 2993 00f6 8D91 ld r24,X+ + 2994 00f8 9C91 ld r25,X + 2995 00fa 68A5 ldd r22,Y+40 + 2996 00fc 79A5 ldd r23,Y+41 + 2997 00fe 0E94 0000 call f_putc + 2998 .LVL296: + 2999 0102 9C01 movw r18,r24 + 3000 .LVL297: + 3001 .LSM250: + 3002 0104 BFEF ldi r27,hi8(-1) + 3003 0106 8F3F cpi r24,lo8(-1) + 3004 0108 9B07 cpc r25,r27 + 3005 010a 01F4 brne .+2 + 3006 010c 00C0 rjmp .L152 + 3007 .LVL298: + 3008 .L179: + 3009 010e 21E0 ldi r18,lo8(1) + 3010 0110 30E0 ldi r19,hi8(1) + 3011 .LVL299: + 3012 0112 00C0 rjmp .L152 + 3013 .LVL300: + 3014 .L159: + 3015 .LSM251: + 3016 0114 E436 cpi r30,lo8(100) + 3017 0116 01F0 breq .L160 + 3018 .LSM252: + 3019 0118 E537 cpi r30,lo8(117) + 3020 011a 01F0 breq .L160 + 3021 .LSM253: + 3022 011c E835 cpi r30,lo8(88) + 3023 011e 01F0 breq .+2 + 3024 0120 00C0 rjmp .L149 + 3025 0122 20E1 ldi r18,lo8(16) + 3026 .LVL301: + 3027 0124 00C0 rjmp .L161 + 3028 .LVL302: + 3029 .L160: + 3030 0126 2AE0 ldi r18,lo8(10) + 3031 .LVL303: + 3032 .L161: + 3033 .LSM254: + 3034 0128 FB89 ldd r31,Y+19 + 3035 012a F1FF sbrs r31,1 + 3036 012c 00C0 rjmp .L162 + 3037 .LSM255: + 3038 012e 44E0 ldi r20,lo8(4) + 3039 0130 842E mov r8,r20 + 3040 0132 912C mov r9,__zero_reg__ + 3041 .LVL304: + 3042 0134 800E add r8,r16 + 3043 0136 911E adc r9,r17 + 3044 0138 D801 movw r26,r16 + 3045 013a ED90 ld r14,X+ + 3046 013c FD90 ld r15,X+ + 3047 013e 0D91 ld r16,X+ + 3048 0140 1C91 ld r17,X + 3049 .LSM256: + 3050 0142 E436 cpi r30,lo8(100) + 3051 0144 01F4 brne .L164 + 3052 .LVL305: + 3053 0146 00C0 rjmp .L163 + 3054 .L162: + 3055 0148 C801 movw r24,r16 + 3056 014a 0296 adiw r24,2 + 3057 .LVL306: + 3058 014c D801 movw r26,r16 + 3059 014e 6D91 ld r22,X+ + 3060 0150 7C91 ld r23,X + 3061 .LSM257: + 3062 0152 E436 cpi r30,lo8(100) + 3063 0154 01F4 brne .L165 + 3064 .LVL307: + 3065 0156 4C01 movw r8,r24 + 3066 0158 7B01 movw r14,r22 + 3067 015a 0027 clr r16 + 3068 015c F7FC sbrc r15,7 + 3069 015e 0095 com r16 + 3070 0160 102F mov r17,r16 + 3071 0162 00C0 rjmp .L163 + 3072 .LVL308: + 3073 .L165: + 3074 0164 4C01 movw r8,r24 + 3075 0166 7B01 movw r14,r22 + 3076 .LVL309: + 3077 0168 00E0 ldi r16,lo8(0) + 3078 016a 10E0 ldi r17,hi8(0) + 3079 .LVL310: + 3080 016c 00C0 rjmp .L164 + 3081 .LVL311: + 3082 .L163: + 3083 .LSM258: + 3084 016e 17FF sbrs r17,7 + 3085 0170 00C0 rjmp .L164 + 3086 .LSM259: + 3087 0172 1095 com r17 + 3088 0174 0095 com r16 + 3089 0176 F094 com r15 + 3090 0178 E094 com r14 + 3091 017a E11C adc r14,__zero_reg__ + 3092 017c F11C adc r15,__zero_reg__ + 3093 017e 011D adc r16,__zero_reg__ + 3094 0180 111D adc r17,__zero_reg__ + 3095 .LSM260: + 3096 0182 BB89 ldd r27,Y+19 + 3097 0184 B460 ori r27,lo8(4) + 3098 0186 BB8B std Y+19,r27 + 3099 .LVL312: + 3100 .L164: + 3101 .LSM261: + 3102 0188 188A std Y+16,__zero_reg__ + 3103 018a 3FE0 ldi r19,lo8(15) + 3104 018c C32E mov r12,r19 + 3105 018e D12C mov r13,__zero_reg__ + 3106 .LSM262: + 3107 0190 222E mov r2,r18 + 3108 0192 3324 clr r3 + 3109 0194 4424 clr r4 + 3110 0196 5524 clr r5 + 3111 .LVL313: + 3112 .L169: + 3113 0198 C801 movw r24,r16 + 3114 019a B701 movw r22,r14 + 3115 019c A201 movw r20,r4 + 3116 019e 9101 movw r18,r2 + 3117 .LVL314: + 3118 01a0 0E94 0000 call __udivmodsi4 + 3119 .LVL315: + 3120 01a4 862F mov r24,r22 + 3121 .LVL316: + 3122 01a6 805D subi r24,lo8(-(48)) + 3123 .LSM263: + 3124 01a8 8A33 cpi r24,lo8(58) + 3125 01aa 00F0 brlo .L166 + 3126 01ac 895F subi r24,lo8(-(7)) + 3127 .L166: + 3128 .LSM264: + 3129 01ae 0894 sec + 3130 01b0 C108 sbc r12,__zero_reg__ + 3131 01b2 D108 sbc r13,__zero_reg__ + 3132 01b4 E1E0 ldi r30,lo8(1) + 3133 01b6 F0E0 ldi r31,hi8(1) + 3134 01b8 EC0F add r30,r28 + 3135 01ba FD1F adc r31,r29 + 3136 01bc EC0D add r30,r12 + 3137 01be FD1D adc r31,r13 + 3138 01c0 8083 st Z,r24 + 3139 .LSM265: + 3140 01c2 C114 cp r12,__zero_reg__ + 3141 01c4 D104 cpc r13,__zero_reg__ + 3142 01c6 01F0 breq .L168 + 3143 .LSM266: + 3144 01c8 C801 movw r24,r16 + 3145 01ca B701 movw r22,r14 + 3146 01cc A201 movw r20,r4 + 3147 01ce 9101 movw r18,r2 + 3148 01d0 0E94 0000 call __udivmodsi4 + 3149 01d4 C901 movw r24,r18 + 3150 .LVL317: + 3151 01d6 DA01 movw r26,r20 + 3152 01d8 7C01 movw r14,r24 + 3153 01da 8D01 movw r16,r26 + 3154 .LSM267: + 3155 01dc E114 cp r14,__zero_reg__ + 3156 01de F104 cpc r15,__zero_reg__ + 3157 01e0 0105 cpc r16,__zero_reg__ + 3158 01e2 1105 cpc r17,__zero_reg__ + 3159 01e4 01F4 brne .L169 + 3160 .LSM268: + 3161 01e6 EB89 ldd r30,Y+19 + 3162 01e8 E2FF sbrs r30,2 + 3163 01ea 00C0 rjmp .L168 + 3164 01ec 0894 sec + 3165 01ee C108 sbc r12,__zero_reg__ + 3166 01f0 D108 sbc r13,__zero_reg__ + 3167 01f2 E1E0 ldi r30,lo8(1) + 3168 01f4 F0E0 ldi r31,hi8(1) + 3169 01f6 EC0F add r30,r28 + 3170 01f8 FD1F adc r31,r29 + 3171 01fa EC0D add r30,r12 + 3172 01fc FD1D adc r31,r13 + 3173 01fe 4DE2 ldi r20,lo8(45) + 3174 0200 4083 st Z,r20 + 3175 .LVL318: + 3176 .L168: + 3177 .LSM269: + 3178 0202 8FE0 ldi r24,lo8(15) + 3179 0204 90E0 ldi r25,hi8(15) + 3180 .LVL319: + 3181 0206 8A19 sub r24,r10 + 3182 0208 9B09 sbc r25,r11 + 3183 020a 0894 sec + 3184 020c C108 sbc r12,__zero_reg__ + 3185 020e D108 sbc r13,__zero_reg__ + 3186 0210 E1E0 ldi r30,lo8(1) + 3187 0212 F0E0 ldi r31,hi8(1) + 3188 0214 EC0F add r30,r28 + 3189 0216 FD1F adc r31,r29 + 3190 0218 EC0D add r30,r12 + 3191 021a FD1D adc r31,r13 + 3192 021c 0894 sec + 3193 021e C11C adc r12,__zero_reg__ + 3194 0220 D11C adc r13,__zero_reg__ + 3195 .LSM270: + 3196 0222 AB89 ldd r26,Y+19 + 3197 0224 2A2F mov r18,r26 + 3198 0226 30E0 ldi r19,lo8(0) + 3199 0228 2170 andi r18,lo8(1) + 3200 022a 3070 andi r19,hi8(1) + 3201 022c 00C0 rjmp .L170 + 3202 .L174: + 3203 022e 0894 sec + 3204 0230 C108 sbc r12,__zero_reg__ + 3205 0232 D108 sbc r13,__zero_reg__ + 3206 0234 2115 cp r18,__zero_reg__ + 3207 0236 3105 cpc r19,__zero_reg__ + 3208 0238 01F4 brne .L171 + 3209 023a 40E2 ldi r20,lo8(32) + 3210 023c 00C0 rjmp .L172 + 3211 .L171: + 3212 023e 40E3 ldi r20,lo8(48) + 3213 .L172: + 3214 0240 4083 st Z,r20 + 3215 0242 3197 sbiw r30,1 + 3216 .L170: + 3217 0244 C114 cp r12,__zero_reg__ + 3218 0246 D104 cpc r13,__zero_reg__ + 3219 0248 01F0 breq .L173 + 3220 024a 8C15 cp r24,r12 + 3221 024c 9D05 cpc r25,r13 + 3222 024e 04F0 brlt .L174 + 3223 .L173: + 3224 .LSM271: + 3225 0250 81E0 ldi r24,lo8(1) + 3226 0252 90E0 ldi r25,hi8(1) + 3227 .LVL320: + 3228 0254 8C0F add r24,r28 + 3229 0256 9D1F adc r25,r29 + 3230 0258 8C0D add r24,r12 + 3231 025a 9D1D adc r25,r13 + 3232 .LVL321: + 3233 .L180: + 3234 025c 68A5 ldd r22,Y+40 + 3235 025e 79A5 ldd r23,Y+41 + 3236 0260 0E94 0000 call f_puts + 3237 .LVL322: + 3238 0264 9C01 movw r18,r24 + 3239 .LVL323: + 3240 .L152: + 3241 .LSM272: + 3242 0266 E989 ldd r30,Y+17 + 3243 0268 FA89 ldd r31,Y+18 + 3244 026a E20F add r30,r18 + 3245 026c F31F adc r31,r19 + 3246 026e FA8B std Y+18,r31 + 3247 0270 E98B std Y+17,r30 + 3248 .LVL324: + 3249 0272 FFEF ldi r31,hi8(-1) + 3250 0274 2F3F cpi r18,lo8(-1) + 3251 0276 3F07 cpc r19,r31 + 3252 0278 01F0 breq .L175 + 3253 027a 8401 movw r16,r8 + 3254 .LVL325: + 3255 027c 00C0 rjmp .L176 + 3256 .LVL326: + 3257 .L149: + 3258 .LSM273: + 3259 027e 4FEF ldi r20,hi8(-1) + 3260 0280 2F3F cpi r18,lo8(-1) + 3261 0282 3407 cpc r19,r20 + 3262 0284 01F0 breq .L175 + 3263 0286 2989 ldd r18,Y+17 + 3264 0288 3A89 ldd r19,Y+18 + 3265 .LVL327: + 3266 .L175: + 3267 .LSM274: + 3268 028a C901 movw r24,r18 + 3269 .LVL328: + 3270 /* epilogue start */ + 3271 028c 6396 adiw r28,19 + 3272 028e 0FB6 in __tmp_reg__,__SREG__ + 3273 0290 F894 cli + 3274 0292 DEBF out __SP_H__,r29 + 3275 0294 0FBE out __SREG__,__tmp_reg__ + 3276 0296 CDBF out __SP_L__,r28 + 3277 0298 CF91 pop r28 + 3278 029a DF91 pop r29 + 3279 029c 1F91 pop r17 + 3280 029e 0F91 pop r16 + 3281 .LVL329: + 3282 02a0 FF90 pop r15 + 3283 02a2 EF90 pop r14 + 3284 .LVL330: + 3285 02a4 DF90 pop r13 + 3286 02a6 CF90 pop r12 + 3287 .LVL331: + 3288 02a8 BF90 pop r11 + 3289 02aa AF90 pop r10 + 3290 .LVL332: + 3291 02ac 9F90 pop r9 + 3292 02ae 8F90 pop r8 + 3293 .LVL333: + 3294 02b0 7F90 pop r7 + 3295 02b2 6F90 pop r6 + 3296 .LVL334: + 3297 02b4 5F90 pop r5 + 3298 02b6 4F90 pop r4 + 3299 02b8 3F90 pop r3 + 3300 02ba 2F90 pop r2 + 3301 02bc 0895 ret + 3302 .LFE82: + 3304 .section .text.dir_next,"ax",@progbits + 3306 dir_next: + 3307 .LFB64: + 3308 .LSM275: + 3309 .LVL335: + 3310 0000 8F92 push r8 + 3311 0002 9F92 push r9 + 3312 0004 AF92 push r10 + 3313 0006 BF92 push r11 + 3314 0008 CF92 push r12 + 3315 000a DF92 push r13 + 3316 000c EF92 push r14 + 3317 000e FF92 push r15 + 3318 0010 0F93 push r16 + 3319 0012 1F93 push r17 + 3320 0014 CF93 push r28 + 3321 0016 DF93 push r29 + 3322 /* prologue: function */ + 3323 /* frame size = 0 */ + 3324 0018 EC01 movw r28,r24 + 3325 001a 162F mov r17,r22 + 3326 .LSM276: + 3327 001c AC80 ldd r10,Y+4 + 3328 001e BD80 ldd r11,Y+5 + 3329 .LVL336: + 3330 0020 0894 sec + 3331 0022 A11C adc r10,__zero_reg__ + 3332 0024 B11C adc r11,__zero_reg__ + 3333 .LSM277: + 3334 0026 A114 cp r10,__zero_reg__ + 3335 0028 B104 cpc r11,__zero_reg__ + 3336 002a 01F4 brne .+2 + 3337 002c 00C0 rjmp .L182 + 3338 .LVL337: + 3339 002e 8E85 ldd r24,Y+14 + 3340 0030 9F85 ldd r25,Y+15 + 3341 0032 A889 ldd r26,Y+16 + 3342 0034 B989 ldd r27,Y+17 + 3343 0036 0097 sbiw r24,0 + 3344 0038 A105 cpc r26,__zero_reg__ + 3345 003a B105 cpc r27,__zero_reg__ + 3346 003c 01F4 brne .+2 + 3347 003e 00C0 rjmp .L182 + 3348 .LSM278: + 3349 0040 0FE0 ldi r16,lo8(15) + 3350 0042 802E mov r8,r16 + 3351 0044 912C mov r9,__zero_reg__ + 3352 0046 8A20 and r8,r10 + 3353 0048 9B20 and r9,r11 + 3354 004a 8114 cp r8,__zero_reg__ + 3355 004c 9104 cpc r9,__zero_reg__ + 3356 004e 01F0 breq .+2 + 3357 0050 00C0 rjmp .L183 + 3358 .LSM279: + 3359 0052 0196 adiw r24,1 + 3360 0054 A11D adc r26,__zero_reg__ + 3361 0056 B11D adc r27,__zero_reg__ + 3362 0058 8E87 std Y+14,r24 + 3363 005a 9F87 std Y+15,r25 + 3364 005c A88B std Y+16,r26 + 3365 005e B98B std Y+17,r27 + 3366 .LSM280: + 3367 0060 4A85 ldd r20,Y+10 + 3368 0062 5B85 ldd r21,Y+11 + 3369 0064 6C85 ldd r22,Y+12 + 3370 0066 7D85 ldd r23,Y+13 + 3371 0068 E881 ld r30,Y + 3372 006a F981 ldd r31,Y+1 + 3373 006c 4115 cp r20,__zero_reg__ + 3374 006e 5105 cpc r21,__zero_reg__ + 3375 0070 6105 cpc r22,__zero_reg__ + 3376 0072 7105 cpc r23,__zero_reg__ + 3377 0074 01F4 brne .L184 + 3378 .LSM281: + 3379 0076 8085 ldd r24,Z+8 + 3380 0078 9185 ldd r25,Z+9 + 3381 007a A816 cp r10,r24 + 3382 007c B906 cpc r11,r25 + 3383 007e 00F4 brsh .+2 + 3384 0080 00C0 rjmp .L183 + 3385 0082 00C0 rjmp .L182 + 3386 .L184: + 3387 .LSM282: + 3388 0084 8281 ldd r24,Z+2 + 3389 0086 90E0 ldi r25,lo8(0) + 3390 0088 0197 sbiw r24,1 + 3391 008a 9501 movw r18,r10 + 3392 008c B4E0 ldi r27,4 + 3393 008e 3695 1: lsr r19 + 3394 0090 2795 ror r18 + 3395 0092 BA95 dec r27 + 3396 0094 01F4 brne 1b + 3397 0096 8223 and r24,r18 + 3398 0098 9323 and r25,r19 + 3399 009a 892B or r24,r25 + 3400 009c 01F0 breq .+2 + 3401 009e 00C0 rjmp .L183 + 3402 .LSM283: + 3403 00a0 CF01 movw r24,r30 + 3404 00a2 0E94 0000 call get_fat + 3405 00a6 6B01 movw r12,r22 + 3406 00a8 7C01 movw r14,r24 + 3407 .LVL338: + 3408 .LSM284: + 3409 00aa 82E0 ldi r24,lo8(2) + 3410 00ac C816 cp r12,r24 + 3411 00ae D104 cpc r13,__zero_reg__ + 3412 00b0 E104 cpc r14,__zero_reg__ + 3413 00b2 F104 cpc r15,__zero_reg__ + 3414 00b4 00F4 brsh .+2 + 3415 00b6 00C0 rjmp .L185 + 3416 .LSM285: + 3417 00b8 9FEF ldi r25,lo8(-1) + 3418 00ba C916 cp r12,r25 + 3419 00bc 9FEF ldi r25,hi8(-1) + 3420 00be D906 cpc r13,r25 + 3421 00c0 9FEF ldi r25,hlo8(-1) + 3422 00c2 E906 cpc r14,r25 + 3423 00c4 9FEF ldi r25,hhi8(-1) + 3424 00c6 F906 cpc r15,r25 + 3425 00c8 01F4 brne .+2 + 3426 00ca 00C0 rjmp .L186 + 3427 .LSM286: + 3428 00cc E881 ld r30,Y + 3429 00ce F981 ldd r31,Y+1 + 3430 00d0 828D ldd r24,Z+26 + 3431 00d2 938D ldd r25,Z+27 + 3432 00d4 A48D ldd r26,Z+28 + 3433 00d6 B58D ldd r27,Z+29 + 3434 00d8 C816 cp r12,r24 + 3435 00da D906 cpc r13,r25 + 3436 00dc EA06 cpc r14,r26 + 3437 00de FB06 cpc r15,r27 + 3438 00e0 00F4 brsh .+2 + 3439 00e2 00C0 rjmp .L187 + 3440 .LBB3: + 3441 .LSM287: + 3442 00e4 1123 tst r17 + 3443 00e6 01F4 brne .+2 + 3444 00e8 00C0 rjmp .L182 + 3445 .LSM288: + 3446 00ea 4A85 ldd r20,Y+10 + 3447 00ec 5B85 ldd r21,Y+11 + 3448 00ee 6C85 ldd r22,Y+12 + 3449 00f0 7D85 ldd r23,Y+13 + 3450 00f2 CF01 movw r24,r30 + 3451 00f4 0E94 0000 call create_chain + 3452 00f8 6B01 movw r12,r22 + 3453 00fa 7C01 movw r14,r24 + 3454 .LSM289: + 3455 00fc 6115 cp r22,__zero_reg__ + 3456 00fe 7105 cpc r23,__zero_reg__ + 3457 0100 8105 cpc r24,__zero_reg__ + 3458 0102 9105 cpc r25,__zero_reg__ + 3459 0104 01F4 brne .L188 + 3460 .LVL339: + 3461 0106 87E0 ldi r24,lo8(7) + 3462 0108 00C0 rjmp .L189 + 3463 .L188: + 3464 .LSM290: + 3465 010a 6130 cpi r22,lo8(1) + 3466 010c 7105 cpc r23,__zero_reg__ + 3467 010e 8105 cpc r24,__zero_reg__ + 3468 0110 9105 cpc r25,__zero_reg__ + 3469 0112 01F4 brne .+2 + 3470 0114 00C0 rjmp .L185 + 3471 .LSM291: + 3472 0116 6F3F cpi r22,lo8(-1) + 3473 0118 FFEF ldi r31,hi8(-1) + 3474 011a 7F07 cpc r23,r31 + 3475 011c FFEF ldi r31,hlo8(-1) + 3476 011e 8F07 cpc r24,r31 + 3477 0120 FFEF ldi r31,hhi8(-1) + 3478 0122 9F07 cpc r25,r31 + 3479 0124 01F4 brne .+2 + 3480 0126 00C0 rjmp .L186 + 3481 .LSM292: + 3482 0128 8881 ld r24,Y + 3483 012a 9981 ldd r25,Y+1 + 3484 012c 40E0 ldi r20,lo8(0) + 3485 012e 50E0 ldi r21,hi8(0) + 3486 0130 60E0 ldi r22,hlo8(0) + 3487 0132 70E0 ldi r23,hhi8(0) + 3488 0134 0E94 0000 call move_window + 3489 .LVL340: + 3490 0138 8823 tst r24 + 3491 013a 01F0 breq .+2 + 3492 013c 00C0 rjmp .L186 + 3493 .LSM293: + 3494 013e 8881 ld r24,Y + 3495 0140 9981 ldd r25,Y+1 + 3496 0142 8E96 adiw r24,46 + 3497 0144 60E0 ldi r22,lo8(0) + 3498 0146 70E0 ldi r23,hi8(0) + 3499 0148 40E0 ldi r20,lo8(512) + 3500 014a 52E0 ldi r21,hi8(512) + 3501 014c 0E94 0000 call mem_set + 3502 .LSM294: + 3503 0150 0881 ld r16,Y + 3504 0152 1981 ldd r17,Y+1 + 3505 0154 C801 movw r24,r16 + 3506 0156 B701 movw r22,r14 + 3507 0158 A601 movw r20,r12 + 3508 015a 0E94 0000 call clust2sect + 3509 015e F801 movw r30,r16 + 3510 0160 62A7 std Z+42,r22 + 3511 0162 73A7 std Z+43,r23 + 3512 0164 84A7 std Z+44,r24 + 3513 0166 95A7 std Z+45,r25 + 3514 0168 00E0 ldi r16,lo8(0) + 3515 .LVL341: + 3516 .LSM295: + 3517 016a 11E0 ldi r17,lo8(1) + 3518 .LVL342: + 3519 016c 00C0 rjmp .L190 + 3520 .L191: + 3521 016e 1483 std Z+4,r17 + 3522 .LSM296: + 3523 0170 8881 ld r24,Y + 3524 0172 9981 ldd r25,Y+1 + 3525 0174 40E0 ldi r20,lo8(0) + 3526 0176 50E0 ldi r21,hi8(0) + 3527 0178 60E0 ldi r22,hlo8(0) + 3528 017a 70E0 ldi r23,hhi8(0) + 3529 017c 0E94 0000 call move_window + 3530 0180 8823 tst r24 + 3531 0182 01F0 breq .+2 + 3532 0184 00C0 rjmp .L186 + 3533 .LSM297: + 3534 0186 E881 ld r30,Y + 3535 0188 F981 ldd r31,Y+1 + 3536 018a 82A5 ldd r24,Z+42 + 3537 018c 93A5 ldd r25,Z+43 + 3538 018e A4A5 ldd r26,Z+44 + 3539 0190 B5A5 ldd r27,Z+45 + 3540 0192 0196 adiw r24,1 + 3541 0194 A11D adc r26,__zero_reg__ + 3542 0196 B11D adc r27,__zero_reg__ + 3543 0198 82A7 std Z+42,r24 + 3544 019a 93A7 std Z+43,r25 + 3545 019c A4A7 std Z+44,r26 + 3546 019e B5A7 std Z+45,r27 + 3547 .LSM298: + 3548 01a0 0F5F subi r16,lo8(-(1)) + 3549 .L190: + 3550 01a2 E881 ld r30,Y + 3551 01a4 F981 ldd r31,Y+1 + 3552 01a6 8281 ldd r24,Z+2 + 3553 01a8 0817 cp r16,r24 + 3554 01aa 00F0 brlo .L191 + 3555 .LSM299: + 3556 01ac 82A5 ldd r24,Z+42 + 3557 01ae 93A5 ldd r25,Z+43 + 3558 01b0 A4A5 ldd r26,Z+44 + 3559 01b2 B5A5 ldd r27,Z+45 + 3560 01b4 801B sub r24,r16 + 3561 01b6 9109 sbc r25,__zero_reg__ + 3562 01b8 A109 sbc r26,__zero_reg__ + 3563 01ba B109 sbc r27,__zero_reg__ + 3564 01bc 82A7 std Z+42,r24 + 3565 01be 93A7 std Z+43,r25 + 3566 01c0 A4A7 std Z+44,r26 + 3567 01c2 B5A7 std Z+45,r27 + 3568 .LVL343: + 3569 .L187: + 3570 .LBE3: + 3571 .LSM300: + 3572 01c4 CA86 std Y+10,r12 + 3573 01c6 DB86 std Y+11,r13 + 3574 01c8 EC86 std Y+12,r14 + 3575 01ca FD86 std Y+13,r15 + 3576 .LSM301: + 3577 01cc 8881 ld r24,Y + 3578 01ce 9981 ldd r25,Y+1 + 3579 01d0 B701 movw r22,r14 + 3580 01d2 A601 movw r20,r12 + 3581 01d4 0E94 0000 call clust2sect + 3582 01d8 6E87 std Y+14,r22 + 3583 01da 7F87 std Y+15,r23 + 3584 01dc 888B std Y+16,r24 + 3585 01de 998B std Y+17,r25 + 3586 .LVL344: + 3587 .L183: + 3588 .LSM302: + 3589 01e0 BD82 std Y+5,r11 + 3590 01e2 AC82 std Y+4,r10 + 3591 .LSM303: + 3592 01e4 A5E0 ldi r26,5 + 3593 01e6 880C 1: lsl r8 + 3594 01e8 991C rol r9 + 3595 01ea AA95 dec r26 + 3596 01ec 01F4 brne 1b + 3597 01ee 8EE2 ldi r24,lo8(46) + 3598 01f0 90E0 ldi r25,hi8(46) + 3599 01f2 880E add r8,r24 + 3600 01f4 991E adc r9,r25 + 3601 01f6 8881 ld r24,Y + 3602 01f8 9981 ldd r25,Y+1 + 3603 01fa 880D add r24,r8 + 3604 01fc 991D adc r25,r9 + 3605 01fe 9B8B std Y+19,r25 + 3606 0200 8A8B std Y+18,r24 + 3607 0202 80E0 ldi r24,lo8(0) + 3608 0204 00C0 rjmp .L189 + 3609 .LVL345: + 3610 .L182: + 3611 .LSM304: + 3612 0206 84E0 ldi r24,lo8(4) + 3613 0208 00C0 rjmp .L189 + 3614 .LVL346: + 3615 .L185: + 3616 020a 82E0 ldi r24,lo8(2) + 3617 020c 00C0 rjmp .L189 + 3618 .LVL347: + 3619 .L186: + 3620 020e 81E0 ldi r24,lo8(1) + 3621 .LVL348: + 3622 .L189: + 3623 /* epilogue start */ + 3624 .LSM305: + 3625 0210 DF91 pop r29 + 3626 0212 CF91 pop r28 + 3627 .LVL349: + 3628 0214 1F91 pop r17 + 3629 .LVL350: + 3630 0216 0F91 pop r16 + 3631 .LVL351: + 3632 0218 FF90 pop r15 + 3633 021a EF90 pop r14 + 3634 021c DF90 pop r13 + 3635 021e CF90 pop r12 + 3636 .LVL352: + 3637 0220 BF90 pop r11 + 3638 0222 AF90 pop r10 + 3639 .LVL353: + 3640 0224 9F90 pop r9 + 3641 0226 8F90 pop r8 + 3642 0228 0895 ret + 3643 .LFE64: + 3645 .section .text.f_read,"ax",@progbits + 3646 .global f_read + 3648 f_read: + 3649 .LFB74: + 3650 .LSM306: + 3651 .LVL354: + 3652 0000 2F92 push r2 + 3653 0002 3F92 push r3 + 3654 0004 5F92 push r5 + 3655 0006 6F92 push r6 + 3656 0008 7F92 push r7 + 3657 000a 8F92 push r8 + 3658 000c 9F92 push r9 + 3659 000e AF92 push r10 + 3660 0010 BF92 push r11 + 3661 0012 CF92 push r12 + 3662 0014 DF92 push r13 + 3663 0016 EF92 push r14 + 3664 0018 FF92 push r15 + 3665 001a 0F93 push r16 + 3666 001c 1F93 push r17 + 3667 001e CF93 push r28 + 3668 0020 DF93 push r29 + 3669 /* prologue: function */ + 3670 /* frame size = 0 */ + 3671 0022 EC01 movw r28,r24 + 3672 0024 162F mov r17,r22 + 3673 0026 072F mov r16,r23 + 3674 .LVL355: + 3675 0028 4A01 movw r8,r20 + 3676 002a 1901 movw r2,r18 + 3677 .LSM307: + 3678 002c F901 movw r30,r18 + 3679 002e 1182 std Z+1,__zero_reg__ + 3680 0030 1082 st Z,__zero_reg__ + 3681 .LSM308: + 3682 0032 6A81 ldd r22,Y+2 + 3683 0034 7B81 ldd r23,Y+3 + 3684 .LVL356: + 3685 0036 8881 ld r24,Y + 3686 0038 9981 ldd r25,Y+1 + 3687 .LVL357: + 3688 003a 0E94 0000 call validate + 3689 .LVL358: + 3690 003e 582E mov r5,r24 + 3691 .LVL359: + 3692 .LSM309: + 3693 0040 8823 tst r24 + 3694 0042 01F0 breq .+2 + 3695 0044 00C0 rjmp .L194 + 3696 .LVL360: + 3697 .LSM310: + 3698 0046 8C81 ldd r24,Y+4 + 3699 .LVL361: + 3700 0048 87FD sbrc r24,7 + 3701 004a 00C0 rjmp .L215 + 3702 .L195: + 3703 .LSM311: + 3704 004c 80FD sbrc r24,0 + 3705 004e 00C0 rjmp .L196 + 3706 0050 47E0 ldi r20,lo8(7) + 3707 0052 542E mov r5,r20 + 3708 0054 00C0 rjmp .L194 + 3709 .L196: + 3710 .LSM312: + 3711 0056 2A85 ldd r18,Y+10 + 3712 0058 3B85 ldd r19,Y+11 + 3713 005a 4C85 ldd r20,Y+12 + 3714 005c 5D85 ldd r21,Y+13 + 3715 .LVL362: + 3716 005e 8E81 ldd r24,Y+6 + 3717 0060 9F81 ldd r25,Y+7 + 3718 0062 A885 ldd r26,Y+8 + 3719 0064 B985 ldd r27,Y+9 + 3720 0066 281B sub r18,r24 + 3721 0068 390B sbc r19,r25 + 3722 006a 4A0B sbc r20,r26 + 3723 006c 5B0B sbc r21,r27 + 3724 .LSM313: + 3725 006e C401 movw r24,r8 + 3726 0070 A0E0 ldi r26,lo8(0) + 3727 0072 B0E0 ldi r27,hi8(0) + 3728 .LVL363: + 3729 0074 2817 cp r18,r24 + 3730 0076 3907 cpc r19,r25 + 3731 0078 4A07 cpc r20,r26 + 3732 007a 5B07 cpc r21,r27 + 3733 007c 00F4 brsh .L197 + 3734 .LVL364: + 3735 007e 4901 movw r8,r18 + 3736 .LVL365: + 3737 .L197: + 3738 .LSM314: + 3739 0080 812F mov r24,r17 + 3740 .LVL366: + 3741 0082 902F mov r25,r16 + 3742 .LVL367: + 3743 0084 9C01 movw r18,r24 + 3744 .LVL368: + 3745 0086 3901 movw r6,r18 + 3746 .LVL369: + 3747 0088 00C0 rjmp .L198 + 3748 .LVL370: + 3749 .L213: + 3750 .LSM315: + 3751 008a 2E81 ldd r18,Y+6 + 3752 008c 3F81 ldd r19,Y+7 + 3753 008e 4885 ldd r20,Y+8 + 3754 0090 5985 ldd r21,Y+9 + 3755 0092 DA01 movw r26,r20 + 3756 0094 C901 movw r24,r18 + 3757 0096 9170 andi r25,hi8(511) + 3758 0098 A070 andi r26,hlo8(511) + 3759 009a B070 andi r27,hhi8(511) + 3760 009c 0097 sbiw r24,0 + 3761 009e A105 cpc r26,__zero_reg__ + 3762 00a0 B105 cpc r27,__zero_reg__ + 3763 00a2 01F0 breq .+2 + 3764 00a4 00C0 rjmp .L199 + 3765 .LSM316: + 3766 00a6 E881 ld r30,Y + 3767 00a8 F981 ldd r31,Y+1 + 3768 00aa 9D81 ldd r25,Y+5 + 3769 .LVL371: + 3770 00ac 8281 ldd r24,Z+2 + 3771 00ae 9817 cp r25,r24 + 3772 00b0 00F0 brlo .L200 + 3773 .LSM317: + 3774 00b2 2115 cp r18,__zero_reg__ + 3775 00b4 3105 cpc r19,__zero_reg__ + 3776 00b6 4105 cpc r20,__zero_reg__ + 3777 00b8 5105 cpc r21,__zero_reg__ + 3778 00ba 01F4 brne .L201 + 3779 00bc 6E85 ldd r22,Y+14 + 3780 00be 7F85 ldd r23,Y+15 + 3781 00c0 8889 ldd r24,Y+16 + 3782 00c2 9989 ldd r25,Y+17 + 3783 .LVL372: + 3784 00c4 00C0 rjmp .L202 + 3785 .LVL373: + 3786 .L201: + 3787 00c6 4A89 ldd r20,Y+18 + 3788 00c8 5B89 ldd r21,Y+19 + 3789 00ca 6C89 ldd r22,Y+20 + 3790 00cc 7D89 ldd r23,Y+21 + 3791 00ce CF01 movw r24,r30 + 3792 00d0 0E94 0000 call get_fat + 3793 .LVL374: + 3794 .L202: + 3795 .LSM318: + 3796 00d4 6230 cpi r22,lo8(2) + 3797 00d6 7105 cpc r23,__zero_reg__ + 3798 00d8 8105 cpc r24,__zero_reg__ + 3799 00da 9105 cpc r25,__zero_reg__ + 3800 00dc 00F4 brsh .L203 + 3801 .LVL375: + 3802 .L217: + 3803 00de 8C81 ldd r24,Y+4 + 3804 00e0 8068 ori r24,lo8(-128) + 3805 00e2 8C83 std Y+4,r24 + 3806 .L215: + 3807 00e4 32E0 ldi r19,lo8(2) + 3808 00e6 532E mov r5,r19 + 3809 00e8 00C0 rjmp .L194 + 3810 .LVL376: + 3811 .L203: + 3812 .LSM319: + 3813 00ea 6F3F cpi r22,lo8(-1) + 3814 00ec FFEF ldi r31,hi8(-1) + 3815 00ee 7F07 cpc r23,r31 + 3816 00f0 FFEF ldi r31,hlo8(-1) + 3817 00f2 8F07 cpc r24,r31 + 3818 00f4 FFEF ldi r31,hhi8(-1) + 3819 00f6 9F07 cpc r25,r31 + 3820 00f8 01F4 brne .+2 + 3821 00fa 00C0 rjmp .L216 + 3822 .L204: + 3823 .LSM320: + 3824 00fc 6A8B std Y+18,r22 + 3825 00fe 7B8B std Y+19,r23 + 3826 0100 8C8B std Y+20,r24 + 3827 0102 9D8B std Y+21,r25 + 3828 .LSM321: + 3829 0104 1D82 std Y+5,__zero_reg__ + 3830 .L200: + 3831 .LSM322: + 3832 0106 0881 ld r16,Y + 3833 0108 1981 ldd r17,Y+1 + 3834 .LVL377: + 3835 010a 4A89 ldd r20,Y+18 + 3836 010c 5B89 ldd r21,Y+19 + 3837 010e 6C89 ldd r22,Y+20 + 3838 0110 7D89 ldd r23,Y+21 + 3839 0112 C801 movw r24,r16 + 3840 0114 0E94 0000 call clust2sect + 3841 .LVL378: + 3842 .LSM323: + 3843 0118 6115 cp r22,__zero_reg__ + 3844 011a 7105 cpc r23,__zero_reg__ + 3845 011c 8105 cpc r24,__zero_reg__ + 3846 011e 9105 cpc r25,__zero_reg__ + 3847 0120 01F0 breq .L217 + 3848 .LVL379: + 3849 .L205: + 3850 .LSM324: + 3851 0122 3D81 ldd r19,Y+5 + 3852 0124 5B01 movw r10,r22 + 3853 0126 6C01 movw r12,r24 + 3854 0128 A30E add r10,r19 + 3855 012a B11C adc r11,__zero_reg__ + 3856 012c C11C adc r12,__zero_reg__ + 3857 012e D11C adc r13,__zero_reg__ + 3858 .LVL380: + 3859 .LSM325: + 3860 0130 7401 movw r14,r8 + 3861 0132 EF2C mov r14,r15 + 3862 0134 FF24 clr r15 + 3863 0136 E694 lsr r14 + 3864 .LSM326: + 3865 0138 E114 cp r14,__zero_reg__ + 3866 013a F104 cpc r15,__zero_reg__ + 3867 013c 01F4 brne .+2 + 3868 013e 00C0 rjmp .L206 + 3869 .LSM327: + 3870 0140 F801 movw r30,r16 + 3871 0142 2281 ldd r18,Z+2 + 3872 0144 432F mov r20,r19 + 3873 0146 50E0 ldi r21,lo8(0) + 3874 0148 C701 movw r24,r14 + 3875 014a 840F add r24,r20 + 3876 014c 951F adc r25,r21 + 3877 014e 30E0 ldi r19,lo8(0) + 3878 0150 2817 cp r18,r24 + 3879 0152 3907 cpc r19,r25 + 3880 0154 00F4 brsh .L207 + 3881 .LSM328: + 3882 0156 7901 movw r14,r18 + 3883 0158 E41A sub r14,r20 + 3884 015a F50A sbc r15,r21 + 3885 .L207: + 3886 .LSM329: + 3887 015c F801 movw r30,r16 + 3888 015e 8181 ldd r24,Z+1 + 3889 0160 B301 movw r22,r6 + 3890 0162 A601 movw r20,r12 + 3891 0164 9501 movw r18,r10 + 3892 0166 0E2D mov r16,r14 + 3893 0168 0E94 0000 call disk_read + 3894 016c 8823 tst r24 + 3895 016e 01F0 breq .+2 + 3896 0170 00C0 rjmp .L216 + 3897 .L208: + 3898 .LSM330: + 3899 0172 E881 ld r30,Y + 3900 0174 F981 ldd r31,Y+1 + 3901 0176 8481 ldd r24,Z+4 + 3902 0178 8823 tst r24 + 3903 017a 01F0 breq .L209 + 3904 017c 22A5 ldd r18,Z+42 + 3905 017e 33A5 ldd r19,Z+43 + 3906 0180 44A5 ldd r20,Z+44 + 3907 0182 55A5 ldd r21,Z+45 + 3908 0184 2A19 sub r18,r10 + 3909 0186 3B09 sbc r19,r11 + 3910 0188 4C09 sbc r20,r12 + 3911 018a 5D09 sbc r21,r13 + 3912 018c C701 movw r24,r14 + 3913 018e A0E0 ldi r26,lo8(0) + 3914 0190 B0E0 ldi r27,hi8(0) + 3915 .LVL381: + 3916 0192 2817 cp r18,r24 + 3917 0194 3907 cpc r19,r25 + 3918 0196 4A07 cpc r20,r26 + 3919 0198 5B07 cpc r21,r27 + 3920 019a 00F4 brsh .L209 + 3921 .LVL382: + 3922 .LSM331: + 3923 019c 99E0 ldi r25,9 + 3924 019e 220F 1: lsl r18 + 3925 01a0 331F rol r19 + 3926 01a2 441F rol r20 + 3927 01a4 551F rol r21 + 3928 01a6 9A95 dec r25 + 3929 01a8 01F4 brne 1b + 3930 01aa C301 movw r24,r6 + 3931 .LVL383: + 3932 01ac 820F add r24,r18 + 3933 01ae 931F adc r25,r19 + 3934 01b0 BE96 adiw r30,46 + 3935 01b2 BF01 movw r22,r30 + 3936 01b4 40E0 ldi r20,lo8(512) + 3937 01b6 52E0 ldi r21,hi8(512) + 3938 01b8 0E94 0000 call mem_cpy + 3939 .LVL384: + 3940 .L209: + 3941 .LSM332: + 3942 01bc 8D81 ldd r24,Y+5 + 3943 01be 8E0D add r24,r14 + 3944 01c0 8D83 std Y+5,r24 + 3945 .LSM333: + 3946 01c2 8701 movw r16,r14 + 3947 .LVL385: + 3948 01c4 102F mov r17,r16 + 3949 01c6 0027 clr r16 + 3950 01c8 110F lsl r17 + 3951 01ca 00C0 rjmp .L210 + 3952 .LVL386: + 3953 .L206: + 3954 .LSM334: + 3955 01cc AE8A std Y+22,r10 + 3956 01ce BF8A std Y+23,r11 + 3957 01d0 C88E std Y+24,r12 + 3958 01d2 D98E std Y+25,r13 + 3959 .LSM335: + 3960 01d4 3F5F subi r19,lo8(-(1)) + 3961 01d6 3D83 std Y+5,r19 + 3962 .LVL387: + 3963 .L199: + 3964 .LSM336: + 3965 01d8 EE80 ldd r14,Y+6 + 3966 01da FF80 ldd r15,Y+7 + 3967 01dc 0885 ldd r16,Y+8 + 3968 01de 1985 ldd r17,Y+9 + 3969 .LVL388: + 3970 .LSM337: + 3971 01e0 4E89 ldd r20,Y+22 + 3972 01e2 5F89 ldd r21,Y+23 + 3973 01e4 688D ldd r22,Y+24 + 3974 01e6 798D ldd r23,Y+25 + 3975 01e8 8881 ld r24,Y + 3976 01ea 9981 ldd r25,Y+1 + 3977 01ec 0E94 0000 call move_window + 3978 .LVL389: + 3979 01f0 8823 tst r24 + 3980 01f2 01F0 breq .L211 + 3981 .LVL390: + 3982 .L216: + 3983 .LSM338: + 3984 01f4 8C81 ldd r24,Y+4 + 3985 01f6 8068 ori r24,lo8(-128) + 3986 01f8 8C83 std Y+4,r24 + 3987 01fa 5524 clr r5 + 3988 01fc 5394 inc r5 + 3989 01fe 00C0 rjmp .L194 + 3990 .LVL391: + 3991 .L211: + 3992 .LSM339: + 3993 0200 C701 movw r24,r14 + 3994 0202 9170 andi r25,hi8(511) + 3995 0204 20E0 ldi r18,lo8(512) + 3996 0206 32E0 ldi r19,hi8(512) + 3997 0208 281B sub r18,r24 + 3998 020a 390B sbc r19,r25 + 3999 020c 8401 movw r16,r8 + 4000 .LVL392: + 4001 020e 2815 cp r18,r8 + 4002 0210 3905 cpc r19,r9 + 4003 0212 00F4 brsh .L212 + 4004 .LVL393: + 4005 0214 8901 movw r16,r18 + 4006 .L212: + 4007 .LSM340: + 4008 0216 8E81 ldd r24,Y+6 + 4009 0218 9F81 ldd r25,Y+7 + 4010 021a 9170 andi r25,hi8(511) + 4011 021c 8E96 adiw r24,46 + 4012 021e 6881 ld r22,Y + 4013 0220 7981 ldd r23,Y+1 + 4014 0222 680F add r22,r24 + 4015 0224 791F adc r23,r25 + 4016 0226 C301 movw r24,r6 + 4017 0228 A801 movw r20,r16 + 4018 022a 0E94 0000 call mem_cpy + 4019 .LVL394: + 4020 .L210: + 4021 .LSM341: + 4022 022e 600E add r6,r16 + 4023 0230 711E adc r7,r17 + 4024 0232 C801 movw r24,r16 + 4025 0234 A0E0 ldi r26,lo8(0) + 4026 0236 B0E0 ldi r27,hi8(0) + 4027 .LVL395: + 4028 0238 2E81 ldd r18,Y+6 + 4029 023a 3F81 ldd r19,Y+7 + 4030 023c 4885 ldd r20,Y+8 + 4031 023e 5985 ldd r21,Y+9 + 4032 0240 280F add r18,r24 + 4033 0242 391F adc r19,r25 + 4034 0244 4A1F adc r20,r26 + 4035 0246 5B1F adc r21,r27 + 4036 0248 2E83 std Y+6,r18 + 4037 024a 3F83 std Y+7,r19 + 4038 024c 4887 std Y+8,r20 + 4039 024e 5987 std Y+9,r21 + 4040 0250 F101 movw r30,r2 + 4041 0252 8081 ld r24,Z + 4042 0254 9181 ldd r25,Z+1 + 4043 0256 800F add r24,r16 + 4044 0258 911F adc r25,r17 + 4045 025a 9183 std Z+1,r25 + 4046 025c 8083 st Z,r24 + 4047 025e 801A sub r8,r16 + 4048 0260 910A sbc r9,r17 + 4049 .LVL396: + 4050 .L198: + 4051 .LSM342: + 4052 0262 8114 cp r8,__zero_reg__ + 4053 0264 9104 cpc r9,__zero_reg__ + 4054 0266 01F0 breq .+2 + 4055 0268 00C0 rjmp .L213 + 4056 .LVL397: + 4057 .L194: + 4058 .LSM343: + 4059 026a 852D mov r24,r5 + 4060 /* epilogue start */ + 4061 026c DF91 pop r29 + 4062 026e CF91 pop r28 + 4063 .LVL398: + 4064 0270 1F91 pop r17 + 4065 .LVL399: + 4066 0272 0F91 pop r16 + 4067 .LVL400: + 4068 0274 FF90 pop r15 + 4069 0276 EF90 pop r14 + 4070 .LVL401: + 4071 0278 DF90 pop r13 + 4072 027a CF90 pop r12 + 4073 027c BF90 pop r11 + 4074 027e AF90 pop r10 + 4075 .LVL402: + 4076 0280 9F90 pop r9 + 4077 0282 8F90 pop r8 + 4078 .LVL403: + 4079 0284 7F90 pop r7 + 4080 0286 6F90 pop r6 + 4081 .LVL404: + 4082 0288 5F90 pop r5 + 4083 .LVL405: + 4084 028a 3F90 pop r3 + 4085 028c 2F90 pop r2 + 4086 .LVL406: + 4087 028e 0895 ret + 4088 .LFE74: + 4090 .section .text.f_gets,"ax",@progbits + 4091 .global f_gets + 4093 f_gets: + 4094 .LFB79: + 4095 .LSM344: + 4096 .LVL407: + 4097 0000 6F92 push r6 + 4098 0002 7F92 push r7 + 4099 0004 8F92 push r8 + 4100 0006 9F92 push r9 + 4101 0008 AF92 push r10 + 4102 000a BF92 push r11 + 4103 000c CF92 push r12 + 4104 000e DF92 push r13 + 4105 0010 EF92 push r14 + 4106 0012 FF92 push r15 + 4107 0014 0F93 push r16 + 4108 0016 1F93 push r17 + 4109 0018 DF93 push r29 + 4110 001a CF93 push r28 + 4111 001c 00D0 rcall . + 4112 001e CDB7 in r28,__SP_L__ + 4113 0020 DEB7 in r29,__SP_H__ + 4114 /* prologue: function */ + 4115 /* frame size = 2 */ + 4116 0022 5C01 movw r10,r24 + 4117 0024 6B01 movw r12,r22 + 4118 0026 4A01 movw r8,r20 + 4119 .LSM345: + 4120 0028 8C01 movw r16,r24 + 4121 .LVL408: + 4122 002a EE24 clr r14 + 4123 002c FF24 clr r15 + 4124 .LVL409: + 4125 .LSM346: + 4126 002e 0894 sec + 4127 0030 C108 sbc r12,__zero_reg__ + 4128 0032 D108 sbc r13,__zero_reg__ + 4129 .LSM347: + 4130 0034 3E01 movw r6,r28 + 4131 0036 0894 sec + 4132 0038 611C adc r6,__zero_reg__ + 4133 003a 711C adc r7,__zero_reg__ + 4134 003c 00C0 rjmp .L219 + 4135 .LVL410: + 4136 .L221: + 4137 003e C401 movw r24,r8 + 4138 0040 B801 movw r22,r16 + 4139 .LVL411: + 4140 0042 41E0 ldi r20,lo8(1) + 4141 0044 50E0 ldi r21,hi8(1) + 4142 0046 9301 movw r18,r6 + 4143 0048 0E94 0000 call f_read + 4144 .LSM348: + 4145 004c 8981 ldd r24,Y+1 + 4146 004e 9A81 ldd r25,Y+2 + 4147 0050 0197 sbiw r24,1 + 4148 0052 01F4 brne .L220 + 4149 .LVL412: + 4150 .LSM349: + 4151 0054 0894 sec + 4152 0056 E11C adc r14,__zero_reg__ + 4153 0058 F11C adc r15,__zero_reg__ + 4154 .LSM350: + 4155 005a F801 movw r30,r16 + 4156 005c 8191 ld r24,Z+ + 4157 .LVL413: + 4158 005e 8F01 movw r16,r30 + 4159 0060 8A30 cpi r24,lo8(10) + 4160 0062 01F0 breq .L220 + 4161 .LVL414: + 4162 .L219: + 4163 .LSM351: + 4164 0064 EC14 cp r14,r12 + 4165 0066 FD04 cpc r15,r13 + 4166 0068 04F0 brlt .L221 + 4167 .LVL415: + 4168 .L220: + 4169 .LSM352: + 4170 006a F801 movw r30,r16 + 4171 006c 1082 st Z,__zero_reg__ + 4172 .LSM353: + 4173 006e EF28 or r14,r15 + 4174 0070 01F4 brne .L222 + 4175 0072 AA24 clr r10 + 4176 0074 BB24 clr r11 + 4177 .LVL416: + 4178 .L222: + 4179 .LSM354: + 4180 0076 C501 movw r24,r10 + 4181 .LVL417: + 4182 /* epilogue start */ + 4183 0078 0F90 pop __tmp_reg__ + 4184 007a 0F90 pop __tmp_reg__ + 4185 007c CF91 pop r28 + 4186 007e DF91 pop r29 + 4187 0080 1F91 pop r17 + 4188 0082 0F91 pop r16 + 4189 .LVL418: + 4190 0084 FF90 pop r15 + 4191 0086 EF90 pop r14 + 4192 .LVL419: + 4193 0088 DF90 pop r13 + 4194 008a CF90 pop r12 + 4195 008c BF90 pop r11 + 4196 008e AF90 pop r10 + 4197 0090 9F90 pop r9 + 4198 0092 8F90 pop r8 + 4199 .LVL420: + 4200 0094 7F90 pop r7 + 4201 0096 6F90 pop r6 + 4202 0098 0895 ret + 4203 .LFE79: + 4205 .section .text.check_fs,"ax",@progbits + 4207 check_fs: + 4208 .LFB69: + 4209 .LSM355: + 4210 .LVL421: + 4211 0000 0F93 push r16 + 4212 0002 CF93 push r28 + 4213 0004 DF93 push r29 + 4214 /* prologue: function */ + 4215 /* frame size = 0 */ + 4216 0006 EC01 movw r28,r24 + 4217 0008 9A01 movw r18,r20 + 4218 000a AB01 movw r20,r22 + 4219 .LSM356: + 4220 000c BC01 movw r22,r24 + 4221 000e 625D subi r22,lo8(-(46)) + 4222 0010 7F4F sbci r23,hi8(-(46)) + 4223 0012 8981 ldd r24,Y+1 + 4224 .LVL422: + 4225 0014 01E0 ldi r16,lo8(1) + 4226 0016 0E94 0000 call disk_read + 4227 .LVL423: + 4228 001a 8823 tst r24 + 4229 001c 01F0 breq .L225 + 4230 001e 23E0 ldi r18,lo8(3) + 4231 0020 00C0 rjmp .L226 + 4232 .L225: + 4233 .LSM357: + 4234 0022 C45D subi r28,lo8(-(556)) + 4235 0024 DD4F sbci r29,hi8(-(556)) + 4236 0026 8881 ld r24,Y + 4237 0028 9981 ldd r25,Y+1 + 4238 002a CC52 subi r28,lo8(-(-556)) + 4239 002c D240 sbci r29,hi8(-(-556)) + 4240 002e 8555 subi r24,lo8(-21931) + 4241 0030 9A4A sbci r25,hi8(-21931) + 4242 0032 01F0 breq .L227 + 4243 0034 22E0 ldi r18,lo8(2) + 4244 0036 00C0 rjmp .L226 + 4245 .L227: + 4246 .LSM358: + 4247 0038 CC59 subi r28,lo8(-(100)) + 4248 003a DF4F sbci r29,hi8(-(100)) + 4249 003c 8881 ld r24,Y + 4250 003e 9981 ldd r25,Y+1 + 4251 0040 AA81 ldd r26,Y+2 + 4252 0042 BB81 ldd r27,Y+3 + 4253 0044 C456 subi r28,lo8(-(-100)) + 4254 0046 D040 sbci r29,hi8(-(-100)) + 4255 0048 B070 andi r27,hhi8(16777215) + 4256 004a 8654 subi r24,lo8(5521734) + 4257 004c 9144 sbci r25,hi8(5521734) + 4258 004e A445 sbci r26,hlo8(5521734) + 4259 0050 B040 sbci r27,hhi8(5521734) + 4260 0052 01F4 brne .L228 + 4261 0054 20E0 ldi r18,lo8(0) + 4262 0056 00C0 rjmp .L226 + 4263 .L228: + 4264 0058 20E0 ldi r18,lo8(0) + 4265 005a C058 subi r28,lo8(-(128)) + 4266 005c DF4F sbci r29,hi8(-(128)) + 4267 005e 8881 ld r24,Y + 4268 0060 9981 ldd r25,Y+1 + 4269 0062 AA81 ldd r26,Y+2 + 4270 0064 BB81 ldd r27,Y+3 + 4271 0066 B070 andi r27,hhi8(16777215) + 4272 0068 8654 subi r24,lo8(5521734) + 4273 006a 9144 sbci r25,hi8(5521734) + 4274 006c A445 sbci r26,hlo8(5521734) + 4275 006e B040 sbci r27,hhi8(5521734) + 4276 0070 01F0 breq .L226 + 4277 0072 21E0 ldi r18,lo8(1) + 4278 .L226: + 4279 .LSM359: + 4280 0074 822F mov r24,r18 + 4281 /* epilogue start */ + 4282 0076 DF91 pop r29 + 4283 0078 CF91 pop r28 + 4284 .LVL424: + 4285 007a 0F91 pop r16 + 4286 007c 0895 ret + 4287 .LFE69: + 4289 .section .text.f_sync,"ax",@progbits + 4290 .global f_sync + 4292 f_sync: + 4293 .LFB76: + 4294 .LSM360: + 4295 .LVL425: + 4296 0000 0F93 push r16 + 4297 0002 1F93 push r17 + 4298 0004 CF93 push r28 + 4299 0006 DF93 push r29 + 4300 /* prologue: function */ + 4301 /* frame size = 0 */ + 4302 0008 EC01 movw r28,r24 + 4303 .LSM361: + 4304 000a 6A81 ldd r22,Y+2 + 4305 000c 7B81 ldd r23,Y+3 + 4306 000e 8881 ld r24,Y + 4307 0010 9981 ldd r25,Y+1 + 4308 .LVL426: + 4309 0012 0E94 0000 call validate + 4310 0016 982F mov r25,r24 + 4311 .LVL427: + 4312 .LSM362: + 4313 0018 8823 tst r24 + 4314 001a 01F0 breq .+2 + 4315 001c 00C0 rjmp .L232 + 4316 .LVL428: + 4317 .LSM363: + 4318 001e 8C81 ldd r24,Y+4 + 4319 .LVL429: + 4320 0020 85FF sbrs r24,5 + 4321 0022 00C0 rjmp .L232 + 4322 .LSM364: + 4323 0024 4A8D ldd r20,Y+26 + 4324 0026 5B8D ldd r21,Y+27 + 4325 0028 6C8D ldd r22,Y+28 + 4326 002a 7D8D ldd r23,Y+29 + 4327 002c 8881 ld r24,Y + 4328 002e 9981 ldd r25,Y+1 + 4329 0030 0E94 0000 call move_window + 4330 .LVL430: + 4331 0034 982F mov r25,r24 + 4332 .LVL431: + 4333 .LSM365: + 4334 0036 8823 tst r24 + 4335 0038 01F0 breq .+2 + 4336 003a 00C0 rjmp .L232 + 4337 .LVL432: + 4338 .LSM366: + 4339 003c 0E8D ldd r16,Y+30 + 4340 003e 1F8D ldd r17,Y+31 + 4341 .LVL433: + 4342 .LSM367: + 4343 0040 F801 movw r30,r16 + 4344 0042 8385 ldd r24,Z+11 + 4345 .LVL434: + 4346 0044 8062 ori r24,lo8(32) + 4347 0046 8387 std Z+11,r24 + 4348 .LSM368: + 4349 0048 8A85 ldd r24,Y+10 + 4350 004a 9B85 ldd r25,Y+11 + 4351 004c AC85 ldd r26,Y+12 + 4352 004e BD85 ldd r27,Y+13 + 4353 0050 848F std Z+28,r24 + 4354 0052 958F std Z+29,r25 + 4355 0054 A68F std Z+30,r26 + 4356 0056 B78F std Z+31,r27 + 4357 .LSM369: + 4358 0058 8E85 ldd r24,Y+14 + 4359 005a 9F85 ldd r25,Y+15 + 4360 005c 938F std Z+27,r25 + 4361 005e 828F std Z+26,r24 + 4362 .LSM370: + 4363 0060 8E85 ldd r24,Y+14 + 4364 0062 9F85 ldd r25,Y+15 + 4365 0064 A889 ldd r26,Y+16 + 4366 0066 B989 ldd r27,Y+17 + 4367 0068 CD01 movw r24,r26 + 4368 006a AA27 clr r26 + 4369 006c BB27 clr r27 + 4370 006e 958B std Z+21,r25 + 4371 0070 848B std Z+20,r24 + 4372 .LSM371: + 4373 0072 0E94 0000 call get_fattime + 4374 .LVL435: + 4375 .LSM372: + 4376 0076 F801 movw r30,r16 + 4377 0078 668B std Z+22,r22 + 4378 007a 778B std Z+23,r23 + 4379 007c 808F std Z+24,r24 + 4380 007e 918F std Z+25,r25 + 4381 .LVL436: + 4382 .LSM373: + 4383 0080 8C81 ldd r24,Y+4 + 4384 0082 8F7D andi r24,lo8(-33) + 4385 0084 8C83 std Y+4,r24 + 4386 .LSM374: + 4387 0086 E881 ld r30,Y + 4388 0088 F981 ldd r31,Y+1 + 4389 008a 81E0 ldi r24,lo8(1) + 4390 008c 8483 std Z+4,r24 + 4391 .LSM375: + 4392 008e 0990 ld __tmp_reg__,Y+ + 4393 0090 D881 ld r29,Y + 4394 0092 C02D mov r28,__tmp_reg__ + 4395 .LVL437: + 4396 .LBB6: + 4397 .LSM376: + 4398 0094 CE01 movw r24,r28 + 4399 0096 40E0 ldi r20,lo8(0) + 4400 0098 50E0 ldi r21,hi8(0) + 4401 009a 60E0 ldi r22,hlo8(0) + 4402 009c 70E0 ldi r23,hhi8(0) + 4403 009e 0E94 0000 call move_window + 4404 .LVL438: + 4405 00a2 982F mov r25,r24 + 4406 .LVL439: + 4407 .LBB7: + 4408 .LSM377: + 4409 00a4 8823 tst r24 + 4410 00a6 01F0 breq .+2 + 4411 00a8 00C0 rjmp .L232 + 4412 .LVL440: + 4413 .LSM378: + 4414 00aa 8881 ld r24,Y + 4415 .LVL441: + 4416 00ac 8330 cpi r24,lo8(3) + 4417 00ae 01F0 breq .+2 + 4418 00b0 00C0 rjmp .L233 + 4419 00b2 8D81 ldd r24,Y+5 + 4420 00b4 8823 tst r24 + 4421 00b6 01F4 brne .+2 + 4422 00b8 00C0 rjmp .L233 + 4423 .LSM379: + 4424 00ba 1AA6 std Y+42,__zero_reg__ + 4425 00bc 1BA6 std Y+43,__zero_reg__ + 4426 00be 1CA6 std Y+44,__zero_reg__ + 4427 00c0 1DA6 std Y+45,__zero_reg__ + 4428 .LSM380: + 4429 00c2 8E01 movw r16,r28 + 4430 .LVL442: + 4431 00c4 025D subi r16,lo8(-(46)) + 4432 00c6 1F4F sbci r17,hi8(-(46)) + 4433 00c8 C801 movw r24,r16 + 4434 00ca 60E0 ldi r22,lo8(0) + 4435 00cc 70E0 ldi r23,hi8(0) + 4436 00ce 40E0 ldi r20,lo8(512) + 4437 00d0 52E0 ldi r21,hi8(512) + 4438 00d2 0E94 0000 call mem_set + 4439 .LVL443: + 4440 .LSM381: + 4441 00d6 C45D subi r28,lo8(-(556)) + 4442 00d8 DD4F sbci r29,hi8(-(556)) + 4443 00da 85E5 ldi r24,lo8(-21931) + 4444 00dc 9AEA ldi r25,hi8(-21931) + 4445 00de 9983 std Y+1,r25 + 4446 00e0 8883 st Y,r24 + 4447 00e2 CC52 subi r28,lo8(-(-556)) + 4448 00e4 D240 sbci r29,hi8(-(-556)) + 4449 .LSM382: + 4450 00e6 82E5 ldi r24,lo8(1096897106) + 4451 00e8 92E5 ldi r25,hi8(1096897106) + 4452 00ea A1E6 ldi r26,hlo8(1096897106) + 4453 00ec B1E4 ldi r27,hhi8(1096897106) + 4454 00ee 8EA7 std Y+46,r24 + 4455 00f0 9FA7 std Y+47,r25 + 4456 00f2 A8AB std Y+48,r26 + 4457 00f4 B9AB std Y+49,r27 + 4458 .LSM383: + 4459 00f6 CE5E subi r28,lo8(-(530)) + 4460 00f8 DD4F sbci r29,hi8(-(530)) + 4461 00fa 82E7 ldi r24,lo8(1631679090) + 4462 00fc 92E7 ldi r25,hi8(1631679090) + 4463 00fe A1E4 ldi r26,hlo8(1631679090) + 4464 0100 B1E6 ldi r27,hhi8(1631679090) + 4465 0102 8883 st Y,r24 + 4466 0104 9983 std Y+1,r25 + 4467 0106 AA83 std Y+2,r26 + 4468 0108 BB83 std Y+3,r27 + 4469 010a C251 subi r28,lo8(-(-530)) + 4470 010c D240 sbci r29,hi8(-(-530)) + 4471 .LSM384: + 4472 010e 8E85 ldd r24,Y+14 + 4473 0110 9F85 ldd r25,Y+15 + 4474 0112 A889 ldd r26,Y+16 + 4475 0114 B989 ldd r27,Y+17 + 4476 0116 CA5E subi r28,lo8(-(534)) + 4477 0118 DD4F sbci r29,hi8(-(534)) + 4478 011a 8883 st Y,r24 + 4479 011c 9983 std Y+1,r25 + 4480 011e AA83 std Y+2,r26 + 4481 0120 BB83 std Y+3,r27 + 4482 0122 C651 subi r28,lo8(-(-534)) + 4483 0124 D240 sbci r29,hi8(-(-534)) + 4484 .LSM385: + 4485 0126 8A85 ldd r24,Y+10 + 4486 0128 9B85 ldd r25,Y+11 + 4487 012a AC85 ldd r26,Y+12 + 4488 012c BD85 ldd r27,Y+13 + 4489 012e C65E subi r28,lo8(-(538)) + 4490 0130 DD4F sbci r29,hi8(-(538)) + 4491 0132 8883 st Y,r24 + 4492 0134 9983 std Y+1,r25 + 4493 0136 AA83 std Y+2,r26 + 4494 0138 BB83 std Y+3,r27 + 4495 013a CA51 subi r28,lo8(-(-538)) + 4496 013c D240 sbci r29,hi8(-(-538)) + 4497 .LSM386: + 4498 013e 2A89 ldd r18,Y+18 + 4499 0140 3B89 ldd r19,Y+19 + 4500 0142 4C89 ldd r20,Y+20 + 4501 0144 5D89 ldd r21,Y+21 + 4502 0146 8981 ldd r24,Y+1 + 4503 0148 B801 movw r22,r16 + 4504 014a 01E0 ldi r16,lo8(1) + 4505 014c 0E94 0000 call disk_write + 4506 .LSM387: + 4507 0150 1D82 std Y+5,__zero_reg__ + 4508 .LVL444: + 4509 .L233: + 4510 .LBE7: + 4511 .LSM388: + 4512 0152 8981 ldd r24,Y+1 + 4513 0154 60E0 ldi r22,lo8(0) + 4514 0156 40E0 ldi r20,lo8(0) + 4515 0158 50E0 ldi r21,hi8(0) + 4516 015a 0E94 0000 call disk_ioctl + 4517 .LVL445: + 4518 015e 8111 cpse r24,__zero_reg__ + 4519 0160 81E0 ldi r24,lo8(1) + 4520 .L234: + 4521 0162 982F mov r25,r24 + 4522 .LVL446: + 4523 .L232: + 4524 .LBE6: + 4525 .LSM389: + 4526 0164 892F mov r24,r25 + 4527 /* epilogue start */ + 4528 0166 DF91 pop r29 + 4529 0168 CF91 pop r28 + 4530 .LVL447: + 4531 016a 1F91 pop r17 + 4532 016c 0F91 pop r16 + 4533 .LVL448: + 4534 016e 0895 ret + 4535 .LFE76: + 4537 .section .text.f_close,"ax",@progbits + 4538 .global f_close + 4540 f_close: + 4541 .LFB77: + 4542 .LSM390: + 4543 .LVL449: + 4544 0000 CF93 push r28 + 4545 0002 DF93 push r29 + 4546 /* prologue: function */ + 4547 /* frame size = 0 */ + 4548 0004 EC01 movw r28,r24 + 4549 .LSM391: + 4550 0006 0E94 0000 call f_sync + 4551 .LVL450: + 4552 .LSM392: + 4553 000a 8823 tst r24 + 4554 .LVL451: + 4555 000c 01F4 brne .L237 + 4556 000e 1982 std Y+1,__zero_reg__ + 4557 0010 1882 st Y,__zero_reg__ + 4558 .L237: + 4559 .LVL452: + 4560 /* epilogue start */ + 4561 .LSM393: + 4562 0012 DF91 pop r29 + 4563 0014 CF91 pop r28 + 4564 .LVL453: + 4565 0016 0895 ret + 4566 .LFE77: + 4568 .section .text.chk_mounted,"ax",@progbits + 4569 .global chk_mounted + 4571 chk_mounted: + 4572 .LFB70: + 4573 .LSM394: + 4574 .LVL454: + 4575 0000 6F92 push r6 + 4576 0002 7F92 push r7 + 4577 0004 8F92 push r8 + 4578 0006 9F92 push r9 + 4579 0008 AF92 push r10 + 4580 000a BF92 push r11 + 4581 000c CF92 push r12 + 4582 000e DF92 push r13 + 4583 0010 EF92 push r14 + 4584 0012 FF92 push r15 + 4585 0014 0F93 push r16 + 4586 0016 1F93 push r17 + 4587 0018 CF93 push r28 + 4588 001a DF93 push r29 + 4589 /* prologue: function */ + 4590 /* frame size = 0 */ + 4591 001c DC01 movw r26,r24 + 4592 001e 142F mov r17,r20 + 4593 .LSM395: + 4594 0020 ED91 ld r30,X+ + 4595 0022 FC91 ld r31,X + 4596 0024 1197 sbiw r26,1 + 4597 .LVL455: + 4598 .LSM396: + 4599 0026 8081 ld r24,Z + 4600 .LVL456: + 4601 0028 282F mov r18,r24 + 4602 .LVL457: + 4603 002a 30E0 ldi r19,lo8(0) + 4604 .LVL458: + 4605 002c 2053 subi r18,lo8(-(-48)) + 4606 002e 3040 sbci r19,hi8(-(-48)) + 4607 .LVL459: + 4608 .LSM397: + 4609 0030 2A30 cpi r18,10 + 4610 0032 3105 cpc r19,__zero_reg__ + 4611 0034 00F4 brsh .L240 + 4612 .LVL460: + 4613 0036 8181 ldd r24,Z+1 + 4614 0038 8A33 cpi r24,lo8(58) + 4615 003a 01F4 brne .L240 + 4616 .LSM398: + 4617 003c 3296 adiw r30,2 + 4618 003e ED93 st X+,r30 + 4619 0040 FC93 st X,r31 + 4620 .LSM399: + 4621 0042 232B or r18,r19 + 4622 0044 01F0 breq .L240 + 4623 0046 8BE0 ldi r24,lo8(11) + 4624 0048 00C0 rjmp .L241 + 4625 .L240: + 4626 .LSM400: + 4627 004a C091 0000 lds r28,FatFs + 4628 004e D091 0000 lds r29,(FatFs)+1 + 4629 .LVL461: + 4630 0052 FB01 movw r30,r22 + 4631 .LVL462: + 4632 0054 D183 std Z+1,r29 + 4633 0056 C083 st Z,r28 + 4634 .LSM401: + 4635 0058 2097 sbiw r28,0 + 4636 005a 01F4 brne .L242 + 4637 005c 8CE0 ldi r24,lo8(12) + 4638 005e 00C0 rjmp .L241 + 4639 .L242: + 4640 .LSM402: + 4641 0060 8881 ld r24,Y + 4642 0062 8823 tst r24 + 4643 0064 01F0 breq .L243 + 4644 .LSM403: + 4645 0066 8981 ldd r24,Y+1 + 4646 0068 0E94 0000 call disk_status + 4647 .LVL463: + 4648 .LSM404: + 4649 006c 80FD sbrc r24,0 + 4650 006e 00C0 rjmp .L243 + 4651 .LSM405: + 4652 0070 1123 tst r17 + 4653 0072 01F4 brne .+2 + 4654 0074 00C0 rjmp .L244 + 4655 0076 82FD sbrc r24,2 + 4656 0078 00C0 rjmp .L245 + 4657 007a 00C0 rjmp .L244 + 4658 .LVL464: + 4659 .L243: + 4660 .LSM406: + 4661 007c 1882 st Y,__zero_reg__ + 4662 .LSM407: + 4663 007e 1982 std Y+1,__zero_reg__ + 4664 .LSM408: + 4665 0080 80E0 ldi r24,lo8(0) + 4666 0082 0E94 0000 call disk_initialize + 4667 .LVL465: + 4668 .LSM409: + 4669 0086 80FF sbrs r24,0 + 4670 0088 00C0 rjmp .L246 + 4671 008a 83E0 ldi r24,lo8(3) + 4672 008c 00C0 rjmp .L241 + 4673 .L246: + 4674 .LSM410: + 4675 008e 1123 tst r17 + 4676 0090 01F0 breq .L247 + 4677 0092 82FD sbrc r24,2 + 4678 0094 00C0 rjmp .L245 + 4679 .L247: + 4680 .LSM411: + 4681 0096 CE01 movw r24,r28 + 4682 0098 40E0 ldi r20,lo8(0) + 4683 009a 50E0 ldi r21,hi8(0) + 4684 009c 60E0 ldi r22,hlo8(0) + 4685 009e 70E0 ldi r23,hhi8(0) + 4686 00a0 0E94 0000 call check_fs + 4687 .LSM412: + 4688 00a4 8130 cpi r24,lo8(1) + 4689 .LVL466: + 4690 00a6 01F0 breq .L248 + 4691 00a8 6624 clr r6 + 4692 00aa 7724 clr r7 + 4693 00ac 4301 movw r8,r6 + 4694 .LVL467: + 4695 00ae 00C0 rjmp .L249 + 4696 .LVL468: + 4697 .L248: + 4698 .LSM413: + 4699 00b0 FE01 movw r30,r28 + 4700 .LVL469: + 4701 00b2 E451 subi r30,lo8(-(492)) + 4702 00b4 FE4F sbci r31,hi8(-(492)) + 4703 .LSM414: + 4704 00b6 8481 ldd r24,Z+4 + 4705 .LVL470: + 4706 00b8 8823 tst r24 + 4707 00ba 01F4 brne .+2 + 4708 00bc 00C0 rjmp .L250 + 4709 .LSM415: + 4710 00be 6084 ldd r6,Z+8 + 4711 00c0 7184 ldd r7,Z+9 + 4712 00c2 8284 ldd r8,Z+10 + 4713 00c4 9384 ldd r9,Z+11 + 4714 .LVL471: + 4715 .LSM416: + 4716 00c6 CE01 movw r24,r28 + 4717 00c8 B401 movw r22,r8 + 4718 00ca A301 movw r20,r6 + 4719 00cc 0E94 0000 call check_fs + 4720 .LVL472: + 4721 .L249: + 4722 .LSM417: + 4723 00d0 8330 cpi r24,lo8(3) + 4724 00d2 01F4 brne .L251 + 4725 00d4 81E0 ldi r24,lo8(1) + 4726 .LVL473: + 4727 00d6 00C0 rjmp .L241 + 4728 .LVL474: + 4729 .L251: + 4730 .LSM418: + 4731 00d8 8823 tst r24 + 4732 00da 01F0 breq .+2 + 4733 00dc 00C0 rjmp .L250 + 4734 00de 89AD ldd r24,Y+57 + 4735 00e0 9AAD ldd r25,Y+58 + 4736 .LVL475: + 4737 00e2 8050 subi r24,lo8(512) + 4738 00e4 9240 sbci r25,hi8(512) + 4739 00e6 01F0 breq .+2 + 4740 00e8 00C0 rjmp .L250 + 4741 .LSM419: + 4742 00ea CC5B subi r28,lo8(-(68)) + 4743 00ec DF4F sbci r29,hi8(-(68)) + 4744 00ee 8881 ld r24,Y + 4745 00f0 9981 ldd r25,Y+1 + 4746 00f2 C454 subi r28,lo8(-(-68)) + 4747 00f4 D040 sbci r29,hi8(-(-68)) + 4748 00f6 BC01 movw r22,r24 + 4749 .LVL476: + 4750 00f8 80E0 ldi r24,lo8(0) + 4751 00fa 90E0 ldi r25,hi8(0) + 4752 .LVL477: + 4753 .LSM420: + 4754 00fc 6115 cp r22,__zero_reg__ + 4755 00fe 7105 cpc r23,__zero_reg__ + 4756 0100 8105 cpc r24,__zero_reg__ + 4757 0102 9105 cpc r25,__zero_reg__ + 4758 0104 01F4 brne .L252 + 4759 0106 CE5A subi r28,lo8(-(82)) + 4760 0108 DF4F sbci r29,hi8(-(82)) + 4761 010a 6881 ld r22,Y + 4762 010c 7981 ldd r23,Y+1 + 4763 010e 8A81 ldd r24,Y+2 + 4764 0110 9B81 ldd r25,Y+3 + 4765 .LVL478: + 4766 0112 C255 subi r28,lo8(-(-82)) + 4767 0114 D040 sbci r29,hi8(-(-82)) + 4768 .L252: + 4769 .LSM421: + 4770 0116 6E8B std Y+22,r22 + 4771 0118 7F8B std Y+23,r23 + 4772 011a 888F std Y+24,r24 + 4773 011c 998F std Y+25,r25 + 4774 .LSM422: + 4775 011e 2EAD ldd r18,Y+62 + 4776 0120 2B83 std Y+3,r18 + 4777 .LSM423: + 4778 0122 30E0 ldi r19,lo8(0) + 4779 0124 40E0 ldi r20,lo8(0) + 4780 0126 50E0 ldi r21,hi8(0) + 4781 0128 0E94 0000 call __mulsi3 + 4782 .LVL479: + 4783 012c 5B01 movw r10,r22 + 4784 012e 6C01 movw r12,r24 + 4785 .LVL480: + 4786 .LSM424: + 4787 0130 8CAD ldd r24,Y+60 + 4788 0132 9DAD ldd r25,Y+61 + 4789 .LVL481: + 4790 0134 A0E0 ldi r26,lo8(0) + 4791 0136 B0E0 ldi r27,hi8(0) + 4792 0138 860D add r24,r6 + 4793 013a 971D adc r25,r7 + 4794 013c A81D adc r26,r8 + 4795 013e B91D adc r27,r9 + 4796 0140 8E8F std Y+30,r24 + 4797 0142 9F8F std Y+31,r25 + 4798 0144 A8A3 std Y+32,r26 + 4799 0146 B9A3 std Y+33,r27 + 4800 .LSM425: + 4801 0148 8BAD ldd r24,Y+59 + 4802 014a 8A83 std Y+2,r24 + 4803 .LSM426: + 4804 014c EF96 adiw r28,63 + 4805 014e 2881 ld r18,Y + 4806 0150 3981 ldd r19,Y+1 + 4807 0152 EF97 sbiw r28,63 + 4808 0154 3987 std Y+9,r19 + 4809 0156 2887 std Y+8,r18 + 4810 .LSM427: + 4811 0158 CF5B subi r28,lo8(-(65)) + 4812 015a DF4F sbci r29,hi8(-(65)) + 4813 015c 8881 ld r24,Y + 4814 015e 9981 ldd r25,Y+1 + 4815 0160 C154 subi r28,lo8(-(-65)) + 4816 0162 D040 sbci r29,hi8(-(-65)) + 4817 0164 7C01 movw r14,r24 + 4818 .LVL482: + 4819 0166 00E0 ldi r16,lo8(0) + 4820 0168 10E0 ldi r17,hi8(0) + 4821 .LVL483: + 4822 .LSM428: + 4823 016a E114 cp r14,__zero_reg__ + 4824 016c F104 cpc r15,__zero_reg__ + 4825 016e 0105 cpc r16,__zero_reg__ + 4826 0170 1105 cpc r17,__zero_reg__ + 4827 0172 01F4 brne .L253 + 4828 0174 C25B subi r28,lo8(-(78)) + 4829 0176 DF4F sbci r29,hi8(-(78)) + 4830 0178 E880 ld r14,Y + 4831 017a F980 ldd r15,Y+1 + 4832 017c 0A81 ldd r16,Y+2 + 4833 017e 1B81 ldd r17,Y+3 + 4834 .LVL484: + 4835 0180 CE54 subi r28,lo8(-(-78)) + 4836 0182 D040 sbci r29,hi8(-(-78)) + 4837 .L253: + 4838 .LSM429: + 4839 0184 8CAD ldd r24,Y+60 + 4840 0186 9DAD ldd r25,Y+61 + 4841 0188 A0E0 ldi r26,lo8(0) + 4842 018a B0E0 ldi r27,hi8(0) + 4843 018c E81A sub r14,r24 + 4844 018e F90A sbc r15,r25 + 4845 0190 0A0B sbc r16,r26 + 4846 0192 1B0B sbc r17,r27 + 4847 .LVL485: + 4848 0194 EA18 sub r14,r10 + 4849 0196 FB08 sbc r15,r11 + 4850 0198 0C09 sbc r16,r12 + 4851 019a 1D09 sbc r17,r13 + 4852 019c 74E0 ldi r23,4 + 4853 019e 3695 1: lsr r19 + 4854 01a0 2795 ror r18 + 4855 01a2 7A95 dec r23 + 4856 01a4 01F4 brne 1b + 4857 01a6 C901 movw r24,r18 + 4858 01a8 A0E0 ldi r26,lo8(0) + 4859 01aa B0E0 ldi r27,hi8(0) + 4860 01ac E81A sub r14,r24 + 4861 01ae F90A sbc r15,r25 + 4862 01b0 0A0B sbc r16,r26 + 4863 01b2 1B0B sbc r17,r27 + 4864 01b4 2A81 ldd r18,Y+2 + 4865 01b6 30E0 ldi r19,lo8(0) + 4866 01b8 40E0 ldi r20,lo8(0) + 4867 01ba 50E0 ldi r21,hi8(0) + 4868 01bc C801 movw r24,r16 + 4869 01be B701 movw r22,r14 + 4870 01c0 0E94 0000 call __udivmodsi4 + 4871 01c4 2E5F subi r18,lo8(-(2)) + 4872 01c6 3F4F sbci r19,hi8(-(2)) + 4873 01c8 4F4F sbci r20,hlo8(-(2)) + 4874 01ca 5F4F sbci r21,hhi8(-(2)) + 4875 .LVL486: + 4876 01cc 2A8F std Y+26,r18 + 4877 01ce 3B8F std Y+27,r19 + 4878 01d0 4C8F std Y+28,r20 + 4879 01d2 5D8F std Y+29,r21 + 4880 .LSM430: + 4881 01d4 273F cpi r18,lo8(4087) + 4882 01d6 8FE0 ldi r24,hi8(4087) + 4883 01d8 3807 cpc r19,r24 + 4884 01da 80E0 ldi r24,hlo8(4087) + 4885 01dc 4807 cpc r20,r24 + 4886 01de 80E0 ldi r24,hhi8(4087) + 4887 01e0 5807 cpc r21,r24 + 4888 01e2 00F4 brsh .L254 + 4889 01e4 11E0 ldi r17,lo8(1) + 4890 .LVL487: + 4891 01e6 00C0 rjmp .L255 + 4892 .LVL488: + 4893 .L254: + 4894 .LSM431: + 4895 01e8 275F subi r18,lo8(65527) + 4896 01ea 3F4F sbci r19,hi8(65527) + 4897 01ec 4040 sbci r20,hlo8(65527) + 4898 01ee 5040 sbci r21,hhi8(65527) + 4899 01f0 00F0 brlo .+2 + 4900 01f2 00C0 rjmp .L256 + 4901 01f4 12E0 ldi r17,lo8(2) + 4902 .LVL489: + 4903 .L255: + 4904 .LSM432: + 4905 01f6 8E8D ldd r24,Y+30 + 4906 01f8 9F8D ldd r25,Y+31 + 4907 01fa A8A1 ldd r26,Y+32 + 4908 01fc B9A1 ldd r27,Y+33 + 4909 01fe 8A0D add r24,r10 + 4910 0200 9B1D adc r25,r11 + 4911 0202 AC1D adc r26,r12 + 4912 0204 BD1D adc r27,r13 + 4913 0206 8AA3 std Y+34,r24 + 4914 0208 9BA3 std Y+35,r25 + 4915 020a ACA3 std Y+36,r26 + 4916 020c BDA3 std Y+37,r27 + 4917 .L258: + 4918 .LSM433: + 4919 020e 8885 ldd r24,Y+8 + 4920 0210 9985 ldd r25,Y+9 + 4921 0212 64E0 ldi r22,4 + 4922 0214 9695 1: lsr r25 + 4923 0216 8795 ror r24 + 4924 0218 6A95 dec r22 + 4925 021a 01F4 brne 1b + 4926 021c A0E0 ldi r26,lo8(0) + 4927 021e B0E0 ldi r27,hi8(0) + 4928 0220 2E8D ldd r18,Y+30 + 4929 0222 3F8D ldd r19,Y+31 + 4930 0224 48A1 ldd r20,Y+32 + 4931 0226 59A1 ldd r21,Y+33 + 4932 .LVL490: + 4933 0228 820F add r24,r18 + 4934 022a 931F adc r25,r19 + 4935 022c A41F adc r26,r20 + 4936 022e B51F adc r27,r21 + 4937 0230 8A0D add r24,r10 + 4938 0232 9B1D adc r25,r11 + 4939 0234 AC1D adc r26,r12 + 4940 0236 BD1D adc r27,r13 + 4941 0238 8EA3 std Y+38,r24 + 4942 023a 9FA3 std Y+39,r25 + 4943 023c A8A7 std Y+40,r26 + 4944 023e B9A7 std Y+41,r27 + 4945 .LSM434: + 4946 0240 8FEF ldi r24,lo8(-1) + 4947 0242 9FEF ldi r25,hi8(-1) + 4948 0244 AFEF ldi r26,hlo8(-1) + 4949 0246 BFEF ldi r27,hhi8(-1) + 4950 0248 8E87 std Y+14,r24 + 4951 024a 9F87 std Y+15,r25 + 4952 024c A88B std Y+16,r26 + 4953 024e B98B std Y+17,r27 + 4954 .LSM435: + 4955 0250 1C82 std Y+4,__zero_reg__ + 4956 .LSM436: + 4957 0252 1330 cpi r17,lo8(3) + 4958 0254 01F0 breq .+2 + 4959 0256 00C0 rjmp .L257 + 4960 .LSM437: + 4961 0258 1D82 std Y+5,__zero_reg__ + 4962 .LSM438: + 4963 025a C25A subi r28,lo8(-(94)) + 4964 025c DF4F sbci r29,hi8(-(94)) + 4965 025e 2881 ld r18,Y + 4966 0260 3981 ldd r19,Y+1 + 4967 0262 CE55 subi r28,lo8(-(-94)) + 4968 0264 D040 sbci r29,hi8(-(-94)) + 4969 0266 40E0 ldi r20,lo8(0) + 4970 0268 50E0 ldi r21,hi8(0) + 4971 026a 260D add r18,r6 + 4972 026c 371D adc r19,r7 + 4973 026e 481D adc r20,r8 + 4974 0270 591D adc r21,r9 + 4975 0272 2A8B std Y+18,r18 + 4976 0274 3B8B std Y+19,r19 + 4977 0276 4C8B std Y+20,r20 + 4978 0278 5D8B std Y+21,r21 + 4979 .LSM439: + 4980 027a BE01 movw r22,r28 + 4981 027c 625D subi r22,lo8(-(46)) + 4982 027e 7F4F sbci r23,hi8(-(46)) + 4983 0280 8981 ldd r24,Y+1 + 4984 0282 01E0 ldi r16,lo8(1) + 4985 .LVL491: + 4986 0284 0E94 0000 call disk_read + 4987 0288 8823 tst r24 + 4988 028a 01F4 brne .L257 + 4989 028c C45D subi r28,lo8(-(556)) + 4990 028e DD4F sbci r29,hi8(-(556)) + 4991 0290 8881 ld r24,Y + 4992 0292 9981 ldd r25,Y+1 + 4993 0294 CC52 subi r28,lo8(-(-556)) + 4994 0296 D240 sbci r29,hi8(-(-556)) + 4995 0298 8555 subi r24,lo8(-21931) + 4996 029a 9A4A sbci r25,hi8(-21931) + 4997 029c 01F4 brne .L257 + 4998 029e 8EA5 ldd r24,Y+46 + 4999 02a0 9FA5 ldd r25,Y+47 + 5000 02a2 A8A9 ldd r26,Y+48 + 5001 02a4 B9A9 ldd r27,Y+49 + 5002 02a6 8255 subi r24,lo8(1096897106) + 5003 02a8 9245 sbci r25,hi8(1096897106) + 5004 02aa A146 sbci r26,hlo8(1096897106) + 5005 02ac B144 sbci r27,hhi8(1096897106) + 5006 02ae 01F4 brne .L257 + 5007 02b0 CE5E subi r28,lo8(-(530)) + 5008 02b2 DD4F sbci r29,hi8(-(530)) + 5009 02b4 8881 ld r24,Y + 5010 02b6 9981 ldd r25,Y+1 + 5011 02b8 AA81 ldd r26,Y+2 + 5012 02ba BB81 ldd r27,Y+3 + 5013 02bc C251 subi r28,lo8(-(-530)) + 5014 02be D240 sbci r29,hi8(-(-530)) + 5015 02c0 8257 subi r24,lo8(1631679090) + 5016 02c2 9247 sbci r25,hi8(1631679090) + 5017 02c4 A144 sbci r26,hlo8(1631679090) + 5018 02c6 B146 sbci r27,hhi8(1631679090) + 5019 02c8 01F4 brne .L257 + 5020 .LSM440: + 5021 02ca C65E subi r28,lo8(-(538)) + 5022 02cc DD4F sbci r29,hi8(-(538)) + 5023 02ce 8881 ld r24,Y + 5024 02d0 9981 ldd r25,Y+1 + 5025 02d2 AA81 ldd r26,Y+2 + 5026 02d4 BB81 ldd r27,Y+3 + 5027 02d6 CA51 subi r28,lo8(-(-538)) + 5028 02d8 D240 sbci r29,hi8(-(-538)) + 5029 02da 8A87 std Y+10,r24 + 5030 02dc 9B87 std Y+11,r25 + 5031 02de AC87 std Y+12,r26 + 5032 02e0 BD87 std Y+13,r27 + 5033 .LSM441: + 5034 02e2 CA5E subi r28,lo8(-(534)) + 5035 02e4 DD4F sbci r29,hi8(-(534)) + 5036 02e6 8881 ld r24,Y + 5037 02e8 9981 ldd r25,Y+1 + 5038 02ea AA81 ldd r26,Y+2 + 5039 02ec BB81 ldd r27,Y+3 + 5040 02ee C651 subi r28,lo8(-(-534)) + 5041 02f0 D240 sbci r29,hi8(-(-534)) + 5042 02f2 8E87 std Y+14,r24 + 5043 02f4 9F87 std Y+15,r25 + 5044 02f6 A88B std Y+16,r26 + 5045 02f8 B98B std Y+17,r27 + 5046 .LVL492: + 5047 .L257: + 5048 .LSM442: + 5049 02fa 1883 st Y,r17 + 5050 .LSM443: + 5051 02fc 1AA6 std Y+42,__zero_reg__ + 5052 02fe 1BA6 std Y+43,__zero_reg__ + 5053 0300 1CA6 std Y+44,__zero_reg__ + 5054 0302 1DA6 std Y+45,__zero_reg__ + 5055 .LSM444: + 5056 0304 8091 0000 lds r24,Fsid + 5057 0308 9091 0000 lds r25,(Fsid)+1 + 5058 030c 0196 adiw r24,1 + 5059 030e 9093 0000 sts (Fsid)+1,r25 + 5060 0312 8093 0000 sts Fsid,r24 + 5061 0316 9F83 std Y+7,r25 + 5062 0318 8E83 std Y+6,r24 + 5063 031a 00C0 rjmp .L244 + 5064 .LVL493: + 5065 .L245: + 5066 .LSM445: + 5067 031c 8AE0 ldi r24,lo8(10) + 5068 031e 00C0 rjmp .L241 + 5069 .LVL494: + 5070 .L244: + 5071 0320 80E0 ldi r24,lo8(0) + 5072 0322 00C0 rjmp .L241 + 5073 .LVL495: + 5074 .L250: + 5075 0324 8DE0 ldi r24,lo8(13) + 5076 .LVL496: + 5077 .L241: + 5078 /* epilogue start */ + 5079 .LSM446: + 5080 0326 DF91 pop r29 + 5081 0328 CF91 pop r28 + 5082 .LVL497: + 5083 032a 1F91 pop r17 + 5084 .LVL498: + 5085 032c 0F91 pop r16 + 5086 .LVL499: + 5087 032e FF90 pop r15 + 5088 0330 EF90 pop r14 + 5089 .LVL500: + 5090 0332 DF90 pop r13 + 5091 0334 CF90 pop r12 + 5092 0336 BF90 pop r11 + 5093 0338 AF90 pop r10 + 5094 .LVL501: + 5095 033a 9F90 pop r9 + 5096 033c 8F90 pop r8 + 5097 033e 7F90 pop r7 + 5098 0340 6F90 pop r6 + 5099 .LVL502: + 5100 0342 0895 ret + 5101 .LVL503: + 5102 .L256: + 5103 .LSM447: + 5104 0344 C65A subi r28,lo8(-(90)) + 5105 0346 DF4F sbci r29,hi8(-(90)) + 5106 0348 8881 ld r24,Y + 5107 034a 9981 ldd r25,Y+1 + 5108 034c AA81 ldd r26,Y+2 + 5109 034e BB81 ldd r27,Y+3 + 5110 0350 CA55 subi r28,lo8(-(-90)) + 5111 0352 D040 sbci r29,hi8(-(-90)) + 5112 0354 8AA3 std Y+34,r24 + 5113 0356 9BA3 std Y+35,r25 + 5114 0358 ACA3 std Y+36,r26 + 5115 035a BDA3 std Y+37,r27 + 5116 035c 13E0 ldi r17,lo8(3) + 5117 .LVL504: + 5118 035e 00C0 rjmp .L258 + 5119 .LFE70: + 5121 .data + 5122 .LC0: + 5123 0000 2022 2A2B .string " \"*+,[=]|\177" + 5123 2C5B 3D5D + 5123 7C7F 00 + 5124 .section .text.f_open,"ax",@progbits + 5125 .global f_open + 5127 f_open: + 5128 .LFB73: + 5129 .LSM448: + 5130 .LVL505: + 5131 0000 2F92 push r2 + 5132 0002 3F92 push r3 + 5133 0004 4F92 push r4 + 5134 0006 5F92 push r5 + 5135 0008 6F92 push r6 + 5136 000a 7F92 push r7 + 5137 000c 8F92 push r8 + 5138 000e 9F92 push r9 + 5139 0010 AF92 push r10 + 5140 0012 BF92 push r11 + 5141 0014 CF92 push r12 + 5142 0016 DF92 push r13 + 5143 0018 EF92 push r14 + 5144 001a FF92 push r15 + 5145 001c 0F93 push r16 + 5146 001e 1F93 push r17 + 5147 0020 DF93 push r29 + 5148 0022 CF93 push r28 + 5149 0024 CDB7 in r28,__SP_L__ + 5150 0026 DEB7 in r29,__SP_H__ + 5151 0028 AD97 sbiw r28,45 + 5152 002a 0FB6 in __tmp_reg__,__SREG__ + 5153 002c F894 cli + 5154 002e DEBF out __SP_H__,r29 + 5155 0030 0FBE out __SREG__,__tmp_reg__ + 5156 0032 CDBF out __SP_L__,r28 + 5157 /* prologue: function */ + 5158 /* frame size = 45 */ + 5159 0034 9DA7 std Y+45,r25 + 5160 0036 8CA7 std Y+44,r24 + 5161 0038 7CA3 std Y+36,r23 + 5162 003a 6BA3 std Y+35,r22 + 5163 .LSM449: + 5164 003c DC01 movw r26,r24 + 5165 003e 1D92 st X+,__zero_reg__ + 5166 0040 1C92 st X,__zero_reg__ + 5167 .LSM450: + 5168 0042 B42F mov r27,r20 + 5169 0044 BF71 andi r27,lo8(31) + 5170 0046 BDA3 std Y+37,r27 + 5171 .LVL506: + 5172 .LSM451: + 5173 0048 4E71 andi r20,lo8(30) + 5174 .LVL507: + 5175 004a CE01 movw r24,r28 + 5176 .LVL508: + 5177 004c 8396 adiw r24,35 + 5178 004e BE01 movw r22,r28 + 5179 .LVL509: + 5180 0050 635F subi r22,lo8(-(13)) + 5181 0052 7F4F sbci r23,hi8(-(13)) + 5182 0054 0E94 0000 call chk_mounted + 5183 .LVL510: + 5184 .LSM452: + 5185 0058 8823 tst r24 + 5186 .LVL511: + 5187 005a 01F0 breq .L261 + 5188 005c 282F mov r18,r24 + 5189 005e 00C0 rjmp .L262 + 5190 .LVL512: + 5191 .L261: + 5192 .LSM453: + 5193 0060 CE01 movw r24,r28 + 5194 .LVL513: + 5195 0062 0196 adiw r24,1 + 5196 0064 9AA3 std Y+34,r25 + 5197 0066 89A3 std Y+33,r24 + 5198 .LSM454: + 5199 0068 EBA0 ldd r14,Y+35 + 5200 006a FCA0 ldd r15,Y+36 + 5201 .LVL514: + 5202 006c 00C0 rjmp .L263 + 5203 .L264: + 5204 .LBB23: + 5205 .LBB24: + 5206 .LSM455: + 5207 006e 0894 sec + 5208 0070 E11C adc r14,__zero_reg__ + 5209 0072 F11C adc r15,__zero_reg__ + 5210 .L263: + 5211 0074 F701 movw r30,r14 + 5212 0076 8081 ld r24,Z + 5213 0078 8032 cpi r24,lo8(32) + 5214 007a 01F0 breq .L264 + 5215 .LSM456: + 5216 007c 8F32 cpi r24,lo8(47) + 5217 007e 01F0 breq .L265 + 5218 0080 8C35 cpi r24,lo8(92) + 5219 0082 01F4 brne .L266 + 5220 .L265: + 5221 .LSM457: + 5222 0084 0894 sec + 5223 0086 E11C adc r14,__zero_reg__ + 5224 0088 F11C adc r15,__zero_reg__ + 5225 .L266: + 5226 .LSM458: + 5227 008a 1B8A std Y+19,__zero_reg__ + 5228 008c 1C8A std Y+20,__zero_reg__ + 5229 008e 1D8A std Y+21,__zero_reg__ + 5230 0090 1E8A std Y+22,__zero_reg__ + 5231 .LSM459: + 5232 0092 D701 movw r26,r14 + 5233 0094 8C91 ld r24,X + 5234 0096 8032 cpi r24,lo8(32) + 5235 0098 00F4 brsh .L267 + 5236 .LBE24: + 5237 .LSM460: + 5238 009a CE01 movw r24,r28 + 5239 009c 0D96 adiw r24,13 + 5240 009e 60E0 ldi r22,lo8(0) + 5241 00a0 70E0 ldi r23,hi8(0) + 5242 00a2 0E94 0000 call dir_seek + 5243 00a6 282F mov r18,r24 + 5244 .LVL515: + 5245 .LBB39: + 5246 .LSM461: + 5247 00a8 18A2 std Y+32,__zero_reg__ + 5248 00aa 1F8E std Y+31,__zero_reg__ + 5249 00ac 00C0 rjmp .L268 + 5250 .LVL516: + 5251 .L267: + 5252 .LBB25: + 5253 .LBB27: + 5254 .LSM462: + 5255 00ae 35E0 ldi r19,lo8(5) + 5256 00b0 732E mov r7,r19 + 5257 .LBE27: + 5258 .LBE25: + 5259 .LBB31: + 5260 .LSM463: + 5261 00b2 2DE0 ldi r18,lo8(13) + 5262 00b4 822E mov r8,r18 + 5263 00b6 912C mov r9,__zero_reg__ + 5264 00b8 8C0E add r8,r28 + 5265 00ba 9D1E adc r9,r29 + 5266 .LVL517: + 5267 .L320: + 5268 .LBE31: + 5269 .LBB36: + 5270 .LBB26: + 5271 .LSM464: + 5272 00bc 09A1 ldd r16,Y+33 + 5273 00be 1AA1 ldd r17,Y+34 + 5274 .LSM465: + 5275 00c0 C801 movw r24,r16 + 5276 00c2 60E2 ldi r22,lo8(32) + 5277 00c4 70E0 ldi r23,hi8(32) + 5278 00c6 4BE0 ldi r20,lo8(11) + 5279 00c8 50E0 ldi r21,hi8(11) + 5280 00ca 0E94 0000 call mem_set + 5281 .LVL518: + 5282 00ce 40E0 ldi r20,lo8(0) + 5283 00d0 50E0 ldi r21,hi8(0) + 5284 .LVL519: + 5285 00d2 CC24 clr r12 + 5286 00d4 DD24 clr r13 + 5287 00d6 98E0 ldi r25,lo8(8) + 5288 00d8 A92E mov r10,r25 + 5289 00da B12C mov r11,__zero_reg__ + 5290 00dc A0E0 ldi r26,lo8(0) + 5291 .LVL520: + 5292 .L319: + 5293 .LSM466: + 5294 00de F701 movw r30,r14 + 5295 00e0 EC0D add r30,r12 + 5296 00e2 FD1D adc r31,r13 + 5297 00e4 2081 ld r18,Z + 5298 00e6 0894 sec + 5299 00e8 C11C adc r12,__zero_reg__ + 5300 00ea D11C adc r13,__zero_reg__ + 5301 .LSM467: + 5302 00ec 2132 cpi r18,lo8(33) + 5303 00ee 00F4 brsh .+2 + 5304 00f0 00C0 rjmp .L269 + 5305 00f2 2F32 cpi r18,lo8(47) + 5306 00f4 01F4 brne .+2 + 5307 00f6 00C0 rjmp .L270 + 5308 00f8 2C35 cpi r18,lo8(92) + 5309 00fa 01F4 brne .+2 + 5310 00fc 00C0 rjmp .L270 + 5311 .LSM468: + 5312 00fe 2E32 cpi r18,lo8(46) + 5313 0100 01F0 breq .L271 + 5314 0102 4A15 cp r20,r10 + 5315 0104 5B05 cpc r21,r11 + 5316 0106 04F0 brlt .L272 + 5317 .L271: + 5318 .LSM469: + 5319 0108 B8E0 ldi r27,lo8(8) + 5320 010a AB16 cp r10,r27 + 5321 010c B104 cpc r11,__zero_reg__ + 5322 010e 01F0 breq .+2 + 5323 0110 00C0 rjmp .L273 + 5324 0112 2E32 cpi r18,lo8(46) + 5325 0114 01F0 breq .+2 + 5326 0116 00C0 rjmp .L273 + 5327 .LSM470: + 5328 0118 AA0F lsl r26 + 5329 011a AA0F lsl r26 + 5330 011c 48E0 ldi r20,lo8(8) + 5331 011e 50E0 ldi r21,hi8(8) + 5332 0120 8BE0 ldi r24,lo8(11) + 5333 0122 A82E mov r10,r24 + 5334 0124 B12C mov r11,__zero_reg__ + 5335 0126 00C0 rjmp .L319 + 5336 .L272: + 5337 .LSM471: + 5338 0128 27FD sbrc r18,7 + 5339 .LSM472: + 5340 012a A360 ori r26,lo8(3) + 5341 .L275: + 5342 .LSM473: + 5343 012c 822F mov r24,r18 + 5344 012e 8158 subi r24,lo8(-(127)) + 5345 0130 8F31 cpi r24,lo8(31) + 5346 0132 00F0 brlo .L276 + 5347 0134 8F55 subi r24,lo8(-(-95)) + 5348 0136 8D31 cpi r24,lo8(29) + 5349 0138 00F4 brsh .L277 + 5350 .L276: + 5351 .LSM474: + 5352 013a F701 movw r30,r14 + 5353 013c EC0D add r30,r12 + 5354 013e FD1D adc r31,r13 + 5355 0140 3081 ld r19,Z + 5356 .LSM475: + 5357 0142 832F mov r24,r19 + 5358 0144 8054 subi r24,lo8(-(-64)) + 5359 0146 8F33 cpi r24,lo8(63) + 5360 0148 00F0 brlo .L278 + 5361 014a 8054 subi r24,lo8(-(-64)) + 5362 014c 8D37 cpi r24,lo8(125) + 5363 014e 00F0 brlo .+2 + 5364 0150 00C0 rjmp .L273 + 5365 .L278: + 5366 0152 C501 movw r24,r10 + 5367 0154 0197 sbiw r24,1 + 5368 0156 4817 cp r20,r24 + 5369 0158 5907 cpc r21,r25 + 5370 015a 04F0 brlt .+2 + 5371 015c 00C0 rjmp .L273 + 5372 .LSM476: + 5373 015e 0894 sec + 5374 0160 C11C adc r12,__zero_reg__ + 5375 0162 D11C adc r13,__zero_reg__ + 5376 .LSM477: + 5377 0164 F801 movw r30,r16 + 5378 0166 E40F add r30,r20 + 5379 0168 F51F adc r31,r21 + 5380 016a 2083 st Z,r18 + 5381 016c CA01 movw r24,r20 + 5382 016e 0196 adiw r24,1 + 5383 .LVL521: + 5384 .LSM478: + 5385 0170 F801 movw r30,r16 + 5386 0172 E80F add r30,r24 + 5387 0174 F91F adc r31,r25 + 5388 0176 3083 st Z,r19 + 5389 0178 AC01 movw r20,r24 + 5390 017a 00C0 rjmp .L321 + 5391 .LVL522: + 5392 .L277: + 5393 .LSM479: + 5394 017c 622F mov r22,r18 + 5395 017e 70E0 ldi r23,lo8(0) + 5396 0180 E0E0 ldi r30,lo8(.LC0) + 5397 0182 F0E0 ldi r31,hi8(.LC0) + 5398 .LVL523: + 5399 0184 00C0 rjmp .L279 + 5400 .L281: + 5401 .LBB28: + 5402 .LBB29: + 5403 .LSM480: + 5404 0186 3196 adiw r30,1 + 5405 .L279: + 5406 0188 8081 ld r24,Z + 5407 018a 8823 tst r24 + 5408 018c 01F0 breq .L280 + 5409 018e 90E0 ldi r25,lo8(0) + 5410 0190 8617 cp r24,r22 + 5411 0192 9707 cpc r25,r23 + 5412 0194 01F4 brne .L281 + 5413 0196 00C0 rjmp .L273 + 5414 .L280: + 5415 .LBE29: + 5416 .LBE28: + 5417 .LSM481: + 5418 0198 822F mov r24,r18 + 5419 019a 8154 subi r24,lo8(-(-65)) + 5420 019c 8A31 cpi r24,lo8(26) + 5421 019e 00F4 brsh .L282 + 5422 .LSM482: + 5423 01a0 A260 ori r26,lo8(2) + 5424 01a2 00C0 rjmp .L283 + 5425 .L282: + 5426 .LSM483: + 5427 01a4 822F mov r24,r18 + 5428 01a6 8156 subi r24,lo8(-(-97)) + 5429 01a8 8A31 cpi r24,lo8(26) + 5430 01aa 00F4 brsh .L283 + 5431 .LSM484: + 5432 01ac A160 ori r26,lo8(1) + 5433 01ae 2052 subi r18,lo8(-(-32)) + 5434 .L283: + 5435 .LSM485: + 5436 01b0 F801 movw r30,r16 + 5437 .LVL524: + 5438 01b2 E40F add r30,r20 + 5439 01b4 F51F adc r31,r21 + 5440 01b6 2083 st Z,r18 + 5441 .LVL525: + 5442 .L321: + 5443 01b8 4F5F subi r20,lo8(-(1)) + 5444 01ba 5F4F sbci r21,hi8(-(1)) + 5445 01bc 00C0 rjmp .L319 + 5446 .L269: + 5447 01be 9A2F mov r25,r26 + 5448 01c0 64E0 ldi r22,lo8(4) + 5449 .LVL526: + 5450 .L313: + 5451 .LSM486: + 5452 01c2 452B or r20,r21 + 5453 01c4 01F4 brne .+2 + 5454 01c6 00C0 rjmp .L273 + 5455 .LSM487: + 5456 01c8 F801 movw r30,r16 + 5457 01ca 8081 ld r24,Z + 5458 01cc 853E cpi r24,lo8(-27) + 5459 01ce 01F4 brne .L284 + 5460 01d0 7082 st Z,r7 + 5461 .L284: + 5462 .LSM488: + 5463 01d2 F8E0 ldi r31,lo8(8) + 5464 01d4 AF16 cp r10,r31 + 5465 01d6 B104 cpc r11,__zero_reg__ + 5466 01d8 01F4 brne .L285 + 5467 01da 9A2F mov r25,r26 + 5468 01dc 990F lsl r25 + 5469 01de 990F lsl r25 + 5470 .LVL527: + 5471 .L285: + 5472 .LSM489: + 5473 01e0 292F mov r18,r25 + 5474 01e2 30E0 ldi r19,lo8(0) + 5475 .LVL528: + 5476 01e4 C901 movw r24,r18 + 5477 01e6 8370 andi r24,lo8(3) + 5478 01e8 9070 andi r25,hi8(3) + 5479 01ea 0197 sbiw r24,1 + 5480 01ec 01F4 brne .L286 + 5481 01ee 6061 ori r22,lo8(16) + 5482 .L286: + 5483 .LSM490: + 5484 01f0 2C70 andi r18,lo8(12) + 5485 01f2 3070 andi r19,hi8(12) + 5486 01f4 2430 cpi r18,4 + 5487 01f6 3105 cpc r19,__zero_reg__ + 5488 01f8 01F4 brne .L287 + 5489 01fa 6860 ori r22,lo8(8) + 5490 .L287: + 5491 .LSM491: + 5492 01fc D801 movw r26,r16 + 5493 01fe 1B96 adiw r26,11 + 5494 0200 6C93 st X,r22 + 5495 .LBE26: + 5496 .LBE36: + 5497 .LBB37: + 5498 .LSM492: + 5499 0202 C401 movw r24,r8 + 5500 0204 60E0 ldi r22,lo8(0) + 5501 0206 70E0 ldi r23,hi8(0) + 5502 .LVL529: + 5503 0208 0E94 0000 call dir_seek + 5504 .LVL530: + 5505 .L322: + 5506 020c 482F mov r20,r24 + 5507 .LVL531: + 5508 .LBB32: + 5509 .LSM493: + 5510 020e 8823 tst r24 + 5511 0210 01F4 brne .L288 + 5512 .LVL532: + 5513 .LBE32: + 5514 .LSM494: + 5515 0212 4B8D ldd r20,Y+27 + 5516 0214 5C8D ldd r21,Y+28 + 5517 0216 6D8D ldd r22,Y+29 + 5518 0218 7E8D ldd r23,Y+30 + 5519 021a 8D85 ldd r24,Y+13 + 5520 021c 9E85 ldd r25,Y+14 + 5521 .LVL533: + 5522 021e 0E94 0000 call move_window + 5523 0222 482F mov r20,r24 + 5524 .LVL534: + 5525 .LBB35: + 5526 .LSM495: + 5527 0224 8823 tst r24 + 5528 0226 01F4 brne .L288 + 5529 .LVL535: + 5530 .LSM496: + 5531 0228 EF8D ldd r30,Y+31 + 5532 022a F8A1 ldd r31,Y+32 + 5533 .LVL536: + 5534 .LSM497: + 5535 022c 8081 ld r24,Z + 5536 .LVL537: + 5537 022e 8823 tst r24 + 5538 0230 01F4 brne .L289 + 5539 0232 44E0 ldi r20,lo8(4) + 5540 0234 00C0 rjmp .L288 + 5541 .L289: + 5542 .LSM498: + 5543 0236 8385 ldd r24,Z+11 + 5544 0238 83FD sbrc r24,3 + 5545 023a 00C0 rjmp .L290 + 5546 023c 89A1 ldd r24,Y+33 + 5547 .LVL538: + 5548 023e 9AA1 ldd r25,Y+34 + 5549 .LVL539: + 5550 0240 9C01 movw r18,r24 + 5551 .LVL540: + 5552 0242 D901 movw r26,r18 + 5553 .LVL541: + 5554 0244 2BE0 ldi r18,lo8(11) + 5555 0246 30E0 ldi r19,hi8(11) + 5556 .LVL542: + 5557 .L291: + 5558 .LBB33: + 5559 .LBB34: + 5560 .LSM499: + 5561 0248 2150 subi r18,lo8(-(-1)) + 5562 024a 3040 sbci r19,hi8(-(-1)) + 5563 024c 8FEF ldi r24,hi8(-1) + 5564 024e 2F3F cpi r18,lo8(-1) + 5565 0250 3807 cpc r19,r24 + 5566 0252 01F0 breq .L288 + 5567 0254 9081 ld r25,Z + 5568 .LVL543: + 5569 0256 8C91 ld r24,X + 5570 0258 9817 cp r25,r24 + 5571 025a 01F4 brne .L290 + 5572 025c 3196 adiw r30,1 + 5573 .LVL544: + 5574 025e 1196 adiw r26,1 + 5575 0260 00C0 rjmp .L291 + 5576 .LVL545: + 5577 .L290: + 5578 .LBE34: + 5579 .LBE33: + 5580 .LBE35: + 5581 .LSM500: + 5582 0262 C401 movw r24,r8 + 5583 0264 60E0 ldi r22,lo8(0) + 5584 0266 0E94 0000 call dir_next + 5585 .LVL546: + 5586 026a 00C0 rjmp .L322 + 5587 .LVL547: + 5588 .L288: + 5589 .LBE37: + 5590 .LSM501: + 5591 026c E9A1 ldd r30,Y+33 + 5592 026e FAA1 ldd r31,Y+34 + 5593 .LVL548: + 5594 0270 8385 ldd r24,Z+11 + 5595 .LVL549: + 5596 0272 8470 andi r24,lo8(4) + 5597 .LSM502: + 5598 0274 4423 tst r20 + 5599 0276 01F0 breq .L293 + 5600 0278 242F mov r18,r20 + 5601 .LVL550: + 5602 .LSM503: + 5603 027a 4430 cpi r20,lo8(4) + 5604 027c 01F4 brne .L294 + 5605 027e 8823 tst r24 + 5606 0280 01F0 breq .L295 + 5607 0282 00C0 rjmp .L268 + 5608 .LVL551: + 5609 .L293: + 5610 .LSM504: + 5611 0284 8823 tst r24 + 5612 0286 01F4 brne .L294 + 5613 .LSM505: + 5614 0288 EF8D ldd r30,Y+31 + 5615 028a F8A1 ldd r31,Y+32 + 5616 .LVL552: + 5617 .LSM506: + 5618 028c 8385 ldd r24,Z+11 + 5619 .LVL553: + 5620 028e 84FF sbrs r24,4 + 5621 0290 00C0 rjmp .L295 + 5622 .LBB38: + 5623 .LBB30: + 5624 .LSM507: + 5625 0292 EC0C add r14,r12 + 5626 0294 FD1C adc r15,r13 + 5627 .LBE30: + 5628 .LBE38: + 5629 .LSM508: + 5630 0296 8489 ldd r24,Z+20 + 5631 0298 9589 ldd r25,Z+21 + 5632 029a A0E0 ldi r26,lo8(0) + 5633 029c B0E0 ldi r27,hi8(0) + 5634 .LVL554: + 5635 029e DC01 movw r26,r24 + 5636 02a0 9927 clr r25 + 5637 02a2 8827 clr r24 + 5638 02a4 228D ldd r18,Z+26 + 5639 02a6 338D ldd r19,Z+27 + 5640 .LVL555: + 5641 02a8 40E0 ldi r20,lo8(0) + 5642 02aa 50E0 ldi r21,hi8(0) + 5643 .LVL556: + 5644 02ac 822B or r24,r18 + 5645 02ae 932B or r25,r19 + 5646 02b0 A42B or r26,r20 + 5647 02b2 B52B or r27,r21 + 5648 02b4 8B8B std Y+19,r24 + 5649 02b6 9C8B std Y+20,r25 + 5650 02b8 AD8B std Y+21,r26 + 5651 02ba BE8B std Y+22,r27 + 5652 02bc 00C0 rjmp .L320 + 5653 .LVL557: + 5654 .L273: + 5655 02be 26E0 ldi r18,lo8(6) + 5656 .LVL558: + 5657 02c0 00C0 rjmp .L268 + 5658 .LVL559: + 5659 .L294: + 5660 02c2 242F mov r18,r20 + 5661 .LVL560: + 5662 02c4 00C0 rjmp .L268 + 5663 .LVL561: + 5664 .L295: + 5665 02c6 25E0 ldi r18,lo8(5) + 5666 .LVL562: + 5667 .L268: + 5668 .LBE39: + 5669 .LBE23: + 5670 .LSM509: + 5671 02c8 9DA1 ldd r25,Y+37 + 5672 .LVL563: + 5673 02ca 492F mov r20,r25 + 5674 .LVL564: + 5675 02cc 50E0 ldi r21,lo8(0) + 5676 02ce CA01 movw r24,r20 + 5677 .LVL565: + 5678 02d0 8C71 andi r24,lo8(28) + 5679 02d2 9070 andi r25,hi8(28) + 5680 02d4 892B or r24,r25 + 5681 02d6 01F4 brne .+2 + 5682 02d8 00C0 rjmp .L296 + 5683 .LBB40: + 5684 .LSM510: + 5685 02da 2223 tst r18 + 5686 02dc 01F4 brne .+2 + 5687 02de 00C0 rjmp .L297 + 5688 .LSM511: + 5689 02e0 2430 cpi r18,lo8(4) + 5690 02e2 01F0 breq .+2 + 5691 02e4 00C0 rjmp .L262 + 5692 .LBB45: + 5693 .LSM512: + 5694 02e6 8E01 movw r16,r28 + 5695 .LVL566: + 5696 02e8 035F subi r16,lo8(-(13)) + 5697 02ea 1F4F sbci r17,hi8(-(13)) + 5698 02ec C801 movw r24,r16 + 5699 02ee 60E0 ldi r22,lo8(0) + 5700 02f0 70E0 ldi r23,hi8(0) + 5701 .LVL567: + 5702 02f2 0E94 0000 call dir_seek + 5703 .LVL568: + 5704 02f6 282F mov r18,r24 + 5705 .LVL569: + 5706 .LBB48: + 5707 .LSM513: + 5708 02f8 8823 tst r24 + 5709 02fa 01F0 breq .+2 + 5710 02fc 00C0 rjmp .L262 + 5711 .LVL570: + 5712 .L315: + 5713 .LBE48: + 5714 .LSM514: + 5715 02fe 4B8D ldd r20,Y+27 + 5716 0300 5C8D ldd r21,Y+28 + 5717 0302 6D8D ldd r22,Y+29 + 5718 0304 7E8D ldd r23,Y+30 + 5719 0306 8D85 ldd r24,Y+13 + 5720 0308 9E85 ldd r25,Y+14 + 5721 .LVL571: + 5722 030a 0E94 0000 call move_window + 5723 .LVL572: + 5724 030e 282F mov r18,r24 + 5725 .LVL573: + 5726 .LBB47: + 5727 .LSM515: + 5728 0310 8823 tst r24 + 5729 0312 01F0 breq .+2 + 5730 0314 00C0 rjmp .L262 + 5731 .LVL574: + 5732 .LSM516: + 5733 0316 EF8D ldd r30,Y+31 + 5734 0318 F8A1 ldd r31,Y+32 + 5735 031a E081 ld r30,Z + 5736 .LVL575: + 5737 .LSM517: + 5738 031c E53E cpi r30,lo8(-27) + 5739 031e 01F4 brne .+2 + 5740 0320 00C0 rjmp .L298 + 5741 0322 EE23 tst r30 + 5742 0324 01F4 brne .+2 + 5743 0326 00C0 rjmp .L298 + 5744 .LBE47: + 5745 .LSM518: + 5746 0328 C801 movw r24,r16 + 5747 .LVL576: + 5748 032a 61E0 ldi r22,lo8(1) + 5749 032c 0E94 0000 call dir_next + 5750 .LVL577: + 5751 0330 282F mov r18,r24 + 5752 .LVL578: + 5753 .LBB46: + 5754 .LSM519: + 5755 0332 8823 tst r24 + 5756 0334 01F0 breq .L315 + 5757 .LVL579: + 5758 0336 00C0 rjmp .L262 + 5759 .L323: + 5760 .LSM520: + 5761 0338 0F8D ldd r16,Y+31 + 5762 033a 18A1 ldd r17,Y+32 + 5763 .LVL580: + 5764 .LSM521: + 5765 033c C801 movw r24,r16 + 5766 .LVL581: + 5767 033e 60E0 ldi r22,lo8(0) + 5768 0340 70E0 ldi r23,hi8(0) + 5769 0342 40E2 ldi r20,lo8(32) + 5770 0344 50E0 ldi r21,hi8(32) + 5771 0346 0E94 0000 call mem_set + 5772 .LVL582: + 5773 .LSM522: + 5774 034a 69A1 ldd r22,Y+33 + 5775 034c 7AA1 ldd r23,Y+34 + 5776 034e C801 movw r24,r16 + 5777 0350 4BE0 ldi r20,lo8(11) + 5778 0352 50E0 ldi r21,hi8(11) + 5779 0354 0E94 0000 call mem_cpy + 5780 .LSM523: + 5781 0358 E9A1 ldd r30,Y+33 + 5782 035a FAA1 ldd r31,Y+34 + 5783 035c 8385 ldd r24,Z+11 + 5784 035e 8871 andi r24,lo8(24) + 5785 0360 D801 movw r26,r16 + 5786 0362 1C96 adiw r26,12 + 5787 0364 8C93 st X,r24 + 5788 .LSM524: + 5789 0366 ED85 ldd r30,Y+13 + 5790 0368 FE85 ldd r31,Y+14 + 5791 036a 81E0 ldi r24,lo8(1) + 5792 036c 8483 std Z+4,r24 + 5793 .LBE46: + 5794 .LBE45: + 5795 .LSM525: + 5796 036e BDA1 ldd r27,Y+37 + 5797 0370 B860 ori r27,lo8(8) + 5798 0372 BDA3 std Y+37,r27 + 5799 .LVL583: + 5800 .LSM526: + 5801 0374 EF8D ldd r30,Y+31 + 5802 0376 F8A1 ldd r31,Y+32 + 5803 0378 FBA7 std Y+43,r31 + 5804 037a EAA7 std Y+42,r30 + 5805 .LVL584: + 5806 037c 00C0 rjmp .L300 + 5807 .LVL585: + 5808 .L297: + 5809 .LSM527: + 5810 037e 42FF sbrs r20,2 + 5811 0380 00C0 rjmp .L301 + 5812 0382 28E0 ldi r18,lo8(8) + 5813 0384 00C0 rjmp .L262 + 5814 .L301: + 5815 .LSM528: + 5816 0386 8F8D ldd r24,Y+31 + 5817 0388 98A1 ldd r25,Y+32 + 5818 038a 9BA7 std Y+43,r25 + 5819 038c 8AA7 std Y+42,r24 + 5820 .LVL586: + 5821 .LSM529: + 5822 038e 0097 sbiw r24,0 + 5823 0390 01F4 brne .+2 + 5824 0392 00C0 rjmp .L302 + 5825 0394 DC01 movw r26,r24 + 5826 .LVL587: + 5827 0396 1B96 adiw r26,11 + 5828 0398 8C91 ld r24,X + 5829 039a 1B97 sbiw r26,11 + 5830 039c 8171 andi r24,lo8(17) + 5831 039e 01F0 breq .+2 + 5832 03a0 00C0 rjmp .L302 + 5833 .LSM530: + 5834 03a2 43FF sbrs r20,3 + 5835 03a4 00C0 rjmp .L300 + 5836 .LSM531: + 5837 03a6 5496 adiw r26,20 + 5838 03a8 8D91 ld r24,X+ + 5839 03aa 9C91 ld r25,X + 5840 03ac 5597 sbiw r26,20+1 + 5841 03ae A0E0 ldi r26,lo8(0) + 5842 03b0 B0E0 ldi r27,hi8(0) + 5843 03b2 7C01 movw r14,r24 + 5844 03b4 DD24 clr r13 + 5845 03b6 CC24 clr r12 + 5846 .LVL588: + 5847 03b8 EAA5 ldd r30,Y+42 + 5848 03ba FBA5 ldd r31,Y+43 + 5849 .LVL589: + 5850 03bc 828D ldd r24,Z+26 + 5851 03be 938D ldd r25,Z+27 + 5852 03c0 A0E0 ldi r26,lo8(0) + 5853 03c2 B0E0 ldi r27,hi8(0) + 5854 03c4 C82A or r12,r24 + 5855 03c6 D92A or r13,r25 + 5856 03c8 EA2A or r14,r26 + 5857 03ca FB2A or r15,r27 + 5858 .LSM532: + 5859 03cc 158A std Z+21,__zero_reg__ + 5860 03ce 148A std Z+20,__zero_reg__ + 5861 .LSM533: + 5862 03d0 138E std Z+27,__zero_reg__ + 5863 03d2 128E std Z+26,__zero_reg__ + 5864 .LSM534: + 5865 03d4 148E std Z+28,__zero_reg__ + 5866 03d6 158E std Z+29,__zero_reg__ + 5867 03d8 168E std Z+30,__zero_reg__ + 5868 03da 178E std Z+31,__zero_reg__ + 5869 .LSM535: + 5870 03dc 2D84 ldd r2,Y+13 + 5871 03de 3E84 ldd r3,Y+14 + 5872 03e0 81E0 ldi r24,lo8(1) + 5873 03e2 F101 movw r30,r2 + 5874 03e4 8483 std Z+4,r24 + 5875 .LSM536: + 5876 03e6 D101 movw r26,r2 + 5877 03e8 9A96 adiw r26,42 + 5878 03ea 8D91 ld r24,X+ + 5879 03ec 9D91 ld r25,X+ + 5880 03ee 0D90 ld __tmp_reg__,X+ + 5881 03f0 BC91 ld r27,X + 5882 03f2 A02D mov r26,__tmp_reg__ + 5883 03f4 8EA3 std Y+38,r24 + 5884 03f6 9FA3 std Y+39,r25 + 5885 03f8 A8A7 std Y+40,r26 + 5886 03fa B9A7 std Y+41,r27 + 5887 .LVL590: + 5888 .LSM537: + 5889 03fc C114 cp r12,__zero_reg__ + 5890 03fe D104 cpc r13,__zero_reg__ + 5891 0400 E104 cpc r14,__zero_reg__ + 5892 0402 F104 cpc r15,__zero_reg__ + 5893 0404 01F4 brne .+2 + 5894 0406 00C0 rjmp .L303 + 5895 .LBB41: + 5896 .LBB42: + 5897 .LSM538: + 5898 0408 B1E0 ldi r27,lo8(1) + 5899 040a CB16 cp r12,r27 + 5900 040c D104 cpc r13,__zero_reg__ + 5901 040e E104 cpc r14,__zero_reg__ + 5902 0410 F104 cpc r15,__zero_reg__ + 5903 0412 01F4 brne .+2 + 5904 0414 00C0 rjmp .L304 + 5905 0416 828D ldd r24,Z+26 + 5906 0418 938D ldd r25,Z+27 + 5907 041a A48D ldd r26,Z+28 + 5908 041c B58D ldd r27,Z+29 + 5909 041e C816 cp r12,r24 + 5910 0420 D906 cpc r13,r25 + 5911 0422 EA06 cpc r14,r26 + 5912 0424 FB06 cpc r15,r27 + 5913 0426 00F0 brlo .+2 + 5914 0428 00C0 rjmp .L304 + 5915 042a 4601 movw r8,r12 + 5916 042c 5701 movw r10,r14 + 5917 042e 00C0 rjmp .L305 + 5918 .LVL591: + 5919 .L309: + 5920 .LBE42: + 5921 .LSM539: + 5922 0430 C101 movw r24,r2 + 5923 0432 B501 movw r22,r10 + 5924 0434 A401 movw r20,r8 + 5925 0436 0E94 0000 call get_fat + 5926 .LVL592: + 5927 043a 2B01 movw r4,r22 + 5928 043c 3C01 movw r6,r24 + 5929 .LVL593: + 5930 .LBB43: + 5931 .LSM540: + 5932 043e 6115 cp r22,__zero_reg__ + 5933 0440 7105 cpc r23,__zero_reg__ + 5934 0442 8105 cpc r24,__zero_reg__ + 5935 0444 9105 cpc r25,__zero_reg__ + 5936 0446 01F4 brne .+2 + 5937 0448 00C0 rjmp .L306 + 5938 .LVL594: + 5939 .LSM541: + 5940 044a 6130 cpi r22,lo8(1) + 5941 044c 7105 cpc r23,__zero_reg__ + 5942 044e 8105 cpc r24,__zero_reg__ + 5943 0450 9105 cpc r25,__zero_reg__ + 5944 0452 01F0 breq .L304 + 5945 .LSM542: + 5946 0454 6F3F cpi r22,lo8(-1) + 5947 0456 2FEF ldi r18,hi8(-1) + 5948 0458 7207 cpc r23,r18 + 5949 045a 2FEF ldi r18,hlo8(-1) + 5950 045c 8207 cpc r24,r18 + 5951 045e 2FEF ldi r18,hhi8(-1) + 5952 0460 9207 cpc r25,r18 + 5953 0462 01F4 brne .L307 + 5954 0464 21E0 ldi r18,lo8(1) + 5955 .LVL595: + 5956 0466 00C0 rjmp .L262 + 5957 .LVL596: + 5958 .L307: + 5959 .LBE43: + 5960 .LSM543: + 5961 0468 C101 movw r24,r2 + 5962 046a B501 movw r22,r10 + 5963 046c A401 movw r20,r8 + 5964 046e 00E0 ldi r16,lo8(0) + 5965 0470 10E0 ldi r17,hi8(0) + 5966 0472 20E0 ldi r18,hlo8(0) + 5967 0474 30E0 ldi r19,hhi8(0) + 5968 .LVL597: + 5969 0476 0E94 0000 call put_fat + 5970 .LVL598: + 5971 047a 282F mov r18,r24 + 5972 .LVL599: + 5973 .LBB44: + 5974 .LSM544: + 5975 047c 8823 tst r24 + 5976 047e 01F0 breq .+2 + 5977 0480 00C0 rjmp .L262 + 5978 .LVL600: + 5979 .LSM545: + 5980 0482 F101 movw r30,r2 + 5981 0484 8685 ldd r24,Z+14 + 5982 0486 9785 ldd r25,Z+15 + 5983 0488 A089 ldd r26,Z+16 + 5984 048a B189 ldd r27,Z+17 + 5985 .LVL601: + 5986 048c 8F3F cpi r24,lo8(-1) + 5987 048e FFEF ldi r31,hi8(-1) + 5988 0490 9F07 cpc r25,r31 + 5989 0492 FFEF ldi r31,hlo8(-1) + 5990 0494 AF07 cpc r26,r31 + 5991 0496 FFEF ldi r31,hhi8(-1) + 5992 0498 BF07 cpc r27,r31 + 5993 049a 01F0 breq .L308 + 5994 .LSM546: + 5995 049c 0196 adiw r24,1 + 5996 049e A11D adc r26,__zero_reg__ + 5997 04a0 B11D adc r27,__zero_reg__ + 5998 04a2 F101 movw r30,r2 + 5999 04a4 8687 std Z+14,r24 + 6000 04a6 9787 std Z+15,r25 + 6001 04a8 A08B std Z+16,r26 + 6002 04aa B18B std Z+17,r27 + 6003 .LSM547: + 6004 04ac 21E0 ldi r18,lo8(1) + 6005 .LVL602: + 6006 04ae 2583 std Z+5,r18 + 6007 .LVL603: + 6008 .L308: + 6009 04b0 5301 movw r10,r6 + 6010 04b2 4201 movw r8,r4 + 6011 .LVL604: + 6012 .L305: + 6013 .LSM548: + 6014 04b4 F101 movw r30,r2 + 6015 04b6 828D ldd r24,Z+26 + 6016 04b8 938D ldd r25,Z+27 + 6017 04ba A48D ldd r26,Z+28 + 6018 04bc B58D ldd r27,Z+29 + 6019 04be 8816 cp r8,r24 + 6020 04c0 9906 cpc r9,r25 + 6021 04c2 AA06 cpc r10,r26 + 6022 04c4 BB06 cpc r11,r27 + 6023 04c6 00F4 brsh .+2 + 6024 04c8 00C0 rjmp .L309 + 6025 04ca 00C0 rjmp .L306 + 6026 .LVL605: + 6027 .L304: + 6028 04cc 22E0 ldi r18,lo8(2) + 6029 04ce 00C0 rjmp .L262 + 6030 .LVL606: + 6031 .L303: + 6032 .LBE44: + 6033 .LBE41: + 6034 .LSM549: + 6035 04d0 8D85 ldd r24,Y+13 + 6036 04d2 9E85 ldd r25,Y+14 + 6037 04d4 4EA1 ldd r20,Y+38 + 6038 04d6 5FA1 ldd r21,Y+39 + 6039 04d8 68A5 ldd r22,Y+40 + 6040 04da 79A5 ldd r23,Y+41 + 6041 04dc 0E94 0000 call move_window + 6042 .LVL607: + 6043 04e0 282F mov r18,r24 + 6044 .LVL608: + 6045 .LSM550: + 6046 04e2 8823 tst r24 + 6047 04e4 01F0 breq .+2 + 6048 04e6 00C0 rjmp .L262 + 6049 .LVL609: + 6050 .L300: + 6051 .LSM551: + 6052 04e8 FDA1 ldd r31,Y+37 + 6053 04ea F3FF sbrs r31,3 + 6054 04ec 00C0 rjmp .L310 + 6055 .LSM552: + 6056 04ee AAA5 ldd r26,Y+42 + 6057 04f0 BBA5 ldd r27,Y+43 + 6058 04f2 1B96 adiw r26,11 + 6059 04f4 1C92 st X,__zero_reg__ + 6060 .LSM553: + 6061 04f6 0E94 0000 call get_fattime + 6062 .LVL610: + 6063 .LSM554: + 6064 04fa EAA5 ldd r30,Y+42 + 6065 04fc FBA5 ldd r31,Y+43 + 6066 04fe 6687 std Z+14,r22 + 6067 0500 7787 std Z+15,r23 + 6068 0502 808B std Z+16,r24 + 6069 0504 918B std Z+17,r25 + 6070 .LSM555: + 6071 0506 ED85 ldd r30,Y+13 + 6072 0508 FE85 ldd r31,Y+14 + 6073 050a 81E0 ldi r24,lo8(1) + 6074 050c 8483 std Z+4,r24 + 6075 .LSM556: + 6076 050e FDA1 ldd r31,Y+37 + 6077 0510 F062 ori r31,lo8(32) + 6078 0512 FDA3 std Y+37,r31 + 6079 .LVL611: + 6080 0514 00C0 rjmp .L310 + 6081 .LVL612: + 6082 .L296: + 6083 .LBE40: + 6084 .LSM557: + 6085 0516 2223 tst r18 + 6086 0518 01F0 breq .+2 + 6087 051a 00C0 rjmp .L262 + 6088 .LSM558: + 6089 051c 8F8D ldd r24,Y+31 + 6090 051e 98A1 ldd r25,Y+32 + 6091 0520 9BA7 std Y+43,r25 + 6092 0522 8AA7 std Y+42,r24 + 6093 .LVL613: + 6094 .LSM559: + 6095 0524 0097 sbiw r24,0 + 6096 0526 01F4 brne .+2 + 6097 0528 00C0 rjmp .L311 + 6098 052a DC01 movw r26,r24 + 6099 .LVL614: + 6100 052c 1B96 adiw r26,11 + 6101 052e 8C91 ld r24,X + 6102 0530 84FD sbrc r24,4 + 6103 0532 00C0 rjmp .L311 + 6104 .LSM560: + 6105 0534 41FF sbrs r20,1 + 6106 0536 00C0 rjmp .L310 + 6107 0538 80FD sbrc r24,0 + 6108 053a 00C0 rjmp .L302 + 6109 .LVL615: + 6110 .L310: + 6111 .LSM561: + 6112 053c 6D85 ldd r22,Y+13 + 6113 053e 7E85 ldd r23,Y+14 + 6114 .LVL616: + 6115 0540 FB01 movw r30,r22 + 6116 .LVL617: + 6117 0542 22A5 ldd r18,Z+42 + 6118 0544 33A5 ldd r19,Z+43 + 6119 0546 44A5 ldd r20,Z+44 + 6120 0548 55A5 ldd r21,Z+45 + 6121 .LVL618: + 6122 054a ACA5 ldd r26,Y+44 + 6123 054c BDA5 ldd r27,Y+45 + 6124 054e 5A96 adiw r26,26 + 6125 0550 2D93 st X+,r18 + 6126 0552 3D93 st X+,r19 + 6127 0554 4D93 st X+,r20 + 6128 0556 5C93 st X,r21 + 6129 0558 5D97 sbiw r26,26+3 + 6130 .LSM562: + 6131 055a 8F8D ldd r24,Y+31 + 6132 055c 98A1 ldd r25,Y+32 + 6133 .LVL619: + 6134 055e 5F96 adiw r26,30+1 + 6135 0560 9C93 st X,r25 + 6136 0562 8E93 st -X,r24 + 6137 0564 5E97 sbiw r26,30 + 6138 .LSM563: + 6139 0566 EDA1 ldd r30,Y+37 + 6140 0568 1496 adiw r26,4 + 6141 056a EC93 st X,r30 + 6142 .LSM564: + 6143 056c AAA5 ldd r26,Y+42 + 6144 056e BBA5 ldd r27,Y+43 + 6145 0570 5496 adiw r26,20 + 6146 0572 8D91 ld r24,X+ + 6147 0574 9C91 ld r25,X + 6148 0576 5597 sbiw r26,20+1 + 6149 0578 A0E0 ldi r26,lo8(0) + 6150 057a B0E0 ldi r27,hi8(0) + 6151 057c DC01 movw r26,r24 + 6152 057e 9927 clr r25 + 6153 0580 8827 clr r24 + 6154 0582 EAA5 ldd r30,Y+42 + 6155 0584 FBA5 ldd r31,Y+43 + 6156 0586 228D ldd r18,Z+26 + 6157 0588 338D ldd r19,Z+27 + 6158 058a 40E0 ldi r20,lo8(0) + 6159 058c 50E0 ldi r21,hi8(0) + 6160 058e 822B or r24,r18 + 6161 0590 932B or r25,r19 + 6162 0592 A42B or r26,r20 + 6163 0594 B52B or r27,r21 + 6164 0596 ECA5 ldd r30,Y+44 + 6165 0598 FDA5 ldd r31,Y+45 + 6166 059a 8687 std Z+14,r24 + 6167 059c 9787 std Z+15,r25 + 6168 059e A08B std Z+16,r26 + 6169 05a0 B18B std Z+17,r27 + 6170 .LSM565: + 6171 05a2 EAA5 ldd r30,Y+42 + 6172 05a4 FBA5 ldd r31,Y+43 + 6173 05a6 848D ldd r24,Z+28 + 6174 05a8 958D ldd r25,Z+29 + 6175 05aa A68D ldd r26,Z+30 + 6176 05ac B78D ldd r27,Z+31 + 6177 05ae ECA5 ldd r30,Y+44 + 6178 05b0 FDA5 ldd r31,Y+45 + 6179 05b2 8287 std Z+10,r24 + 6180 05b4 9387 std Z+11,r25 + 6181 05b6 A487 std Z+12,r26 + 6182 05b8 B587 std Z+13,r27 + 6183 .LSM566: + 6184 05ba 1682 std Z+6,__zero_reg__ + 6185 05bc 1782 std Z+7,__zero_reg__ + 6186 05be 1086 std Z+8,__zero_reg__ + 6187 05c0 1186 std Z+9,__zero_reg__ + 6188 05c2 8FEF ldi r24,lo8(-1) + 6189 05c4 8583 std Z+5,r24 + 6190 .LSM567: + 6191 05c6 ECA5 ldd r30,Y+44 + 6192 05c8 FDA5 ldd r31,Y+45 + 6193 05ca 168A std Z+22,__zero_reg__ + 6194 05cc 178A std Z+23,__zero_reg__ + 6195 05ce 108E std Z+24,__zero_reg__ + 6196 05d0 118E std Z+25,__zero_reg__ + 6197 .LSM568: + 6198 05d2 7183 std Z+1,r23 + 6199 05d4 6083 st Z,r22 + 6200 05d6 DB01 movw r26,r22 + 6201 05d8 1696 adiw r26,6 + 6202 05da 8D91 ld r24,X+ + 6203 05dc 9C91 ld r25,X + 6204 05de 1797 sbiw r26,6+1 + 6205 05e0 9383 std Z+3,r25 + 6206 05e2 8283 std Z+2,r24 + 6207 05e4 20E0 ldi r18,lo8(0) + 6208 .LVL620: + 6209 05e6 00C0 rjmp .L262 + 6210 .LVL621: + 6211 .L302: + 6212 .LSM569: + 6213 05e8 27E0 ldi r18,lo8(7) + 6214 05ea 00C0 rjmp .L262 + 6215 .L311: + 6216 05ec 24E0 ldi r18,lo8(4) + 6217 .LVL622: + 6218 .L262: + 6219 .LSM570: + 6220 05ee 822F mov r24,r18 + 6221 /* epilogue start */ + 6222 05f0 AD96 adiw r28,45 + 6223 05f2 0FB6 in __tmp_reg__,__SREG__ + 6224 05f4 F894 cli + 6225 05f6 DEBF out __SP_H__,r29 + 6226 05f8 0FBE out __SREG__,__tmp_reg__ + 6227 05fa CDBF out __SP_L__,r28 + 6228 05fc CF91 pop r28 + 6229 05fe DF91 pop r29 + 6230 0600 1F91 pop r17 + 6231 0602 0F91 pop r16 + 6232 .LVL623: + 6233 0604 FF90 pop r15 + 6234 0606 EF90 pop r14 + 6235 .LVL624: + 6236 0608 DF90 pop r13 + 6237 060a CF90 pop r12 + 6238 .LVL625: + 6239 060c BF90 pop r11 + 6240 060e AF90 pop r10 + 6241 .LVL626: + 6242 0610 9F90 pop r9 + 6243 0612 8F90 pop r8 + 6244 0614 7F90 pop r7 + 6245 0616 6F90 pop r6 + 6246 0618 5F90 pop r5 + 6247 061a 4F90 pop r4 + 6248 .LVL627: + 6249 061c 3F90 pop r3 + 6250 061e 2F90 pop r2 + 6251 0620 0895 ret + 6252 .LVL628: + 6253 .L298: + 6254 .LBB51: + 6255 .LBB50: + 6256 .LSM571: + 6257 0622 4B8D ldd r20,Y+27 + 6258 0624 5C8D ldd r21,Y+28 + 6259 0626 6D8D ldd r22,Y+29 + 6260 0628 7E8D ldd r23,Y+30 + 6261 062a 8D85 ldd r24,Y+13 + 6262 062c 9E85 ldd r25,Y+14 + 6263 .LVL629: + 6264 062e 0E94 0000 call move_window + 6265 .LVL630: + 6266 0632 282F mov r18,r24 + 6267 .LVL631: + 6268 .LBB49: + 6269 .LSM572: + 6270 0634 8823 tst r24 + 6271 0636 01F4 brne .L262 + 6272 .LVL632: + 6273 0638 00C0 rjmp .L323 + 6274 .LVL633: + 6275 .L306: + 6276 .LBE49: + 6277 .LBE50: + 6278 .LSM573: + 6279 063a ED85 ldd r30,Y+13 + 6280 063c FE85 ldd r31,Y+14 + 6281 063e 0894 sec + 6282 0640 C108 sbc r12,__zero_reg__ + 6283 0642 D108 sbc r13,__zero_reg__ + 6284 0644 E108 sbc r14,__zero_reg__ + 6285 0646 F108 sbc r15,__zero_reg__ + 6286 .LVL634: + 6287 0648 C286 std Z+10,r12 + 6288 064a D386 std Z+11,r13 + 6289 064c E486 std Z+12,r14 + 6290 064e F586 std Z+13,r15 + 6291 0650 00C0 rjmp .L303 + 6292 .LVL635: + 6293 .L270: + 6294 0652 9A2F mov r25,r26 + 6295 0654 60E0 ldi r22,lo8(0) + 6296 .LVL636: + 6297 0656 00C0 rjmp .L313 + 6298 .LBE51: + 6299 .LFE73: + 6301 .lcomm FatFs,2 + 6302 .lcomm Fsid,2 + 6503 .Letext0: DEFINED SYMBOLS *ABS*:00000000 ff.c -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:2 *ABS*:0000003f __SREG__ -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:3 *ABS*:0000003e __SP_H__ -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:4 *ABS*:0000003d __SP_L__ -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:5 *ABS*:00000034 __CCP__ -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:6 *ABS*:00000000 __tmp_reg__ -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:7 *ABS*:00000001 __zero_reg__ -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:18 .text.mem_cpy:00000000 mem_cpy -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:62 .text.mem_set:00000000 mem_set -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:93 .text.clust2sect:00000000 clust2sect -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:175 .text.f_mount:00000000 f_mount +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:2 *ABS*:0000003f __SREG__ +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:3 *ABS*:0000003e __SP_H__ +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:4 *ABS*:0000003d __SP_L__ +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:5 *ABS*:00000034 __CCP__ +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:6 *ABS*:00000000 __tmp_reg__ +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:7 *ABS*:00000001 __zero_reg__ +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:18 .text.mem_cpy:00000000 mem_cpy +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:62 .text.mem_set:00000000 mem_set +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:93 .text.clust2sect:00000000 clust2sect +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:175 .text.f_mount:00000000 f_mount .bss:00000000 FatFs -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:218 .text.validate:00000000 validate -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:257 .text.move_window:00000000 move_window -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:420 .text.put_fat:00000000 put_fat -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:740 .text.get_fat:00000000 get_fat -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:1027 .text.create_chain:00000000 create_chain -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:1350 .text.f_lseek:00000000 f_lseek -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:1924 .text.dir_seek:00000000 dir_seek -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:2173 .text.f_write:00000000 f_write -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:2744 .text.f_putc:00000000 f_putc -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:2807 .text.f_puts:00000000 f_puts -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:2868 .text.f_printf:00000000 f_printf -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:3356 .text.dir_next:00000000 dir_next -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:3698 .text.f_read:00000000 f_read -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:4143 .text.f_gets:00000000 f_gets -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:4257 .text.check_fs:00000000 check_fs -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:4412 .text.f_sync:00000000 f_sync -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:4723 .text.f_close:00000000 f_close -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:4754 .text.chk_mounted:00000000 chk_mounted -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:6868 .bss:00000002 Fsid -C:\Users\Dean\AppData\Local\Temp/ccGlxtj5.s:5604 .text.f_open:00000000 f_open +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:218 .text.validate:00000000 validate +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:257 .text.move_window:00000000 move_window +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:420 .text.put_fat:00000000 put_fat +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:726 .text.get_fat:00000000 get_fat +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:977 .text.create_chain:00000000 create_chain +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:1300 .text.f_lseek:00000000 f_lseek +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:1874 .text.dir_seek:00000000 dir_seek +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:2123 .text.f_write:00000000 f_write +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:2694 .text.f_putc:00000000 f_putc +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:2757 .text.f_puts:00000000 f_puts +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:2818 .text.f_printf:00000000 f_printf +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:3306 .text.dir_next:00000000 dir_next +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:3648 .text.f_read:00000000 f_read +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:4093 .text.f_gets:00000000 f_gets +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:4207 .text.check_fs:00000000 check_fs +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:4292 .text.f_sync:00000000 f_sync +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:4540 .text.f_close:00000000 f_close +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:4571 .text.chk_mounted:00000000 chk_mounted +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:6301 .bss:00000002 Fsid +C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:5127 .text.f_open:00000000 f_open UNDEFINED SYMBOLS __mulsi3 diff --git a/Projects/TemperatureDataLogger/Lib/FATFs/ffconf.h b/Projects/TemperatureDataLogger/Lib/FATFs/ffconf.h index 06859a0466..88fed5b449 100644 --- a/Projects/TemperatureDataLogger/Lib/FATFs/ffconf.h +++ b/Projects/TemperatureDataLogger/Lib/FATFs/ffconf.h @@ -139,7 +139,7 @@ / System Configurations /----------------------------------------------------------------------------*/ -#define _WORD_ACCESS 0 /* 0 or 1 */ +#define _WORD_ACCESS 1 /* 0 or 1 */ /* The _WORD_ACCESS option defines which access method is used to the word / data on the FAT volume. / diff --git a/Projects/TemperatureDataLogger/Lib/SCSI.lst b/Projects/TemperatureDataLogger/Lib/SCSI.lst index c158b8549b..6817a4fd9b 100644 --- a/Projects/TemperatureDataLogger/Lib/SCSI.lst +++ b/Projects/TemperatureDataLogger/Lib/SCSI.lst @@ -712,18 +712,18 @@ 772 .Letext0: DEFINED SYMBOLS *ABS*:00000000 SCSI.c -C:\Users\Dean\AppData\Local\Temp/ccIi4Dyn.s:2 *ABS*:0000003f __SREG__ -C:\Users\Dean\AppData\Local\Temp/ccIi4Dyn.s:3 *ABS*:0000003e __SP_H__ -C:\Users\Dean\AppData\Local\Temp/ccIi4Dyn.s:4 *ABS*:0000003d __SP_L__ -C:\Users\Dean\AppData\Local\Temp/ccIi4Dyn.s:5 *ABS*:00000034 __CCP__ -C:\Users\Dean\AppData\Local\Temp/ccIi4Dyn.s:6 *ABS*:00000000 __tmp_reg__ -C:\Users\Dean\AppData\Local\Temp/ccIi4Dyn.s:7 *ABS*:00000001 __zero_reg__ -C:\Users\Dean\AppData\Local\Temp/ccIi4Dyn.s:18 .text.SCSI_Command_Inquiry:00000000 SCSI_Command_Inquiry -C:\Users\Dean\AppData\Local\Temp/ccIi4Dyn.s:719 .data:00000024 SenseData -C:\Users\Dean\AppData\Local\Temp/ccIi4Dyn.s:700 .data:00000000 InquiryData -C:\Users\Dean\AppData\Local\Temp/ccIi4Dyn.s:184 .text.SCSI_Command_Request_Sense:00000000 SCSI_Command_Request_Sense -C:\Users\Dean\AppData\Local\Temp/ccIi4Dyn.s:303 .text.SCSI_Command_ReadWrite_10:00000000 SCSI_Command_ReadWrite_10 -C:\Users\Dean\AppData\Local\Temp/ccIi4Dyn.s:467 .text.SCSI_DecodeSCSICommand:00000000 SCSI_DecodeSCSICommand +C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:2 *ABS*:0000003f __SREG__ +C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:3 *ABS*:0000003e __SP_H__ +C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:4 *ABS*:0000003d __SP_L__ +C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:5 *ABS*:00000034 __CCP__ +C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:6 *ABS*:00000000 __tmp_reg__ +C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:7 *ABS*:00000001 __zero_reg__ +C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:18 .text.SCSI_Command_Inquiry:00000000 SCSI_Command_Inquiry +C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:719 .data:00000024 SenseData +C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:700 .data:00000000 InquiryData +C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:184 .text.SCSI_Command_Request_Sense:00000000 SCSI_Command_Request_Sense +C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:303 .text.SCSI_Command_ReadWrite_10:00000000 SCSI_Command_ReadWrite_10 +C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:467 .text.SCSI_DecodeSCSICommand:00000000 SCSI_DecodeSCSICommand UNDEFINED SYMBOLS Endpoint_Write_Stream_LE diff --git a/Projects/TemperatureDataLogger/TempDataLogger.c b/Projects/TemperatureDataLogger/TempDataLogger.c index 6cb1792a46..5872a0830f 100644 --- a/Projects/TemperatureDataLogger/TempDataLogger.c +++ b/Projects/TemperatureDataLogger/TempDataLogger.c @@ -64,7 +64,7 @@ FATFS DiskFATState; /** FAT Fs structure to hold a FAT file handle for the log data write destination. */ FIL TempLogFile; -/** Counter to count the number of 10 millisecond tick that has elapsed since the last sample */ +/** Counter to count the number of 10 millisecond ticks that has elapsed since the last sample */ uint16_t CurrentLogTick; @@ -73,6 +73,10 @@ ISR(TIMER1_COMPA_vect, ISR_BLOCK) if (CurrentLogTick++ != LOG_INTERVAL_10MS) return; + uint8_t LEDMask = LEDs_GetLEDs(); + + LEDs_SetAllLEDs(LEDMASK_USB_BUSY); + CurrentLogTick = 0; if (USB_DeviceState == DEVICE_STATE_Unattached) @@ -80,6 +84,8 @@ ISR(TIMER1_COMPA_vect, ISR_BLOCK) f_printf(&TempLogFile, "%d Degrees\r\n", Temperature_GetTemperature()); f_sync(&TempLogFile); } + + LEDs_SetAllLEDs(LEDMask); } @@ -96,11 +102,12 @@ int main(void) f_mount(0, &DiskFATState); f_open(&TempLogFile, LOG_FILENAME, FA_OPEN_ALWAYS | FA_WRITE); f_lseek(&TempLogFile, TempLogFile.fsize); - - /* Write out the log seperator line */ f_printf(&TempLogFile, "===========================\r\n"); - Temperature_GetTemperature(); // Discard first temperature reading to ensure accuracy - + + /* Discard the first sample from the temperature sensor, as it is generally incorrect */ + uint8_t Dummy = Temperature_GetTemperature(); + (void)Dummy; + for (;;) { MS_Device_USBTask(&Disk_MS_Interface); @@ -128,8 +135,7 @@ void SetupHardware(void) /* 10ms interval timer configuration */ OCR1A = (((F_CPU / 1024) / 100) - 1); - TCCR1A = (1 << WGM01); // CTC mode - TCCR1B = (1 << CS12) | (1 << CS10); // Fcpu/1024 speed + TCCR1B = (1 << WGM12) | (1 << CS12) | (1 << CS10); // CTC mode, Fcpu/1024 speed TIMSK1 = (1 << OCIE1A); /* Clear Dataflash sector protections, if enabled */ @@ -154,6 +160,7 @@ void EVENT_USB_Device_Disconnect(void) f_mount(0, &DiskFATState); f_open(&TempLogFile, LOG_FILENAME, FA_OPEN_ALWAYS | FA_WRITE); f_lseek(&TempLogFile, TempLogFile.fsize); + f_printf(&TempLogFile, "===========================\r\n"); } /** Event handler for the library USB Configuration Changed event. */