⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fatchangedirectory.lst

📁 FAT32文件系统在51单片机上实现
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.50   FATCHANGEDIRECTORY                                                    11/20/2006 15:49:27 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE FATCHANGEDIRECTORY
OBJECT MODULE PLACED IN ..\Lib\FATChangeDirectory.obj
COMPILER INVOKED BY: C:\Work\Keil\C51\BIN\C51.EXE FATChangeDirectory.c LARGE DEBUG OBJECTEXTEND CODE LISTINCLUDE SYMBOLS
                    - OBJECT(..\Lib\FATChangeDirectory.obj)

line level    source

   1          #ifndef _FAT_DEFINE
   2           #include "FAT.c"
   1      =1  #define _LIBRARY_DEFINE
   2      =1  
   3      =1  #include <stdio.h>
   1      =2  /*--------------------------------------------------------------------------
   2      =2  STDIO.H
   3      =2  
   4      =2  Prototypes for standard I/O functions.
   5      =2  Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
   6      =2  All rights reserved.
   7      =2  --------------------------------------------------------------------------*/
   8      =2  
   9      =2  #ifndef __STDIO_H__
  10      =2  #define __STDIO_H__
  11      =2  
  12      =2  #ifndef EOF
  13      =2   #define EOF -1
  14      =2  #endif
  15      =2  
  16      =2  #ifndef NULL
  17      =2   #define NULL ((void *) 0)
  18      =2  #endif
  19      =2  
  20      =2  #ifndef _SIZE_T
  21      =2   #define _SIZE_T
  22      =2   typedef unsigned int size_t;
  23      =2  #endif
  24      =2  
  25      =2  #pragma SAVE
  26      =2  #pragma REGPARMS
  27      =2  extern char _getkey (void);
  28      =2  extern char getchar (void);
  29      =2  extern char ungetchar (char);
  30      =2  extern char putchar (char);
  31      =2  extern int printf   (const char *, ...);
  32      =2  extern int sprintf  (char *, const char *, ...);
  33      =2  extern int vprintf  (const char *, char *);
  34      =2  extern int vsprintf (char *, const char *, char *);
  35      =2  extern char *gets (char *, int n);
  36      =2  extern int scanf (const char *, ...);
  37      =2  extern int sscanf (char *, const char *, ...);
  38      =2  extern int puts (const char *);
  39      =2  
  40      =2  #pragma RESTORE
  41      =2  
  42      =2  #endif
  43      =2  
   4      =1  #include <string.h>
   1      =2  /*--------------------------------------------------------------------------
   2      =2  STRING.H
   3      =2  
   4      =2  String functions.
   5      =2  Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
C51 COMPILER V7.50   FATCHANGEDIRECTORY                                                    11/20/2006 15:49:27 PAGE 2   

   6      =2  All rights reserved.
   7      =2  --------------------------------------------------------------------------*/
   8      =2  
   9      =2  #ifndef __STRING_H__
  10      =2  #define __STRING_H__
  11      =2  
  12      =2  #ifndef _SIZE_T
           =2  #define _SIZE_T
           =2  typedef unsigned int size_t;
           =2 #endif
  16      =2  
  17      =2  #ifndef NULL
           =2  #define NULL ((void *) 0L)
           =2 #endif
  20      =2  
  21      =2  #pragma SAVE
  22      =2  #pragma REGPARMS
  23      =2  extern char *strcat (char *s1, char *s2);
  24      =2  extern char *strncat (char *s1, char *s2, int n);
  25      =2  
  26      =2  extern char strcmp (char *s1, char *s2);
  27      =2  extern char strncmp (char *s1, char *s2, int n);
  28      =2  
  29      =2  extern char *strcpy (char *s1, char *s2);
  30      =2  extern char *strncpy (char *s1, char *s2, int n);
  31      =2  
  32      =2  extern int strlen (char *);
  33      =2  
  34      =2  extern char *strchr (const char *s, char c);
  35      =2  extern int strpos (const char *s, char c);
  36      =2  extern char *strrchr (const char *s, char c);
  37      =2  extern int strrpos (const char *s, char c);
  38      =2  
  39      =2  extern int strspn (char *s, char *set);
  40      =2  extern int strcspn (char *s, char *set);
  41      =2  extern char *strpbrk (char *s, char *set);
  42      =2  extern char *strrpbrk (char *s, char *set);
  43      =2  extern char *strstr  (char *s, char *sub);
  44      =2  extern char *strtok  (char *str, const char *set);
  45      =2  
  46      =2  extern char memcmp (void *s1, void *s2, int n);
  47      =2  extern void *memcpy (void *s1, void *s2, int n);
  48      =2  extern void *memchr (void *s, char val, int n);
  49      =2  extern void *memccpy (void *s1, void *s2, char val, int n);
  50      =2  extern void *memmove (void *s1, void *s2, int n);
  51      =2  extern void *memset  (void *s, char val, int n);
  52      =2  #pragma RESTORE
  53      =2  
  54      =2  #endif
   5      =1  #include <stdlib.h>
   1      =2  /*--------------------------------------------------------------------------
   2      =2  STDLIB.H
   3      =2  
   4      =2  Standard functions.
   5      =2  Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
   6      =2  All rights reserved.
   7      =2  --------------------------------------------------------------------------*/
   8      =2  
   9      =2  #ifndef __STDLIB_H__
  10      =2  #define __STDLIB_H__
  11      =2  
  12      =2  #ifndef _SIZE_T
C51 COMPILER V7.50   FATCHANGEDIRECTORY                                                    11/20/2006 15:49:27 PAGE 3   

           =2  #define _SIZE_T
           =2  typedef unsigned int size_t;
           =2 #endif
  16      =2  
  17      =2  #ifndef NULL
           =2  #define NULL ((void *) 0L)
           =2 #endif
  20      =2  
  21      =2  #ifndef _WCHAR_T_DEFINED_
  22      =2  #define _WCHAR_T_DEFINED_
  23      =2  typedef char wchar_t;
  24      =2  #endif
  25      =2  
  26      =2  
  27      =2  #pragma SAVE
  28      =2  #pragma REGPARMS
  29      =2  
  30      =2  extern int    abs  (int   val);
  31      =2  extern long  labs  (long  val);
  32      =2  
  33      =2  extern float atof (char *s1);
  34      =2  extern long  atol (char *s1);
  35      =2  extern int   atoi (char *s1);
  36      =2  extern int   rand ();
  37      =2  extern void  srand (int);
  38      =2  
  39      =2  extern float         strtod  (char *, char **);
  40      =2  extern long          strtol  (char *, char **, unsigned char);
  41      =2  extern unsigned long strtoul (char *, char **, unsigned char);
  42      =2  
  43      =2  #define _MALLOC_MEM_    xdata
  44      =2  
  45      =2  extern int  init_mempool          (void _MALLOC_MEM_ *p, unsigned int size);
  46      =2  extern void _MALLOC_MEM_ *malloc  (unsigned int size);
  47      =2  extern void free                  (void _MALLOC_MEM_ *p);
  48      =2  extern void _MALLOC_MEM_ *realloc (void _MALLOC_MEM_ *p, unsigned int size);
  49      =2  extern void _MALLOC_MEM_ *calloc  (unsigned int size, unsigned int len);
  50      =2  
  51      =2  #pragma RESTORE
  52      =2  
  53      =2  #endif
   6      =1  #include <ctype.h>
   1      =2  /*--------------------------------------------------------------------------
   2      =2  CTYPE.H
   3      =2  
   4      =2  Prototypes for character functions.
   5      =2  Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
   6      =2  All rights reserved.
   7      =2  --------------------------------------------------------------------------*/
   8      =2  
   9      =2  #ifndef __CTYPE_H__
  10      =2  #define __CTYPE_H__
  11      =2  
  12      =2  #pragma SAVE
  13      =2  #pragma REGPARMS
  14      =2  extern bit isalpha (unsigned char);
  15      =2  extern bit isalnum (unsigned char);
  16      =2  extern bit iscntrl (unsigned char);
  17      =2  extern bit isdigit (unsigned char);
  18      =2  extern bit isgraph (unsigned char);
  19      =2  extern bit isprint (unsigned char);
  20      =2  extern bit ispunct (unsigned char);
C51 COMPILER V7.50   FATCHANGEDIRECTORY                                                    11/20/2006 15:49:27 PAGE 4   

  21      =2  extern bit islower (unsigned char);
  22      =2  extern bit isupper (unsigned char);
  23      =2  extern bit isspace (unsigned char);
  24      =2  extern bit isxdigit (unsigned char);
  25      =2  extern unsigned char tolower (unsigned char);
  26      =2  extern unsigned char toupper (unsigned char);
  27      =2  extern unsigned char toint (unsigned char);
  28      =2  
  29      =2  #define _tolower(c) ( (c)-'A'+'a' )
  30      =2  #define _toupper(c) ( (c)-'a'+'A' )
  31      =2  #define toascii(c)  ( (c) & 0x7F )
  32      =2  #pragma RESTORE
  33      =2  
  34      =2  #endif
   7      =1  #include "..\Inc\GLOBAL.h"
*** WARNING C318 IN LINE 7 OF FAT.c: can't open file '..\Inc\GLOBAL.h'
   8      =1  #include "..\Inc\COMMON.h"
*** WARNING C318 IN LINE 8 OF FAT.c: can't open file '..\Inc\COMMON.h'
   9      =1  #include "..\Inc\IDEIO.h"
*** WARNING C318 IN LINE 9 OF FAT.c: can't open file '..\Inc\IDEIO.h'
  10      =1  #include "FAT.h"
   1      =2  /********************************************************/
   2      =2  /*                                                      */
   3      =2  /*  库   名   称:FAT文件系统函数库                   */
   4      =2  
   5      =2  /*  功 能  描 述:提供对FAT文件系统按文件名存取       */
   6      =2  /*                                                      */
   7      =2  /*                                                      */
   8      =2  /********************************************************/
   9      =2  
  10      =2  #ifndef _TYPE_DEFINE
  11      =2   #define _TYPE_DEFINE
  12      =2   typedef bit BOOL;
  13      =2   typedef unsigned char BYTE;
  14      =2   typedef unsigned char CHAR;
  15      =2   typedef unsigned int WORD;
  16      =2   typedef unsigned long DWORD;
  17      =2  #endif
  18      =2  
  19      =2  #ifndef _FAT_DEFINE
  20      =2   #define _FAT_DEFINE
  21      =2  
  22      =2  #define FAT_MAX_FCB                                             2
  23      =2  
  24      =2  //文件属性
  25      =2  #define FAT_ATTR_READ_ONLY                              0x01                    //文件属性:只读
  26      =2  #define FAT_ATTR_HIDDEN                                 0x02                    //文件属性:隐含
  27      =2  #define FAT_ATTR_SYSTEM                                 0x04                    //文件属性:系统
  28      =2  #define FAT_ATTR_VOLUME_ID                              0x08                    //文件属性:卷ID
  29      =2  #define FAT_ATTR_DIRECTORY                              0x10                    //文件属性:目录
  30      =2  #define FAT_ATTR_ARCHIVE                                0x20                    //文件属性:归档
  31      =2  #define FAT_ATTR_LONG_NAME                              FAT_ATTR_READ_ONLY+FAT_ATTR_HIDDEN+FAT_ATTR_SYSTEM+FAT_ATTR_VOLUME_ID   //文件
             -属性:长文件名
  32      =2  #define FAT_ATTR_LONG_NAME_MASK                 FAT_ATTR_READ_ONLY+FAT_ATTR_HIDDEN+FAT_ATTR_SYSTEM+FAT_ATTR_VOLUME_ID+FA
             -T_ATTR_DIRECTORY+FAT_ATTR_ARCHIVE     //文件属性:长文件名
  33      =2  #define FAT_LAST_LONG_ENTRY                             0x40                    //长文件名入口标记
  34      =2  
  35      =2  #define FAT_ERR_MBR_FLAG                                0x01                    //MBR扇区标志错误       FATMountPartition
  36      =2  #define FAT_ERR_PARTITION_NOT_FOUND             0x02                    //指定分区没找到        FATMountVolumeID
  37      =2  #define FAT_ERR_FILE_OPEN_ERROR                 FAT_MAX_FCB             //文件打开错误
  38      =2  #define FAT_ERR_DIR_NOT_FOUND                   0x01                    //指定的目录入口没有找到F       FATChangeDirectory
  39      =2  #define FAT_ERR_NOT_DIR                                 0x02                    //不是一个目录入口              FATChangeDirectory
C51 COMPILER V7.50   FATCHANGEDIRECTORY                                                    11/20/2006 15:49:27 PAGE 5   

  40      =2  
  41      =2  #define FAT_SEEK_BEGIN                                  0x01
  42      =2  #define FAT_SEEK_CURRENT                                0x02
  43      =2  #define FAT_SEEK_END                                    0x03
  44      =2  
  45      =2  #define FAT_TYPE_FAT12                                  0x01
  46      =2  #define FAT_TYPE_FAT16                                  0x02
  47      =2  #define FAT_TYPE_FAT32                                  0x03
  48      =2  
  49      =2  #define FAT_CLUSTER_END32                               0xffffffff              //簇链终点

⌨️ 快捷键说明

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