📄 file.lst
字号:
166 2 for(j=0;j<256;j++)
167 2 {
168 3 if(FatCache[1][j]==0)
169 3 {
170 4 FatCache[1][j]=0xffff;
171 4 FatCache[0][Cluster%(SimpleBpb.BytsPerSec/2)]=WordSwap((i*256+j));
172 4 if(!Write(FixedSec+FatParameter.FirstFatSecNum,1,(BYTE *)FatCache[0],TRUE))
173 4 return FALSE;
174 4 if(!Write(i+FatParameter.FirstFatSecNum,1,(BYTE *)FatCache[p],TRUE))
175 4 return FALSE;
C51 COMPILER V7.06 FILE 07/30/2008 08:56:13 PAGE 4
176 4 return (i*256+j);
177 4 }
178 3 }
179 2 }
180 1 return 0Xffff;
181 1 /* FixedSec=Cluster*2/SimpleBpb.BytsPerSec;
182 1 if(!Read(FixedSec+FatParameter.FirstFatSecNum,1,(BYTE *)FatCache[0]))
183 1 return FALSE;
184 1 for(i=FixedSec;i<SimpleBpb.FATSz;i++)
185 1 {
186 1 if(!Read(i+FatParameter.FirstFatSecNum,1,(BYTE *)FatCache[1]))
187 1 return FALSE;
188 1 for(j=0;j<256;j++)
189 1 {
190 1 if(FatCache[1][j]==0)
191 1 { if(i==FixedSec)
192 1 p=0;
193 1 else p=1;
194 1 FatCache[p][j]=0xffff;
195 1 FatCache[0][Cluster%(SimpleBpb.BytsPerSec/2)]=WordSwap((i*256+j));
196 1 if(!Write(FixedSec+FatParameter.FirstFatSecNum,1,(BYTE *)FatCache[0],TRUE))
197 1 return FALSE;
198 1 if(!Write(i+FatParameter.FirstFatSecNum,1,(BYTE *)FatCache[p],TRUE))
199 1 return FALSE;
200 1 return (i*256+j);
201 1 }
202 1 }
203 1 }
204 1 for(i=0;i<FixedSec;i++)
205 1 {
206 1 if(!Read(i+FatParameter.FirstFatSecNum,1,(BYTE *)FatCache[1]))
207 1 return FALSE;
208 1 for(j=0;j<256;j++)
209 1 {
210 1 if(FatCache[1][j]==0)
211 1 { if(i==FixedSec)
212 1 p=0;
213 1 else p=1;
214 1 FatCache[p][j]=0xffff;
215 1 FatCache[0][Cluster%(SimpleBpb.BytsPerSec/2)]=WordSwap((i*256+j));
216 1 if(!Write(FixedSec+FatParameter.FirstFatSecNum,1,(BYTE *)FatCache[0],TRUE))
217 1 return FALSE;
218 1 if(!Write(i+FatParameter.FirstFatSecNum,1,(BYTE *)FatCache[p],TRUE))
219 1 return FALSE;
220 1 return (i*256+j);
221 1 }
222 1 }
223 1 }
224 1 return 0Xffff;*/
225 1 ///////////////////////////////////////////////////////////////////////////////
226 1 /* FixedSec=Cluster*2/SimpleBpb.BytsPerSec+FatParameter.FirstFatSecNum;
227 1 if(!Read(FixedSec,1,(BYTE *)FatCache[0]))
228 1 return FALSE;
229 1 for(i=VariedCluster; i<SimpleBpb.BytsPerSec * SimpleBpb.FATSz / sizeof(WORD); i++)
230 1 {
231 1 UpdateSec=i*2/SimpleBpb.BytsPerSec+FatParameter.FirstFatSecNum;
232 1 OffSet=i%(SimpleBpb.BytsPerSec/2);
233 1 if(FixedSec==UpdateSec)
234 1 {
235 1 p=0;
236 1 }
237 1 else
C51 COMPILER V7.06 FILE 07/30/2008 08:56:13 PAGE 5
238 1 {
239 1 if(!Read(UpdateSec,1,(BYTE *)FatCache[1]))
240 1 return FALSE;
241 1 p=1;
242 1 }
243 1 ///////////////////////////////////////////////////////////////////////////
244 1 if(FatCache[p][OffSet]==0)
245 1 {
246 1 FatCache[p][OffSet]=0xffff;
247 1 VariedCluster= i;
248 1 FatCache[0][Cluster%(SimpleBpb.BytsPerSec/2)]= WordSwap(VariedCluster);
249 1 if(!p)
250 1 {
251 1 if(!Write(FixedSec,1,(BYTE *)FatCache[p],TRUE))
252 1 return FALSE;
253 1 return VariedCluster;
254 1 }
255 1 if(!Write(FixedSec,1,(BYTE *)FatCache[0],TRUE))
256 1 return FALSE;
257 1
258 1 if(!Write(UpdateSec,1,(BYTE *)FatCache[1],TRUE))
259 1 return FALSE;
260 1 return VariedCluster;
261 1 }
262 1 }//*----------------end for cycle
263 1 //////////////////////////////////////////////////////////////////////////////////
264 1 for(i=2;i<VariedCluster;i++)
265 1 {
266 1 UpdateSec=i*2/SimpleBpb.BytsPerSec+FatParameter.FirstFatSecNum;
267 1 OffSet=i%(SimpleBpb.BytsPerSec/2);
268 1 if(FixedSec==UpdateSec)
269 1 p=0;
270 1 else
271 1 {
272 1 if(!Read(UpdateSec,1,(unsigned char *)FatCache[1]))
273 1 return FALSE;
274 1 p=1;
275 1 }
276 1
277 1 if(FatCache[p][OffSet]==0)
278 1 {
279 1 FatCache[p][OffSet]=0xffff;
280 1 VariedCluster= i;
281 1 FatCache[0][Cluster%(SimpleBpb.BytsPerSec/2)]=WordSwap(VariedCluster);
282 1 if(!p)
283 1 {
284 1 if(!Write(FixedSec,1,(unsigned char *)FatCache[p],TRUE))
285 1 return FALSE;
286 1
287 1 return VariedCluster;;
288 1 }
289 1 if(!Write(FixedSec,1,(unsigned char *)FatCache[0],TRUE))
290 1 return FALSE;
291 1
292 1 if(!Write(UpdateSec,1,(unsigned char *)FatCache[1],TRUE))
293 1 return FALSE;
294 1 return VariedCluster;;
295 1 }
296 1
297 1 }//----------------------------end for cycle
298 1 /////////////////////////////////////////////////////////////////////////////////
299 1 return 0xffff;*/
C51 COMPILER V7.06 FILE 07/30/2008 08:56:13 PAGE 6
300 1 }
*** WARNING C280 IN LINE 104 OF FILE.C: 'OffSet': unreferenced local variable
*** WARNING C280 IN LINE 104 OF FILE.C: 'UpdateSec': unreferenced local variable
301 WORD GetListCluster(WORD Cluster)
302 {
303 1 WORD Fatbuf[256];
304 1 //////////////////////////////////////////////////////////////////////////////////
305 1 if(!Read(2*Cluster/SimpleBpb.BytsPerSec+FatParameter.FirstFatSecNum,1,(BYTE *)Fatbuf))
306 1 return FALSE;
307 1 return WordSwap(Fatbuf[Cluster%(SimpleBpb.BytsPerSec/2)]);
308 1 }
309 WORD SecToCluster(DWORD Sector)
310 {
311 1 if(Sector < FatParameter.FirstDataSector)
312 1 return FALSE;
313 1 else
314 1 return (WORD)((Sector - FatParameter.FirstDataSector) / SimpleBpb.SecPerClus + 2);
315 1 }
316 DWORD ClusterToSec(WORD Cluster)
317 {
318 1 if(Cluster<2)
319 1 return (FatParameter.FirstDataSector-1);
320 1 return ((Cluster-2)*SimpleBpb.SecPerClus+FatParameter.FirstDataSector);
321 1 }
322 DWORD SeekSector(DWORD Sector, const char dirname[11], struct _FILE *file)
323 {
324 1 BYTE Cache[512];
325 1 struct _DIR *dir;
326 1 UINT j, i;
327 1 WORD temp,temp1;
328 1 ///////////////////////////////////////////////////////////////////////////////////
329 1 for(i=0; i<SimpleBpb.RootEntCnt * sizeof(struct _DIR) / SimpleBpb.BytsPerSec; i++)
330 1 {
331 2 if(!Read(Sector,1,(BYTE *)Cache))
332 2 return 0xffffffff;
333 2 dir = (struct _DIR *)Cache;
334 2 //********************************************************************************
335 2 for(j=0; (dir->Name[0] != '\0') && (j< SimpleBpb.BytsPerSec / sizeof(struct _DIR)); j++)
336 2 {
337 3 if(memcmp((const char*)dir->Name, dirname, 11)== 0)
338 3 {
339 4 if(file != NULL)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -