📄 fat.lst
字号:
645 0408 0E94 0000 call __udivmodsi4
646 040c DC01 movw r26,r24
647 040e CB01 movw r24,r22
648 0410 E80E add r14,r24
649 0412 F91E adc r15,r25
650 0414 0A1F adc r16,r26
651 0416 1B1F adc r17,r27
652 0418 E982 std Y+1,r14
653 041a FA82 std Y+2,r15
654 041c 0B83 std Y+3,r16
655 041e 1C83 std Y+4,r17
656 .LM64:
657 0420 A201 movw r20,r4
658 0422 C801 movw r24,r16
659 0424 B701 movw r22,r14
660 0426 0E94 0000 call mmc_read_sector
661 /* epilogue: frame size=4 */
662 042a 2496 adiw r28,4
663 042c 0FB6 in __tmp_reg__,__SREG__
664 042e F894 cli
665 0430 DEBF out __SP_H__,r29
666 0432 0FBE out __SREG__,__tmp_reg__
667 0434 CDBF out __SP_L__,r28
668 0436 DF91 pop r29
669 0438 CF91 pop r28
670 043a 1F91 pop r17
671 043c 0F91 pop r16
672 043e FF90 pop r15
673 0440 EF90 pop r14
674 0442 DF90 pop r13
675 0444 CF90 pop r12
676 0446 BF90 pop r11
677 0448 AF90 pop r10
678 044a 9F90 pop r9
679 044c 8F90 pop r8
680 044e 7F90 pop r7
681 0450 6F90 pop r6
682 0452 5F90 pop r5
683 0454 4F90 pop r4
684 0456 0895 ret
685 /* epilogue end (size=23) */
686 /* function fat_read_file size 122 (75) */
687 .LFE9:
689 .global fat_write_file
691 fat_write_file:
692 .LFB10:
693 .LM65:
694 /* prologue: frame size=517 */
695 0458 2F92 push r2
696 045a 3F92 push r3
697 045c 4F92 push r4
698 045e 5F92 push r5
699 0460 6F92 push r6
700 0462 7F92 push r7
701 0464 8F92 push r8
702 0466 9F92 push r9
703 0468 AF92 push r10
704 046a BF92 push r11
705 046c CF92 push r12
706 046e DF92 push r13
707 0470 EF92 push r14
708 0472 FF92 push r15
709 0474 0F93 push r16
710 0476 1F93 push r17
711 0478 CF93 push r28
712 047a DF93 push r29
713 047c CDB7 in r28,__SP_L__
714 047e DEB7 in r29,__SP_H__
715 0480 C550 subi r28,lo8(517)
716 0482 D240 sbci r29,hi8(517)
717 0484 0FB6 in __tmp_reg__,__SREG__
718 0486 F894 cli
719 0488 DEBF out __SP_H__,r29
720 048a 0FBE out __SREG__,__tmp_reg__
721 048c CDBF out __SP_L__,r28
722 /* prologue end (size=27) */
723 048e 8C01 movw r16,r24
724 0490 1B01 movw r2,r22
725 0492 2901 movw r4,r18
726 0494 3A01 movw r6,r20
727 .LM66:
728 0496 8091 0000 lds r24,cluster_size
729 049a 282F mov r18,r24
730 049c 3327 clr r19
731 049e 4427 clr r20
732 04a0 5527 clr r21
733 04a2 C301 movw r24,r6
734 04a4 B201 movw r22,r4
735 04a6 0E94 0000 call __udivmodsi4
736 04aa E2E0 ldi r30,lo8(514)
737 04ac 8E2E mov r8,r30
738 04ae 9E2E mov r9,r30
739 04b0 8C0E add r8,r28
740 04b2 9D1E adc r9,r29
741 04b4 F401 movw r30,r8
742 04b6 2083 st Z,r18
743 04b8 3183 std Z+1,r19
744 04ba 4283 std Z+2,r20
745 04bc 5383 std Z+3,r21
746 .LM67:
747 04be AE01 movw r20,r28
748 04c0 4F5F subi r20,lo8(-(1))
749 04c2 5F4F sbci r21,hi8(-(1))
750 04c4 B401 movw r22,r8
751 04c6 C801 movw r24,r16
752 04c8 0E94 0000 call fat_load
753 .LM68:
754 04cc F401 movw r30,r8
755 04ce 8081 ld r24,Z
756 04d0 9181 ldd r25,Z+1
757 04d2 A281 ldd r26,Z+2
758 04d4 B381 ldd r27,Z+3
759 04d6 0297 sbiw r24,2
760 04d8 A109 sbc r26,__zero_reg__
761 04da B109 sbc r27,__zero_reg__
762 04dc 2091 0000 lds r18,cluster_size
763 04e0 A22E mov r10,r18
764 04e2 BB24 clr r11
765 04e4 CC24 clr r12
766 04e6 DD24 clr r13
767 04e8 BC01 movw r22,r24
768 04ea CD01 movw r24,r26
769 04ec A601 movw r20,r12
770 04ee 9501 movw r18,r10
771 04f0 0E94 0000 call __mulsi3
772 04f4 7B01 movw r14,r22
773 04f6 8C01 movw r16,r24
774 04f8 8091 0000 lds r24,cluster_offset
775 04fc 9091 0000 lds r25,(cluster_offset)+1
776 0500 AA27 clr r26
777 0502 BB27 clr r27
778 0504 E80E add r14,r24
779 0506 F91E adc r15,r25
780 0508 0A1F adc r16,r26
781 050a 1B1F adc r17,r27
782 .LM69:
783 050c C301 movw r24,r6
784 050e B201 movw r22,r4
785 0510 0E94 0000 call __udivmodsi4
786 0514 DC01 movw r26,r24
787 0516 CB01 movw r24,r22
788 0518 E80E add r14,r24
789 051a F91E adc r15,r25
790 051c 0A1F adc r16,r26
791 051e 1B1F adc r17,r27
792 0520 F401 movw r30,r8
793 0522 E082 st Z,r14
794 0524 F182 std Z+1,r15
795 0526 0283 std Z+2,r16
796 0528 1383 std Z+3,r17
797 .LM70:
798 052a A101 movw r20,r2
799 052c C801 movw r24,r16
800 052e B701 movw r22,r14
801 0530 0E94 0000 call mmc_write_sector
802 /* epilogue: frame size=517 */
803 0534 CB5F subi r28,lo8(-517)
804 0536 DD4F sbci r29,hi8(-517)
805 0538 0FB6 in __tmp_reg__,__SREG__
806 053a F894 cli
807 053c DEBF out __SP_H__,r29
808 053e 0FBE out __SREG__,__tmp_reg__
809 0540 CDBF out __SP_L__,r28
810 0542 DF91 pop r29
811 0544 CF91 pop r28
812 0546 1F91 pop r17
813 0548 0F91 pop r16
814 054a FF90 pop r15
815 054c EF90 pop r14
816 054e DF90 pop r13
817 0550 CF90 pop r12
818 0552 BF90 pop r11
819 0554 AF90 pop r10
820 0556 9F90 pop r9
821 0558 8F90 pop r8
822 055a 7F90 pop r7
823 055c 6F90 pop r6
824 055e 5F90 pop r5
825 0560 4F90 pop r4
826 0562 3F90 pop r3
827 0564 2F90 pop r2
828 0566 0895 ret
829 /* epilogue end (size=26) */
830 /* function fat_write_file size 136 (83) */
831 .LFE10:
833 .global fat_search_file
835 fat_search_file:
836 .LFB11:
837 .LM71:
838 /* prologue: frame size=0 */
839 0568 4F92 push r4
840 056a 5F92 push r5
841 056c 6F92 push r6
842 056e 7F92 push r7
843 0570 8F92 push r8
844 0572 9F92 push r9
845 0574 AF92 push r10
846 0576 BF92 push r11
847 0578 DF92 push r13
848 057a EF92 push r14
849 057c FF92 push r15
850 057e 0F93 push r16
851 0580 1F93 push r17
852 0582 CF93 push r28
853 0584 DF93 push r29
854 /* prologue end (size=15) */
855 0586 2C01 movw r4,r24
856 0588 7B01 movw r14,r22
857 058a 3A01 movw r6,r20
858 058c 4901 movw r8,r18
859 058e E801 movw r28,r16
860 .LM72:
861 0590 FB01 movw r30,r22
862 0592 A080 ld r10,Z
863 0594 B180 ldd r11,Z+1
864 .LBB8:
865 .LM73:
866 0596 DD24 clr r13
867 .L44:
868 .LM74:
869 0598 8E01 movw r16,r28
870 059a 9401 movw r18,r8
871 059c A301 movw r20,r6
872 059e 6D2D mov r22,r13
873 05a0 C501 movw r24,r10
874 05a2 0E94 0000 call fat_read_dir_ent
875 05a6 F701 movw r30,r14
876 05a8 8083 st Z,r24
877 05aa 9183 std Z+1,r25
878 .LM75:
879 05ac 8F5F subi r24,lo8(-1)
880 05ae 9F4F sbci r25,hi8(-1)
881 05b0 19F4 brne .L42
882 .LM76:
883 05b2 80E0 ldi r24,lo8(0)
884 05b4 90E0 ldi r25,hi8(0)
885 05b6 0FC0 rjmp .L38
886 .L42:
887 .LM77:
888 05b8 BE01 movw r22,r28
889 05ba C201 movw r24,r4
890 05bc 0E94 0000 call strcasecmp
891 05c0 892B or r24,r25
892 05c2 19F4 brne .L41
893 .LM78:
894 05c4 81E0 ldi r24,lo8(1)
895 05c6 90E0 ldi r25,hi8(1)
896 05c8 06C0 rjmp .L38
897 .L41:
898 .LM79:
899 05ca D394 inc r13
900 05cc 23E6 ldi r18,lo8(99)
901 05ce 2D15 cp r18,r13
902 05d0 18F7 brsh .L44
903 .LBE8:
904 .LM80:
905 05d2 82E0 ldi r24,lo8(2)
906 05d4 90E0 ldi r25,hi8(2)
907 .L38:
908 /* epilogue: frame size=0 */
909 05d6 DF91 pop r29
910 05d8 CF91 pop r28
911 05da 1F91 pop r17
912 05dc 0F91 pop r16
913 05de FF90 pop r15
914 05e0 EF90 pop r14
915 05e2 DF90 pop r13
916 05e4 BF90 pop r11
917 05e6 AF90 pop r10
918 05e8 9F90 pop r9
919 05ea 8F90 pop r8
920 05ec 7F90 pop r7
921 05ee 6F90 pop r6
922 05f0 5F90 pop r5
923 05f2 4F90 pop r4
924 05f4 0895 ret
925 /* epilogue end (size=16) */
926 /* function fat_search_file size 72 (41) */
927 .LFE11:
929 .comm cluster_size,1,1
930 .comm fat_offset,2,1
931 .comm cluster_offset,2,1
932 .comm volume_boot_record_addr,2,1
933 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 fat.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
H:\DOKUME~1\ulrich\LOKALE~1\Temp/ccIXaaaa.s:20 .text:00000000 fat_addr
H:\DOKUME~1\ulrich\LOKALE~1\Temp/ccIXaaaa.s:73 .text:0000004e fat_root_dir_addr
*COM*:00000002 volume_boot_record_addr
H:\DOKUME~1\ulrich\LOKALE~1\Temp/ccIXaaaa.s:124 .text:0000009e fat_load
*COM*:00000002 fat_offset
H:\DOKUME~1\ulrich\LOKALE~1\Temp/ccIXaaaa.s:248 .text:00000162 fat_read_dir_ent
*COM*:00000001 cluster_size
*COM*:00000002 cluster_offset
H:\DOKUME~1\ulrich\LOKALE~1\Temp/ccIXaaaa.s:482 .text:000002ce fat_cluster_data_store
H:\DOKUME~1\ulrich\LOKALE~1\Temp/ccIXaaaa.s:561 .text:00000364 fat_read_file
H:\DOKUME~1\ulrich\LOKALE~1\Temp/ccIXaaaa.s:691 .text:00000458 fat_write_file
H:\DOKUME~1\ulrich\LOKALE~1\Temp/ccIXaaaa.s:835 .text:00000568 fat_search_file
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
mmc_read_sector
__mulsi3
__udivmodsi4
mmc_write_sector
strcasecmp
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -