📄 sd54.lst
字号:
789 0234 CC24 clr r12
790 0236 B7FC sbrc r11,7
791 0238 C094 com r12
792 023a DC2C mov r13,r12
793 .LM96:
794 023c CA01 movw r24,r20
795 023e AA27 clr r26
796 0240 BB27 clr r27
797 0242 E80E add r14,r24
798 0244 F91E adc r15,r25
799 0246 0A1F adc r16,r26
800 0248 1B1F adc r17,r27
801 024a 262F mov r18,r22
802 024c 3327 clr r19
803 024e 4427 clr r20
804 0250 5527 clr r21
805 0252 C601 movw r24,r12
806 0254 B501 movw r22,r10
807 0256 0E94 0000 call __mulsi3
808 025a DC01 movw r26,r24
809 025c CB01 movw r24,r22
810 025e 8E0D add r24,r14
811 0260 9F1D adc r25,r15
812 0262 A01F adc r26,r16
813 0264 B11F adc r27,r17
814 0266 8093 0000 sts add_of_boot,r24
815 026a 9093 0000 sts (add_of_boot)+1,r25
816 026e A093 0000 sts (add_of_boot)+2,r26
817 0272 B093 0000 sts (add_of_boot)+3,r27
818 .LM97:
819 0276 E092 0000 sts add_of_FAT1,r14
820 027a F092 0000 sts (add_of_FAT1)+1,r15
821 027e 0093 0000 sts (add_of_FAT1)+2,r16
822 0282 1093 0000 sts (add_of_FAT1)+3,r17
823 .LM98:
824 0286 EA0C add r14,r10
825 0288 FB1C adc r15,r11
826 028a 0C1D adc r16,r12
827 028c 1D1D adc r17,r13
828 028e E092 0000 sts add_of_FAT2,r14
829 0292 F092 0000 sts (add_of_FAT2)+1,r15
830 0296 0093 0000 sts (add_of_FAT2)+2,r16
831 029a 1093 0000 sts (add_of_FAT2)+3,r17
832 .LM99:
833 029e 909A sbi 50-0x20,0
834 /* epilogue: frame size=0 */
835 02a0 1F91 pop r17
836 02a2 0F91 pop r16
837 02a4 FF90 pop r15
838 02a6 EF90 pop r14
839 02a8 DF90 pop r13
840 02aa CF90 pop r12
841 02ac BF90 pop r11
842 02ae AF90 pop r10
843 02b0 0895 ret
844 /* epilogue end (size=9) */
845 /* function read_DBR size 126 (109) */
846 .LFE10:
848 .global read_FAT
850 read_FAT:
851 .LFB13:
852 .LM100:
853 /* prologue: frame size=0 */
854 02b2 6F92 push r6
855 02b4 7F92 push r7
856 02b6 8F92 push r8
857 02b8 9F92 push r9
858 02ba AF92 push r10
859 02bc BF92 push r11
860 02be CF92 push r12
861 02c0 DF92 push r13
862 02c2 EF92 push r14
863 02c4 FF92 push r15
864 02c6 0F93 push r16
865 02c8 1F93 push r17
866 /* prologue end (size=12) */
867 .LM101:
868 02ca 8091 0000 lds r24,FAT_c
869 02ce 9091 0000 lds r25,(FAT_c)+1
870 02d2 A091 0000 lds r26,(FAT_c)+2
871 02d6 B091 0000 lds r27,(FAT_c)+3
872 02da 8D5F subi r24,lo8(268435453)
873 02dc 9F4F sbci r25,hi8(268435453)
874 02de AF4F sbci r26,hlo8(268435453)
875 02e0 BF40 sbci r27,hhi8(268435453)
876 02e2 09F4 brne .+2
877 02e4 80C0 rjmp .L74
878 .LBB2:
879 .LM102:
880 02e6 8091 0000 lds r24,strat_c
881 02ea 9091 0000 lds r25,(strat_c)+1
882 02ee A091 0000 lds r26,(strat_c)+2
883 02f2 B091 0000 lds r27,(strat_c)+3
884 02f6 17E0 ldi r17,7
885 02f8 B695 1: lsr r27
886 02fa A795 ror r26
887 02fc 9795 ror r25
888 02fe 8795 ror r24
889 0300 1A95 dec r17
890 0302 D1F7 brne 1b
891 0304 4091 0000 lds r20,add_of_FAT1
892 0308 5091 0000 lds r21,(add_of_FAT1)+1
893 030c 6091 0000 lds r22,(add_of_FAT1)+2
894 0310 7091 0000 lds r23,(add_of_FAT1)+3
895 0314 480F add r20,r24
896 0316 591F adc r21,r25
897 0318 6A1F adc r22,r26
898 031a 7B1F adc r23,r27
899 031c 20E0 ldi r18,lo8(0)
900 031e 82E1 ldi r24,lo8(18)
901 0320 0E94 0000 call sdcmd
902 .LM103:
903 0324 0E94 0000 call readsd
904 .LM104:
905 0328 E091 0000 lds r30,FAT_c
906 032c F091 0000 lds r31,(FAT_c)+1
907 0330 EE0F lsl r30
908 0332 FF1F rol r31
909 0334 EE0F lsl r30
910 0336 FF1F rol r31
911 0338 E050 subi r30,lo8(-(buffer+8))
912 033a F040 sbci r31,hi8(-(buffer+8))
913 033c 8081 ld r24,Z
914 033e 9927 clr r25
915 0340 AA27 clr r26
916 0342 BB27 clr r27
917 .LM105:
918 0344 2181 ldd r18,Z+1
919 0346 422F mov r20,r18
920 0348 5527 clr r21
921 034a 6627 clr r22
922 034c 7727 clr r23
923 .LM106:
924 034e 2281 ldd r18,Z+2
925 0350 E22E mov r14,r18
926 0352 FF24 clr r15
927 0354 0027 clr r16
928 0356 1127 clr r17
929 .LM107:
930 0358 2381 ldd r18,Z+3
931 035a 622E mov r6,r18
932 035c 7724 clr r7
933 035e 8824 clr r8
934 0360 9924 clr r9
935 .LM108:
936 0362 8093 0000 sts a,r24
937 0366 9093 0000 sts (a)+1,r25
938 036a A093 0000 sts (a)+2,r26
939 036e B093 0000 sts (a)+3,r27
940 .LM109:
941 0372 AA24 clr r10
942 0374 B42E mov r11,r20
943 0376 C52E mov r12,r21
944 0378 D62E mov r13,r22
945 037a A092 0000 sts b,r10
946 037e B092 0000 sts (b)+1,r11
947 0382 C092 0000 sts (b)+2,r12
948 0386 D092 0000 sts (b)+3,r13
949 .LM110:
950 038a 8701 movw r16,r14
951 038c FF24 clr r15
952 038e EE24 clr r14
953 0390 E092 0000 sts c,r14
954 0394 F092 0000 sts (c)+1,r15
955 0398 0093 0000 sts (c)+2,r16
956 039c 1093 0000 sts (c)+3,r17
957 .LM111:
958 03a0 562D mov r21,r6
959 03a2 4427 clr r20
960 03a4 3327 clr r19
961 03a6 2227 clr r18
962 03a8 2093 0000 sts d,r18
963 03ac 3093 0000 sts (d)+1,r19
964 03b0 4093 0000 sts (d)+2,r20
965 03b4 5093 0000 sts (d)+3,r21
966 .LM112:
967 03b8 8A29 or r24,r10
968 03ba 9B29 or r25,r11
969 03bc AC29 or r26,r12
970 03be BD29 or r27,r13
971 03c0 8E29 or r24,r14
972 03c2 9F29 or r25,r15
973 03c4 A02B or r26,r16
974 03c6 B12B or r27,r17
975 03c8 822B or r24,r18
976 03ca 932B or r25,r19
977 03cc A42B or r26,r20
978 03ce B52B or r27,r21
979 03d0 0297 sbiw r24,2
980 03d2 A109 sbc r26,__zero_reg__
981 03d4 B109 sbc r27,__zero_reg__
982 03d6 8093 0000 sts FAT_c,r24
983 03da 9093 0000 sts (FAT_c)+1,r25
984 03de A093 0000 sts (FAT_c)+2,r26
985 03e2 B093 0000 sts (FAT_c)+3,r27
986 .L74:
987 .LBE2:
988 /* epilogue: frame size=0 */
989 03e6 1F91 pop r17
990 03e8 0F91 pop r16
991 03ea FF90 pop r15
992 03ec EF90 pop r14
993 03ee DF90 pop r13
994 03f0 CF90 pop r12
995 03f2 BF90 pop r11
996 03f4 AF90 pop r10
997 03f6 9F90 pop r9
998 03f8 8F90 pop r8
999 03fa 7F90 pop r7
1000 03fc 6F90 pop r6
1001 03fe 0895 ret
1002 /* epilogue end (size=13) */
1003 /* function read_FAT size 170 (145) */
1004 .LFE13:
1006 .global file_buffer_tran
1008 file_buffer_tran:
1009 .LFB12:
1010 .LM113:
1011 /* prologue: frame size=0 */
1012 0400 CF93 push r28
1013 0402 DF93 push r29
1014 /* prologue end (size=2) */
1015 0404 C0E0 ldi r28,lo8(file_buffer1)
1016 0406 D0E0 ldi r29,hi8(file_buffer1)
1017 0408 A0E0 ldi r26,lo8(file_buffer2)
1018 040a B0E0 ldi r27,hi8(file_buffer2)
1019 040c 20E0 ldi r18,lo8(file_buffer4)
1020 040e 30E0 ldi r19,hi8(file_buffer4)
1021 0410 40E0 ldi r20,lo8(file_buffer3)
1022 0412 50E0 ldi r21,hi8(file_buffer3)
1023 0414 94E1 ldi r25,lo8(20)
1024 .L80:
1025 .LM114:
1026 0416 FA01 movw r30,r20
1027 0418 8081 ld r24,Z
1028 041a F901 movw r30,r18
1029 041c 8193 st Z+,r24
1030 041e 9F01 movw r18,r30
1031 .LM115:
1032 0420 8C91 ld r24,X
1033 0422 FA01 movw r30,r20
1034 0424 8193 st Z+,r24
1035 0426 AF01 movw r20,r30
1036 .LM116:
1037 0428 8881 ld r24,Y
1038 042a 8D93 st X+,r24
1039 .LM117:
1040 042c 1992 st Y+,__zero_reg__
1041 .LM118:
1042 042e 9150 subi r25,lo8(-(-1))
1043 0430 97FF sbrs r25,7
1044 0432 F1CF rjmp .L80
1045 /* epilogue: frame size=0 */
1046 0434 DF91 pop r29
1047 0436 CF91 pop r28
1048 0438 0895 ret
1049 /* epilogue end (size=3) */
1050 /* function file_buffer_tran size 29 (24) */
1051 .LFE12:
1053 .global file_buffer
1055 file_buffer:
1056 .LFB11:
1057 .LM119:
1058 /* prologue: frame size=0 */
1059 043a 1F93 push r17
1060 043c CF93 push r28
1061 043e DF93 push r29
1062 /* prologue end (size=3) */
1063 .LM120:
1064 0440 10E0 ldi r17,lo8(0)
1065 .L110:
1066 .LM121:
1067 0442 8091 0000 lds r24,mood
1068 0446 8823 tst r24
1069 0448 11F4 brne .L86
1070 044a 0E94 0000 call read_FAT
1071 .L86:
1072 .LM122:
1073 044e 2091 0000 lds r18,FAT_c
1074 0452 3091 0000 lds r19,(FAT_c)+1
1075 0456 4091 0000 lds r20,(FAT_c)+2
1076 045a 5091 0000 lds r21,(FAT_c)+3
1077 045e 283F cpi r18,lo8(268435448)
1078 0460 8FEF ldi r24,hi8(268435448)
1079 0462 3807 cpc r19,r24
1080 0464 8FEF ldi r24,hlo8(268435448)
1081 0466 4807 cpc r20,r24
1082 0468 8FE0 ldi r24,hhi8(268435448)
1083 046a 5807 cpc r21,r24
1084 046c 29F4 brne .L87
1085 046e 8091 0000 lds r24,bootnum
1086 0472 8430 cpi r24,lo8(4)
1087 0474 09F4 brne .+2
1088 0476 FDC0 rjmp .L85
1089 .L87:
1090 .LM123:
1091 0478 8091 0000 lds r24,add_of_bootnum
1092 047c 9091 0000 lds r25,(add_of_bootnum)+1
1093 0480 A091 0000 lds r26,(add_of_bootnum)+2
1094 0484 B091 0000 lds r27,(add_of_bootnum)+3
1095 0488 4097 sbiw r24,16
1096 048a A105 cpc r26,__zero_reg__
1097 048c B105 cpc r27,__zero_reg__
1098 048e E9F5 brne .L88
1099 .LM124:
1100 0490 1092 0000 sts add_of_bootnum,__zero_reg__
1101 0494 1092 0000 sts (add_of_bootnum)+1,__zero_reg__
1102 0498 1092 0000 sts (add_of_bootnum)+2,__zero_reg__
1103 049c 1092 0000 sts (add_of_bootnum)+3,__zero_reg__
1104 .LM125:
1105 04a0 E091 0000 lds r30,bootnum
1106 04a4 DA01 movw r26,r20
1107 04a6 C901 movw r24,r18
1108 04a8 F3E0 ldi r31,3
1109 04aa 880F 1: lsl r24
1110 04ac 991F rol r25
1111 04ae AA1F rol r26
1112 04b0 BB1F rol r27
1113 04b2 FA95 dec r31
1114 04b4 D1F7 brne 1b
1115 04b6 4091 0000 lds r20,add_of_boot
1116 04ba 5091 0000 lds r21,(add_of_boot)+1
1117 04be 6091 0000 lds r22,(add_of_boot)+2
1118 04c2 7091 0000 lds r23,(add_of_boot)+3
1119 04c6 E430 cpi r30,lo8(4)
1120 04c8 69F4 brne .L89
1121 .LM126:
1122 04ca 1092 0000 sts bootnum,__zero_reg__
1123 .LM127:
1124 04ce 480F add r20,r24
1125 04d0 591F adc r21,r25
1126 04d2 6A1F adc r22,r26
1127 04d4 7B1F adc r23,r27
1128 04d6 20E0 ldi r18,lo8(0)
1129 04d8 82E1 ldi r24,lo8(18)
1130 04da 0E94 0000 call sdcmd
1131 .LM128:
1132 04de 0E94 0000 call readsd
1133 04e2 13C0 rjmp .L88
1134 .L89:
1135 .LM129:
1136 04e4 480F add r20,r24
1137 04e6 591F adc r21,r25
1138 04e8 6A1F adc r22,r26
1139 04ea 7B1F adc r23,r27
1140 04ec 4E0F add r20,r30
1141 04ee 511D adc r21,__zero_reg__
1142 04f0 611D adc r22,__zero_reg__
1143 04f2 711D adc r23,__zero_reg__
1144 04f4 20E0 ldi r18,lo8(0)
1145 04f6 82E1 ldi r24,lo8(18)
1146 04f8 0E94 0000 call sdcmd
1147 .LM130:
1148 04fc 0E94 0000 call readsd
1149 .LM131:
1150 0500 8091 0000 lds r24,bootnum
1151 0504 8F5F subi r24,lo8(-(1))
1152 0506 8093 0000 sts bootnum,r24
1153 .L88:
1154 .LM132:
1155 050a A091 0000 lds r26,add_of_bootnum
1156 050e B091 0000 lds r27,(add_of_bootnum)+1
1157 0512 FD01 movw r30,r26
1158 0514 75E0 ldi r23,5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -