📄 fat16.lst
字号:
869 ;fat16.c: 170: DirOffset=m;
870 44BC CFF3 F037 movff prodl,_DirOffset
871 44C0 CFF4 F038 movff prodh,_DirOffset+1
872 44C4 l33:
873 ;fat16.c: 177: return ID;
874 44C4 C0EB F000 movff ?a_GetEmptyDIR+2,btemp
875 44C8 C0EC F001 movff ?a_GetEmptyDIR+3,btemp+1
876 ;fat16.c: 178: }
877 44CC 0012 return
878 44CE FFFF dw 65535
879 44D0 D789 goto f4652
880 44D2 00B7 dw ?_GetFileID
881 44D4 _GetFileID:
882 44D4 FFFF dw 65535
883 44D6 f4682:
884 0000
885 ;fat16.c: 185: uint16 DirSecCut, i, m;
886 44D6 DED9 call _GetDirSecCount ;wreg free
887 44D8 C000 F0BB movff btemp,?a_GetFileID
888 44DC C001 F0BC movff btemp+1,?a_GetFileID+1
889 ;fat16.c: 189: DirStart = DirStartSec();
890 44E0 DE7D call _DirStartSec ;wreg free
891 44E2 C000 F0C1 movff btemp,?a_GetFileID+6
892 44E6 C001 F0C2 movff btemp+1,?a_GetFileID+7
893 44EA C002 F0C3 movff btemp+2,?a_GetFileID+8
894 44EE C003 F0C4 movff btemp+3,?a_GetFileID+9
895 ;fat16.c: 190: for(i = 0; i < DirSecCut; i++)
896 44F2 0100 movlb __Lparam shr (0+8)
897 44F4 6BBD clrf (?a_GetFileID+2)^(__Lparam& (0+65280))
898 44F6 6BBE clrf (?a_GetFileID+3)^(__Lparam& (0+65280))
899 44F8 l45:
900 44F8 0100 movlb __Lparam shr (0+8)
901 44FA 51BC movf (?a_GetFileID+1)^(__Lparam& (0+65280)),w
902 44FC 5DBE subwf (?a_GetFileID+3)^(__Lparam& (0+65280)),w
903 44FE E102 bnz u185
904 4500 51BB movf ?a_GetFileID^(__Lparam& (0+65280)),w
905 4502 5DBD subwf (?a_GetFileID+2)^(__Lparam& (0+65280)),w
906 4504 u185:
907 4504 B0D8 btfsc status,0,c
908 4506 D069 goto u180
909 ;fat16.c: 191: {
910 ;fat16.c: 193: sl811_read_sector(DirStart + i, b
+ uffer);
911 4508 0100 movlb __Lparam shr (0+8)
912 450A 51BD movf (?a_GetFileID+2)^(__Lparam& (0+65280)),w
913 450C 25C1 addwf (?a_GetFileID+6)^(__Lparam& (0+65280)),w
914 450E 6FF3 movwf ?_sl811_read_sector^(__Lparam& (0+65280))
915 4510 51BE movf (?a_GetFileID+3)^(__Lparam& (0+65280)),w
916 4512 21C2 addwfc (?a_GetFileID+7)^(__Lparam& (0+65280)),w
917 4514 6FF4 movwf (?_sl811_read_sector^(__Lparam& (0+65280)
+ )+1)
918 4516 0E00 movlw 0
919 4518 21C3 addwfc (?a_GetFileID+8)^(__Lparam& (0+65280)),w
920 451A 6FF5 movwf (?_sl811_read_sector^(__Lparam& (0+65280)
+ )+2)
921 451C 0E00 movlw 0
922 451E 21C4 addwfc (?a_GetFileID+9)^(__Lparam& (0+65280)),w
923 4520 6FF6 movwf (?_sl811_read_sector^(__Lparam& (0+65280)
+ )+3)
924 4522 0EAD movlw low _buffer
925 4524 6FF7 movwf (?_sl811_read_sector+4)^(__Lparam& (0+652
+ 80))
926 4526 0E03 movlw high _buffer
927 4528 6FF8 movwf (?_sl811_read_sector+5)^(__Lparam& (0+652
+ 80))
928 452A EC5E F00A call _sl811_read_sector ;wreg free
929 ;fat16.c: 194: for(m = 0; m <16; m++)
930 452E 0100 movlb __Lparam shr (0+8)
931 4530 6BBF clrf (?a_GetFileID+4)^(__Lparam& (0+65280))
932 4532 6BC0 clrf (?a_GetFileID+5)^(__Lparam& (0+65280))
933 4534 l46:
934 ;fat16.c: 195: {
935 ;fat16.c: 196: if(IsEqual(Name, &((DIR*)&buffer[
+ m * 32])->FileName, 11))
936 4534 C0B7 F0C5 movff ?_GetFileID,?_IsEqual
937 4538 C0B8 F0C6 movff ?_GetFileID+1,?_IsEqual+1
938 453C C0BF F000 movff ?a_GetFileID+4,btemp
939 4540 C0C0 F001 movff ?a_GetFileID+5,btemp+1
940 4544 0E05 movlw 5
941 4546 u145:
942 4546 90D8 bcf status,0,c
943 4548 3600 rlcf btemp,f
944 454A 3601 rlcf btemp+1,f
945 454C 2EE8 decfsz wreg,f,c
946 454E D7FB goto u145
947 4550 0EAD movlw low _buffer
948 4552 2400 addwf btemp,w
949 4554 0100 movlb __Lparam shr (0+8)
950 4556 6FC7 movwf (?_IsEqual+2)^(__Lparam& (0+65280))
951 4558 0E03 movlw high _buffer
952 455A 2001 addwfc btemp+1,w
953 455C 6FC8 movwf ((?_IsEqual+2)^(__Lparam& (0+65280))+1)
954 455E 0E0B movlw 11
955 4560 6FC9 movwf (?_IsEqual+4)^(__Lparam& (0+65280))
956 4562 DD78 call _IsEqual ;wreg free
957 4564 6E00 movwf btemp
958 4566 C000 F002 movff btemp,btemp+2
959 456A 6A03 clrf btemp+3
960 456C 5003 movf btemp+3,w
961 456E 1002 iorwf btemp+2,w
962 4570 B4D8 btfsc status,2,c
963 4572 D025 goto l49
964 ;fat16.c: 197: {
965 4574 C0BF F000 movff ?a_GetFileID+4,btemp
966 4578 C0C0 F001 movff ?a_GetFileID+5,btemp+1
967 457C 0E05 movlw 5
968 457E u165:
969 457E 90D8 bcf status,0,c
970 4580 3600 rlcf btemp,f
971 4582 3601 rlcf btemp+1,f
972 4584 2EE8 decfsz wreg,f,c
973 4586 D7FB goto u165
974 4588 0EAD movlw low _buffer
975 458A 2400 addwf btemp,w
976 458C 6ED9 movwf fsr2l,c
977 458E 0E03 movlw high _buffer
978 4590 2001 addwfc btemp+1,w
979 4592 6EDA movwf fsr2h
980 ;fat16.c: 200: *ID = *ID_TEMP;
981 4594 CFD9 FFE9 movff fsr2l,fsr0l
982 4598 CFDA FFEA movff fsr2h,fsr0h
983 459C C0B9 FFE1 movff ?_GetFileID+2,fsr1l
984 45A0 C0BA FFE2 movff ?_GetFileID+3,fsr1h
985 45A4 0E20 movlw 32
986 45A6 ECF9 F002 call structcopy
987 ;fat16.c: 202: ClusOfFileDir=i;
988 45AA C0BD F035 movff ?a_GetFileID+2,_ClusOfFileDir
989 45AE C0BE F036 movff ?a_GetFileID+3,_ClusOfFileDir+1
990 ;fat16.c: 203: DirOffset=m;
991 45B2 C0BF F037 movff ?a_GetFileID+4,_DirOffset
992 45B6 C0C0 F038 movff ?a_GetFileID+5,_DirOffset+1
993 ;fat16.c: 205: return 1;
994 45BA 0E01 movlw 1
995 45BC D00F goto l41
996 45BE l49:
997 ;fat16.c: 206: }
998 45BE 0100 movlb __Lparam shr (0+8)
999 45C0 2BBF incf (?a_GetFileID+4)^(__Lparam& (0+65280)),f
1000 45C2 0E00 movlw 0
1001 45C4 23C0 addwfc (?a_GetFileID+5)^(__Lparam& (0+65280)),f
1002 45C6 5DC0 subwf (?a_GetFileID+5)^(__Lparam& (0+65280)),w
1003 45C8 0E10 movlw 16
1004 45CA B4D8 btfsc status,2,c
1005 45CC 5DBF subwf (?a_GetFileID+4)^(__Lparam& (0+65280)),w
1006 45CE A0D8 btfss status,0,c
1007 45D0 D7B1 goto l46
1008 ;fat16.c: 208: }
1009 45D2 2BBD incf (?a_GetFileID+2)^(__Lparam& (0+65280)),f
1010 45D4 0E00 movlw 0
1011 45D6 23BE addwfc (?a_GetFileID+3)^(__Lparam& (0+65280)),f
1012 45D8 D78F goto l45
1013 45DA u180:
1014 ;fat16.c: 209: return 0;
1015 45DA 0E00 movlw 0
1016 ;fat16.c: 210: }
1017 45DC l41:
1018 45DC 0012 return
1019 45DE FFFF dw 65535
1020 45E0 D77A goto f4682
1021 45E2 0077 dw ?_GetFileSize
1022 45E4 _GetFileSize:
1023 45E4 FFFF dw 65535
1024 45E6 f4692:
1025 0000
1026 ;fat16.c: 216: return (ID->FilePosit.Size);
1027 45E6 0100 movlb __Lparam shr (0+8)
1028 45E8 EE00 F01C lfsr 0,28
1029 45EC 5177 movf ?_GetFileSize^(__Lparam& (0+65280)),w
1030 45EE 26E9 addwf fsr0l,f,c
1031 45F0 5178 movf (?_GetFileSize+1)^(__Lparam& (0+65280)),w
1032 45F2 22EA addwfc fsr0h,f,c
1033 45F4 CFEE F000 movff postinc0,btemp
1034 45F8 CFEE F001 movff postinc0,btemp+1
1035 45FC CFEE F002 movff postinc0,btemp+2
1036 4600 CFEE F003 movff postinc0,btemp+3
1037 ;fat16.c: 217: }
1038 4604 0012 return
1039 4606 FFFF dw 65535
1040 4608 D7EE goto f4692
1041 460A 00B7 dw ?_SetFileSize
1042 460C _SetFileSize:
1043 460C FFFF dw 65535
1044 0000
1045 ;fat16.c: 224: uint32 DirStart;
1046 460E DDE6 call _DirStartSec ;wreg free
1047 4610 C000 F0B9 movff btemp,?a_SetFileSize
1048 4614 C001 F0BA movff btemp+1,?a_SetFileSize+1
1049 4618 C002 F0BB movff btemp+2,?a_SetFileSize+2
1050 461C C003 F0BC movff btemp+3,?a_SetFileSize+3
1051 ;fat16.c: 230: sl811_read_sector(DirStart + Clus
+ OfFileDir , buffer);
1052 4620 C035 F000 movff _ClusOfFileDir,btemp
1053 4624 C036 F001 movff _ClusOfFileDir+1,btemp+1
1054 4628 0100 movlb __Lparam shr (0+8)
1055 462A 5000 movf btemp,w
1056 462C 25B9 addwf ?a_SetFileSize^(__Lparam& (0+65280)),w
1057 462E 6FF3 movwf ?_sl811_read_sector^(__Lparam& (0+65280))
1058 4630 5001 movf btemp+1,w
1059 4632 21BA addwfc (?a_SetFileSize+1)^(__Lparam& (0+65280))
+ ,w
1060 4634 6FF4 movwf (?_sl811_read_sector^(__Lparam& (0+65280)
+ )+1)
1061 4636 0E00 movlw 0
1062 4638 21BB addwfc (?a_SetFileSize+2)^(__Lparam& (0+65280))
+ ,w
1063 463A 6FF5 movwf (?_sl811_read_sector^(__Lparam& (0+65280)
+ )+2)
1064 463C 0E00 movlw 0
1065 463E 21BC addwfc (?a_SetFileSize+3)^(__Lparam& (0+65280))
+ ,w
1066 4640 6FF6 movwf (?_sl811_read_sector^(__Lparam& (0+65280)
+ )+3)
1067 4642 0EAD movlw low _buffer
1068 4644 6FF7 movwf (?_sl811_read_sector+4)^(__Lparam& (0+652
+ 80))
1069 4646 0E03 movlw high _buffer
1070 4648 6FF8 movwf (?_sl811_read_sector+5)^(__Lparam& (0+652
+ 80))
1071 464A EC5E F00A call _sl811_read_sector ;wreg free
1072 ;fat16.c: 232: (((DIR*)&buffer[DirOffset * 32]))
+ ->FilePosit.Size += size;
1073 464E C037 F000 movff _DirOffset,btemp
1074 4652 C038 F001 movff _DirOffset+1,btemp+1
1075 4656 0E05 movlw 5
1076 4658 u195:
1077 4658 90D8 bcf status,0,c
1078 465A 3600 rlcf btemp,f
1079 465C 3601 rlcf btemp+1,f
1080 465E 2EE8 decfsz wreg,f,c
1081 4660 D7FB goto u195
1082 4662 0EC9 movlw low (_buffer+28)
1083 4664 2400 addwf btemp,w
1084 4666 6EE9 movwf
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -