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

📄 fat16.lst

📁 SPI FLASH,SL811HST驱动
💻 LST
📖 第 1 页 / 共 5 页
字号:
   215                           ;       param _Name assigned to ?_GetFileID+0
   216  0000                     _GetFileID$Name	set	?_GetFileID
   217                           ;	_DirStart assigned to ?a_GetEmptyDIR+6
   218  0000                     _GetEmptyDIR$DirStart	set	?a_GetEmptyDIR+6
   219                           ;	_i assigned to ?a_GetEmptyDIR+4
   220  0000                     _GetEmptyDIR$i	set	?a_GetEmptyDIR+4
   221                           ;	_ID assigned to ?a_GetEmptyDIR+2
   222  0000                     _GetEmptyDIR$ID	set	?a_GetEmptyDIR+2
   223                           ;	_DirSecCut assigned to ?a_GetEmptyDIR+0
   224  0000                     _GetEmptyDIR$DirSecCut	set	?a_GetEmptyDIR
   225                           ;	_SecID assigned to ?a_WriteFAT+2
   226  0000                     _WriteFAT$SecID	set	?a_WriteFAT+2
   227                           ;	_RAM assigned to ?a_WriteFAT+0
   228  0000                     _WriteFAT$RAM	set	?a_WriteFAT
   229                           ;       param _Value assigned to ?_WriteFAT+2
   230  0000                     _WriteFAT$Value	set	?_WriteFAT+2
   231                           ;fat16.c: 139: void WriteFAT(uint16 Index, uint1
      +                          6 Value)
   232                           ;fat16.c: 141: {
   233                           ;       param _Index assigned to ?_WriteFAT+0
   234  0000                     _WriteFAT$Index	set	?_WriteFAT
   235                           ;	_RAM assigned to ?a_ReadFAT+0
   236  0000                     _ReadFAT$RAM	set	?a_ReadFAT
   237                           ;fat16.c: 128: uint16 ReadFAT(uint16 Index)
   238                           ;fat16.c: 130: {
   239                           ;       param _Index assigned to ?_ReadFAT+0
   240  0000                     _ReadFAT$Index	set	?_ReadFAT
   241                           ;fat16.c: 120: uint32 ClusConvLBA(uint16 ClusID)
   242                           ;fat16.c: 122: {
   243                           ;       param _ClusID assigned to ?_ClusConvLBA+
      +                          0
   244  0000                     _ClusConvLBA$ClusID	set	?_ClusConvLBA
   245                           ;	_BPB assigned to ?a_ReadBPB+0
   246  0000                     _ReadBPB$BPB	set	?a_ReadBPB
   247                           ;       param _size assigned to ?_EmptyBytes+2
   248  0000                     _EmptyBytes$size	set	?_EmptyBytes+2
   249                           ;fat16.c: 63: void EmptyBytes(void* D, uint16 si
      +                          ze)
   250                           ;fat16.c: 65: {
   251                           ;       param _D assigned to ?_EmptyBytes+0
   252  0000                     _EmptyBytes$D	set	?_EmptyBytes
   253                           ;       param _Size assigned to ?_IsEqual+4
   254  0000                     _IsEqual$Size	set	?_IsEqual+4
   255                           ;       param _B assigned to ?_IsEqual+2
   256  0000                     _IsEqual$B	set	?_IsEqual+2
   257  4002                     _CopyBytes:
   258  4002  FFFF               	dw	65535
   259  4004                     f4522:
   260  0000                     
   261                           ;fat16.c: 45: uint8 *s = S, *d = D;
   262  4004  C0F1  FFF3         	movff	?_CopyBytes,prodl
   263  4008  C0F2  FFF4         	movff	?_CopyBytes+1,prodh
   264  400C  C0F3  FFD9         	movff	?_CopyBytes+2,fsr2l
   265  4010  C0F4  FFDA         	movff	?_CopyBytes+3,fsr2h
   266                           ;fat16.c: 46: uint16 i;
   267  4014  6AF6               	clrf	tblptrl,c
   268  4016  6AF7               	clrf	tblptrh,c
   269  4018                     l12:
   270  4018  0100               	movlb	__Lparam shr (0+8)
   271  401A  51F6               	movf	(?_CopyBytes+5)^(__Lparam& (0+65280)),w
   272  401C  5CF7               	subwf	tblptrh,w,c
   273  401E  E102               	bnz	u15
   274  4020  51F5               	movf	(?_CopyBytes+4)^(__Lparam& (0+65280)),w
   275  4022  5CF6               	subwf	tblptrl,w,c
   276  4024                     u15:
   277  4024  B0D8               	btfsc	status,0,c
   278  4026  D012               	goto	u10
   279                           ;fat16.c: 48: *d++ = *s++;
   280  4028  CFF3 FFE1          	movff	prodl,fsr1l
   281  402C  CFF4 FFE2          	movff	prodh,fsr1h
   282  4030  4AF3               	infsnz	prodl,f,c
   283  4032  2AF4               	incf	prodh,f,c
   284  4034  CFD9 FFE9          	movff	fsr2l,fsr0l
   285  4038  CFDA FFEA          	movff	fsr2h,fsr0h
   286  403C  4AD9               	infsnz	fsr2l,f,c
   287  403E  2ADA               	incf	fsr2h,f,c
   288  4040  CFE7 FFEF          	movff	indf1,indf0
   289  4044  2AF6               	incf	tblptrl,f,c
   290  4046  0E00               	movlw	0
   291  4048  22F7               	addwfc	tblptrh,f,c
   292  404A  D7E6               	goto	l12
   293  404C                     u10:
   294                           ;fat16.c: 49: }
   295  404C  0012               	return	
   296  404E  FFFF               	dw	65535
   297  4050  D7D9               	goto	f4522
   298                           ;fat16.c: 52: uint8 IsEqual(void* A, void* B, ui
      +                          nt8 Size)
   299                           ;fat16.c: 54: {
   300                           ;       param _A assigned to ?_IsEqual+0
   301  4052  00C5               	dw	?_IsEqual
   302  4054                     _IsEqual:
   303  4054  FFFF               	dw	65535
   304  4056                     f4532:
   305  0000                     
   306                           ;fat16.c: 55: uint8 i, *a = A, *b = B;
   307  4056  C0C5  FFF6         	movff	?_IsEqual,tblptrl
   308  405A  C0C6  FFF7         	movff	?_IsEqual+1,tblptrh
   309  405E  C0C7  FFF3         	movff	?_IsEqual+2,prodl
   310  4062  C0C8  FFF4         	movff	?_IsEqual+3,prodh
   311                           ;fat16.c: 56: for(i = 0; i < Size; i++)
   312  4066  6AD9               	clrf	fsr2l,c
   313  4068                     l17:
   314  4068  0100               	movlb	__Lparam shr (0+8)
   315  406A  51C9               	movf	(?_IsEqual+4)^(__Lparam& (0+65280)),w
   316  406C  5CD9               	subwf	fsr2l,w,c
   317  406E  B0D8               	btfsc	status,0,c
   318  4070  D016               	goto	u30
   319                           ;fat16.c: 57: if(a[i] != b[i])
   320  4072  50D9               	movf	fsr2l,w,c
   321  4074  24F3               	addwf	prodl,w,c
   322  4076  6EE9               	movwf	fsr0l,c
   323  4078  0E00               	movlw	0
   324  407A  20F4               	addwfc	prodh,w,c
   325  407C  6EEA               	movwf	fsr0h
   326  407E  50EF               	movf	indf0,w,c
   327  4080  6E00               	movwf	btemp
   328  4082  50D9               	movf	fsr2l,w,c
   329  4084  24F6               	addwf	tblptrl,w,c
   330  4086  6EE9               	movwf	fsr0l,c
   331  4088  0E00               	movlw	0
   332  408A  20F7               	addwfc	tblptrh,w,c
   333  408C  6EEA               	movwf	fsr0h
   334  408E  50EF               	movf	indf0,w,c
   335  4090  1800               	xorwf	btemp,w
   336  4092  B4D8               	btfsc	status,2,c
   337  4094  D002               	goto	l18
   338                           ;fat16.c: 58: return 0;
   339  4096  0E00               	movlw	0
   340  4098  D003               	goto	l13
   341  409A                     l18:
   342                           ;fat16.c: 59: return 1;
   343  409A  2AD9               	incf	fsr2l,f,c
   344  409C  D7E5               	goto	l17
   345  409E                     u30:
   346  409E  0E01               	movlw	1
   347                           ;fat16.c: 60: }
   348  40A0                     l13:
   349  40A0  0012               	return	
   350  40A2  FFFF               	dw	65535
   351  40A4  D7D8               	goto	f4532
   352  40A6  00E5               	dw	?_EmptyBytes
   353  40A8                     _EmptyBytes:
   354  40A8  FFFF               	dw	65535
   355  40AA                     f4542:
   356  0000                     
   357                           ;fat16.c: 66: uint16 i;
   358  40AA  C0E5  FFE1         	movff	?_EmptyBytes,fsr1l
   359  40AE  C0E6  FFE2         	movff	?_EmptyBytes+1,fsr1h
   360                           ;fat16.c: 68: for(i = 0; i < size; i++)
   361  40B2  6AF3               	clrf	prodl,c
   362  40B4  6AF4               	clrf	prodh,c
   363  40B6                     l23:
   364  40B6  0100               	movlb	__Lparam shr (0+8)
   365  40B8  51E8               	movf	(?_EmptyBytes+3)^(__Lparam& (0+65280)),w
   366  40BA  5CF4               	subwf	prodh,w,c
   367  40BC  E102               	bnz	u45
   368  40BE  51E7               	movf	(?_EmptyBytes+2)^(__Lparam& (0+65280)),w
   369  40C0  5CF3               	subwf	prodl,w,c
   370  40C2                     u45:
   371  40C2  B0D8               	btfsc	status,0,c
   372  40C4  D00B               	goto	u40
   373                           ;fat16.c: 69: {
   374                           ;fat16.c: 70: *data++ = 0;
   375  40C6  CFE1 FFE9          	movff	fsr1l,fsr0l
   376  40CA  CFE2 FFEA          	movff	fsr1h,fsr0h
   377  40CE  4AE1               	infsnz	fsr1l,f,c
   378  40D0  2AE2               	incf	fsr1h,f,c
   379  40D2  6AEF               	clrf	indf0,c
   380                           ;fat16.c: 71: }
   381  40D4  2AF3               	incf	prodl,f,c
   382  40D6  0E00               	movlw	0
   383  40D8  22F4               	addwfc	prodh,f,c
   384  40DA  D7ED               	goto	l23
   385  40DC                     u40:
   386                           ;fat16.c: 72: }
   387  40DC  0012               	return	
   388  40DE  FFFF               	dw	65535
   389  40E0  D7E4               	goto	f4542
   390                           ;fat16.c: 76: void ReadBPB(void)
   391                           ;fat16.c: 78: {
   392  40E2                     _ReadBPB:
   393  40E2  FFFF               	dw	65535
   394  40E4                     f4552:
   395  0000                     
   396                           ;fat16.c: 79: FAT_BPB* BPB = (FAT_BPB*)buffer;
   397  40E4  0100               	movlb	__Lparam shr (0+8)
   398  40E6  0EAD               	movlw	low _buffer
   399  40E8  6F7B               	movwf	?a_ReadBPB^(__Lparam& (0+65280))
   400  40EA  0E03               	movlw	high _buffer
   401  40EC  6F7C               	movwf	(?a_ReadBPB+1)^(__Lparam& (0+65280))
   402                           ;fat16.c: 81: sl811_read_sector(0x00000000, buff
      +                          er);
   403  40EE  6BF3               	clrf	?_sl811_read_sector^(__Lparam& (0+65280))
   404  40F0  6BF4               	clrf	(?_sl811_read_sector+1)^(__Lparam& (0+6528
      +                          0))
   405  40F2  6BF5               	clrf	(?_sl811_read_sector+2)^(__Lparam& (0+6528
      +                          0))
   406  40F4  6BF6               	clrf	(?_sl811_read_sector+3)^(__Lparam& (0+6528
      +                          0))
   407  40F6  0EAD               	movlw	low _buffer
   408  40F8  6FF7               	movwf	(?_sl811_read_sector+4)^(__Lparam& (0+652
      +                          80))
   409  40FA  0E03               	movlw	high _buffer
   410  40FC  6FF8               	movwf	(?_sl811_read_sector+5)^(__Lparam& (0+652
      +                          80))
   411  40FE  EC5E  F00A         	call	_sl811_read_sector	;wreg free
   412                           ;fat16.c: 83: BPB_BytesPerSec = BPB->BPB_BytesPe
      +                          rSec;
   413                           ; _BPB loaded to fsr1
   414  4102  C07B  FFE1         	movff	?a_ReadBPB,fsr1l
   415  4106  C07C  FFE2         	movff	?a_ReadBPB+1,fsr1h
   416  410A  EE00 F00B          	lfsr	0,11
   417  410E  50E1               	movf	fsr1l,w,c
   418  4110  26E9               	addwf	fsr0l,f,c
   419  4112  50E2               	movf	fsr1h,w,c
   420  4114  22EA               	addwfc	fsr0h,f,c
   421  4116  CFEE F000          	movff	postinc0,btemp
   422  411A  CFED F001          	movff	postdec0,btemp+1
   423  411E  C000  F03B         	movff	btemp,_BPB_BytesPerSec
   424  4122  C001  F03C         	movff	btemp+1,_BPB_BytesPerSec+1
   425                           ;fat16.c: 84: BPB_SecPerClus = BPB->BPB_SecPerCl
      +                          us;
   426  4126  EE00 F00D          	lfsr	0,13
   427  412A  50E1               	movf	fsr1l,w,c
   428  412C  26E9               	addwf	fsr0l,f,c
   429  412E  50E2               	movf	fsr1h,w,c
   430  4130  22EA               	addwfc	fsr0h,f,c
   431  4132  CFEF F1B1          	movff	indf0,_BPB_SecPerClus
   432                           ;fat16.c: 85: BPB_RsvdSecCnt = BPB->BPB_RsvdSecC
      +                          nt;
   433  4136  EE00 F00E          	lfsr	0,14
   434  413A  50E1               	movf	fsr1l,w,c

⌨️ 快捷键说明

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