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

📄 fat32listdirectory.lst

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


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

stmt level    source

   1          #ifndef _FAT32_DEFINE
   2           #include "FAT32.c"
   3          #endif
   4          
   5          BYTE FAT32ListDirectory(void);
   6          
   7          BYTE FAT32ListDirectory(void)
   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      //	filename=(CHAR *)malloc(sizeof(j*26+1));
  14   1      
  15   1      	chain=FAT32.CurrentDirectory;
  16   1      	FAT32.ClusSecCnt=0;
  17   1      	while(chain!=0x0fffffff)
  18   1      	{
  19   2      		FAT32ReadCluster(&chain);
  20   2      		for (i=0;i<16;i++)
  21   2      		{
  22   3      			if (sDIR[i].Name[0]==0xe5||sDIR[i].Name[0]==0x00) continue;			//空目录项跳过
  23   3      			MEMSwap32(sDIR[i].FileSize);
  24   3      			if ((sDIR[i].Attr&FAT32_ATTR_LONG_NAME_MASK)==FAT32_ATTR_LONG_NAME)
  25   3      			//长文件名
  26   3      			{
  27   4      				j=lDIR[i].Ord - FAT32_LAST_LONG_ENTRY;
  28   4      				LongFileName[0]=0;n=0;
  29   4      				for(;j>0;j--)
  30   4      				{
  31   5      					FAT32GetPartLongName(lDIR+i,temp);
  32   5      					m=strlen((char *)temp);
  33   5      					k=m+n;
  34   5      					for(;n>0;n--)
  35   5      						LongFileName[m+n]=LongFileName[n];
  36   5      					LongFileName[m+n]=LongFileName[n];
  37   5      					m--;
  38   5      					for(;m>0;m--)
  39   5      						LongFileName[m]=temp[m];
  40   5      					LongFileName[m]=temp[m];
  41   5      					n=k;
  42   5      					i++;
  43   5      					if (i==16)
  44   5      					{
  45   6      						FAT32ReadCluster(&chain);
  46   6      						i=0;
  47   6      					}
  48   5      				}
  49   4      				printf("%s\t",LongFileName);
  50   4      				if (sDIR[i].Attr&FAT32_ATTR_DIRECTORY) printf("\t<DIR>"); else printf("\t<FILE>");
  51   4      				printf("\t%ld",MEMSwap32(sDIR[i].FileSize));
  52   4      				printf("\n");
  53   4      			}
  54   3      			else
  55   3      			{
C51 COMPILER V6.12  FAT32LISTDIRECTORY                                                     05/03/2005 11:51:04 PAGE 2   

  56   4      			//短文件名
  57   4      				if (sDIR[i].Name[0]!=0xe5&&sDIR[i].Name[0]!=0x00)
  58   4      				{
  59   5      					if (sDIR[i].Attr&FAT32_ATTR_VOLUME_ID)
  60   5      						printf("Driver Volume:");
  61   5      					for(j=0;j<11;j++)
  62   5      						printf("%c",sDIR[i].Name[j]);
  63   5      					if (sDIR[i].Attr&FAT32_ATTR_DIRECTORY) printf("\t<DIR>"); else printf("\t<FILE>");
  64   5      					printf("\t%ld",MEMSwap32(sDIR[i].FileSize));
  65   5      					printf("\n");
  66   5      				}
  67   4      			}
  68   3      		}
  69   2      	}
  70   1      	return(0);
  71   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    878    ----
   CONSTANT SIZE    =     44    ----
   XDATA SIZE       =   ----      34
   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 + -