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

📄 fat32finddirentry.lst

📁 用C51单片机实现的MP3播放器的c代码程序。
💻 LST
字号:
C51 COMPILER V6.12  FAT32FINDDIRENTRY                                                      05/03/2005 11:51:04 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE FAT32FINDDIRENTRY
OBJECT MODULE PLACED IN .\FAT32FINDDIRENTRY.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE .\FAT32FINDDIRENTRY.C LARGE BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #ifndef _FAT32_DEFINE
   2           #include "FAT32.c"
   3          #endif
   4          
   5          BYTE FAT32FindDIREntry(CHAR *DirName);
   6          
   7          BYTE FAT32FindDIREntry(CHAR *DirName)
   8          {
   9   1      	xdata BYTE i,j,k,m,n;
  10   1      	xdata DWORD chain;
  11   1      	xdata CHAR temp[27];
  12   1      
  13   1      	chain=FAT32.CurrentDirectory;
  14   1      	FAT32.ClusSecCnt=0;
  15   1      	while(chain!=0x0fffffff)
  16   1      	{
  17   2      		FAT32ReadCluster(&chain);
  18   2      		for (i=0;i<16;i++)
  19   2      		{
  20   3      			if (sDIR[i].Name[0]==0xe5||sDIR[i].Name[0]==0x00) continue;			//空目录项跳过
  21   3      			if ((sDIR[i].Attr&FAT32_ATTR_LONG_NAME_MASK)==FAT32_ATTR_LONG_NAME)
  22   3      			//长文件名
  23   3      			{
  24   4      				j=lDIR[i].Ord - FAT32_LAST_LONG_ENTRY;
  25   4      				LongFileName[0]=0;n=0;
  26   4      				for(;j>0;j--)
  27   4      				{
  28   5      					FAT32GetPartLongName(lDIR+i,temp);
  29   5      					m=strlen((char *)temp);
  30   5      					k=m+n;
  31   5      					for(;n>0;n--)
  32   5      						LongFileName[m+n]=LongFileName[n];
  33   5      					LongFileName[m+n]=LongFileName[n];
  34   5      					m--;
  35   5      					for(;m>0;m--)
  36   5      						LongFileName[m]=temp[m];
  37   5      					LongFileName[m]=temp[m];
  38   5      					n=k;
  39   5      					i++;
  40   5      					if (i==16)
  41   5      					{
  42   6      						FAT32ReadCluster(&chain);
  43   6      						i=0;
  44   6      					}
  45   5      				}
  46   4      				if (strcmp((const char *)DirName,(const char *)LongFileName)==0) return(i);
  47   4      			}
  48   3      			else
  49   3      			{
  50   4      			//短文件名
  51   4      				if (sDIR[i].Attr&FAT32_ATTR_VOLUME_ID) continue;		//如果是卷标则跳过
  52   4      				for(j=0;j<11;j++)
  53   4      					temp[j]=sDIR[i].Name[j];
  54   4      				temp[j]=0;
  55   4      				if (strcmp((const char *)DirName,(const char *)temp)==0) return(i);
C51 COMPILER V6.12  FAT32FINDDIRENTRY                                                      05/03/2005 11:51:04 PAGE 2   

  56   4      			}
  57   3      		}
  58   2      	}
  59   1      	return(i);
  60   1      }


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


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

⌨️ 快捷键说明

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