fat32nextcluster.lst

来自「这个是非常不错的mp3源码」· LST 代码 · 共 1,020 行 · 第 1/4 页

LST
1,020
字号
0070 FE                MOV     R6,A
0071 E9                MOV     A,R1
0072 3D                ADDC    A,R5
0073 FD                MOV     R5,A
0074 E8                MOV     A,R0
0075 3C                ADDC    A,R4
0076 FC                MOV     R4,A
0077 900000      E     MOV     DPTR,#IDE+02H
007A 120000      E     LCALL   ?C?LSTXDATA
007D 120000      E     LCALL   _IDEReadSector
                                           ; SOURCE LINE # 17
0080 E4                CLR     A
0081 900000      R     MOV     DPTR,#i
0084 F0                MOVX    @DPTR,A
0085         ?C0002:
                                           ; SOURCE LINE # 18
0085 7B01              MOV     R3,#01H
0087 7A00        E     MOV     R2,#HIGH DiskBuffer
0089 7900        E     MOV     R1,#LOW DiskBuffer
008B 900000      R     MOV     DPTR,#i
008E E0                MOVX    A,@DPTR
008F 75F004            MOV     B,#04H
0092 A4                MUL     AB
0093 F582              MOV     DPL,A
0095 85F083            MOV     DPH,B
0098 120000      E     LCALL   ?C?LLDOPTR
009B 900000      R     MOV     DPTR,#i
009E E0                MOVX    A,@DPTR
009F 75F004            MOV     B,#04H
00A2 A4                MUL     AB
C51 COMPILER V8.08   FAT32NEXTCLUSTER                                                      06/01/2008 16:21:01 PAGE 14  

00A3 2400        E     ADD     A,#LOW FAT+04H
00A5 F582              MOV     DPL,A
00A7 E5F0              MOV     A,B
00A9 3400        E     ADDC    A,#HIGH FAT+04H
00AB F583              MOV     DPH,A
00AD 120000      E     LCALL   ?C?LSTXDATA
00B0 900000      R     MOV     DPTR,#i
00B3 E0                MOVX    A,@DPTR
00B4 04                INC     A
00B5 F0                MOVX    @DPTR,A
00B6 E0                MOVX    A,@DPTR
00B7 B480CB            CJNE    A,#080H,?C0002
00BA         ?C0003:
                                           ; SOURCE LINE # 19
00BA 900000      R     MOV     DPTR,#Sector
00BD E0                MOVX    A,@DPTR
00BE FC                MOV     R4,A
00BF A3                INC     DPTR
00C0 E0                MOVX    A,@DPTR
00C1 FD                MOV     R5,A
00C2 A3                INC     DPTR
00C3 E0                MOVX    A,@DPTR
00C4 FE                MOV     R6,A
00C5 A3                INC     DPTR
00C6 E0                MOVX    A,@DPTR
00C7 FF                MOV     R7,A
00C8 900000      E     MOV     DPTR,#FAT
00CB 120000      E     LCALL   ?C?LSTXDATA
                                           ; SOURCE LINE # 20
00CE         ?C0001:
                                           ; SOURCE LINE # 21
00CE 900000      R     MOV     DPTR,#Offset
00D1 E0                MOVX    A,@DPTR
00D2 75F004            MOV     B,#04H
00D5 A4                MUL     AB
00D6 2400        E     ADD     A,#LOW FAT+04H
00D8 F582              MOV     DPL,A
00DA E5F0              MOV     A,B
00DC 3400        E     ADDC    A,#HIGH FAT+04H
00DE F583              MOV     DPH,A
00E0 E0                MOVX    A,@DPTR
00E1 FC                MOV     R4,A
00E2 A3                INC     DPTR
00E3 E0                MOVX    A,@DPTR
00E4 FD                MOV     R5,A
00E5 A3                INC     DPTR
00E6 E0                MOVX    A,@DPTR
00E7 FE                MOV     R6,A
00E8 A3                INC     DPTR
00E9 E0                MOVX    A,@DPTR
00EA FF                MOV     R7,A
00EB 120000      E     LCALL   _MEMSwap32
                                           ; SOURCE LINE # 22
00EE         ?C0005:
00EE 22                RET     
             ; FUNCTION _FAT32NextCluster (END)

C51 COMPILER V8.08   FAT32NEXTCLUSTER                                                      06/01/2008 16:21:01 PAGE 15  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


DWORD. . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_LONG   -----  4
FCBStr . . . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  32
  FileName . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0000H  12
  Size . . . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   000CH  4
  FirstCluster . . . . . . . . . . . .  MEMBER   -----  U_LONG   0010H  4
  LastCluster. . . . . . . . . . . . .  MEMBER   -----  U_LONG   0014H  4
  ClusSecCnt . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0018H  4
  ByteCnt. . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   001CH  4
FATUni . . . . . . . . . . . . . . . .  * TAG *  -----  UNION    -----  54
  F32. . . . . . . . . . . . . . . . .  MEMBER   -----  STRUCT   0000H  54
  F16. . . . . . . . . . . . . . . . .  MEMBER   -----  STRUCT   0000H  26
HDDStr . . . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  2
  TotalPartitions. . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  CurrentPartition . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
IDEStr . . . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  8
  TotalDevices . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  CurrentDevice. . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  CurrentSector. . . . . . . . . . . .  MEMBER   -----  U_LONG   0002H  4
  BytesPerSec. . . . . . . . . . . . .  MEMBER   -----  U_INT    0006H  2
size_t . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
FATStr . . . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  516
  Sector . . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0000H  4
  FAT. . . . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0004H  512
sDPTStr. . . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  9
  TypeCode . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  LBABegin . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0001H  4
  CntSec . . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0005H  4
CHAR . . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_CHAR   -----  1
DPTStr . . . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  16
  BootFlag . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  CHSBegin . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0001H  3
  TypeCode . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0004H  1
  CHSEnd . . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0005H  3
  LBABegin . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0008H  4
  CntSec . . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   000CH  4
FAT32FSInfoStr . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  512
  LeadSig. . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0000H  4
  Reserved1. . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0004H  480
  StrucSig . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   01E4H  4
  FreeCount. . . . . . . . . . . . . .  MEMBER   -----  U_LONG   01E8H  4
  NxtFree. . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   01ECH  4
  Reserved2. . . . . . . . . . . . . .  MEMBER   -----  ARRAY    01F0H  12
  TrailSig . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   01FCH  4
_IDEReadSector . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
BOOL . . . . . . . . . . . . . . . . .  TYPEDEF  DATA   BIT      -----  1
BootSecFAT32Str. . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  54
  BPB_FATSz32. . . . . . . . . . . . .  MEMBER   -----  U_LONG   0000H  4
  BPB_ExtFlags . . . . . . . . . . . .  MEMBER   -----  U_INT    0004H  2
  BPB_FSVer. . . . . . . . . . . . . .  MEMBER   -----  U_INT    0006H  2
  BPB_RootClus . . . . . . . . . . . .  MEMBER   -----  U_LONG   0008H  4
  BPB_FSInfo . . . . . . . . . . . . .  MEMBER   -----  U_INT    000CH  2
  BPB_BkBootSec. . . . . . . . . . . .  MEMBER   -----  U_INT    000EH  2
  BPB_Reserved . . . . . . . . . . . .  MEMBER   -----  ARRAY    0010H  12
  BS_DrvNum. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   001CH  1
  BS_Reserved1 . . . . . . . . . . . .  MEMBER   -----  U_CHAR   001DH  1
  BS_BootSig . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   001EH  1
  BS_VolID . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   001FH  4
C51 COMPILER V8.08   FAT32NEXTCLUSTER                                                      06/01/2008 16:21:01 PAGE 16  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


  BS_VolLab. . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0023H  11
  BS_FilSysType. . . . . . . . . . . .  MEMBER   -----  ARRAY    002EH  8
BootSecFAT16Str. . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  26
  BS_DrvNum. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  BS_Reserved1 . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  BS_BootSig . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  BS_VolID . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0003H  4
  BS_VolLab. . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0007H  11
  BS_FilSysType. . . . . . . . . . . .  MEMBER   -----  ARRAY    0012H  8
BYTE . . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_CHAR   -----  1
WORD . . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
FAT32. . . . . . . . . . . . . . . . .  EXTERN   XDATA  STRUCT   -----  37
_FAT32NextCluster. . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  CurrentCluster . . . . . . . . . . .  AUTO     XDATA  U_LONG   0000H  4
  Offset . . . . . . . . . . . . . . .  AUTO     XDATA  U_CHAR   0004H  1
  i. . . . . . . . . . . . . . . . . .  AUTO     XDATA  U_CHAR   0005H  1
  Sector . . . . . . . . . . . . . . .  AUTO     XDATA  U_LONG   0006H  4
IDE. . . . . . . . . . . . . . . . . .  EXTERN   XDATA  STRUCT   -----  8
FAT. . . . . . . . . . . . . . . . . .  EXTERN   XDATA  STRUCT   -----  516
IDEDeviceStr . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  5
  DriverType . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  TotalSectors . . . . . . . . . . . .  MEMBER   -----  U_LONG   0001H  4
_MEMSwap32 . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
FAT32LDirStr . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  32
  Ord. . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  Name1. . . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0001H  10
  Attr . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   000BH  1
  Type . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   000CH  1
  Chksum . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   000DH  1
  Name2. . . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    000EH  12
  FstClusLO. . . . . . . . . . . . . .  MEMBER   -----  U_INT    001AH  2
  Name3. . . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    001CH  4
DiskBuffer . . . . . . . . . . . . . .  EXTERN   XDATA  ARRAY    -----  512
wchar_t. . . . . . . . . . . . . . . .  TYPEDEF  -----  CHAR     -----  1
BootSecStr . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  90
  BS_jmpBoot . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0000H  3
  BS_OEMName . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0003H  8
  BPB_BytesPerSec. . . . . . . . . . .  MEMBER   -----  U_INT    000BH  2
  BPB_SecPerClus . . . . . . . . . . .  MEMBER   -----  U_CHAR   000DH  1
  BPB_RsvdSecCnt . . . . . . . . . . .  MEMBER   -----  U_INT    000EH  2
  BPB_NumFATs. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0010H  1
  BPB_RootEntCnt . . . . . . . . . . .  MEMBER   -----  U_INT    0011H  2
  BPB_TotSec16 . . . . . . . . . . . .  MEMBER   -----  U_INT    0013H  2
  BPB_Media. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0015H  1
  BPB_FATSz16. . . . . . . . . . . . .  MEMBER   -----  U_INT    0016H  2
  BPB_SecPerTrk. . . . . . . . . . . .  MEMBER   -----  U_INT    0018H  2
  BPB_NumHeads . . . . . . . . . . . .  MEMBER   -----  U_INT    001AH  2
  BPB_HiddSec. . . . . . . . . . . . .  MEMBER   -----  U_LONG   001CH  4
  BPB_TotSec32 . . . . . . . . . . . .  MEMBER   -----  U_LONG   0020H  4
  FAT. . . . . . . . . . . . . . . . .  MEMBER   -----  UNION    0024H  54
FAT32SDirStr . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  32
  Name . . . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0000H  11
  Attr . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   000BH  1
  NTRes. . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   000CH  1
  CrtTimeTenth . . . . . . . . . . . .  MEMBER   -----  U_CHAR   000DH  1
  CrtTime. . . . . . . . . . . . . . .  MEMBER   -----  U_INT    000EH  2
  CrtDate. . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0010H  2
C51 COMPILER V8.08   FAT32NEXTCLUSTER                                                      06/01/2008 16:21:01 PAGE 17  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


  LstAccDate . . . . . . . . . . . . .  MEMBER   -----  U_INT    0012H  2
  FstClusHI. . . . . . . . . . . . . .  MEMBER   -----  U_INT    0014H  2
  WrtTime. . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0016H  2
  WrtDate. . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0018H  2
  FstClusLO. . . . . . . . . . . . . .  MEMBER   -----  U_INT    001AH  2
  FileSize . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   001CH  4
FAT32Str . . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  37
  ClusSecCnt . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  CurrentDirectory . . . . . . . . . .  MEMBER   -----  U_LONG   0001H  4
  SecPerClus . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0005H  1
  RsvdSecCnt . . . . . . . . . . . . .  MEMBER   -----  U_INT    0006H  2
  NumFATs. . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0008H  1
  RootClus . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0009H  4
  ClusSec. . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   000DH  4
  FATSz. . . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0011H  4
  FATSec . . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0015H  4
  FSISec . . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0019H  4
  FSIFreeCount . . . . . . . . . . . .  MEMBER   -----  U_LONG   001DH  4
  FSINxtFree . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0021H  4


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    239    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----      10
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  1 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?