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

📄 fat16.lst

📁 SPI FLASH,SL811HST驱动
💻 LST
📖 第 1 页 / 共 5 页
字号:
   435  413C  26E9               	addwf	fsr0l,f,c
   436  413E  50E2               	movf	fsr1h,w,c
   437  4140  22EA               	addwfc	fsr0h,f,c
   438  4142  CFEE F000          	movff	postinc0,btemp
   439  4146  CFED F001          	movff	postdec0,btemp+1
   440  414A  C000  F041         	movff	btemp,_BPB_RsvdSecCnt
   441  414E  C001  F042         	movff	btemp+1,_BPB_RsvdSecCnt+1
   442                           ;fat16.c: 86: BPB_NumFATs = BPB->BPB_NumFATs;
   443  4152  EE00 F010          	lfsr	0,16
   444  4156  50E1               	movf	fsr1l,w,c
   445  4158  26E9               	addwf	fsr0l,f,c
   446  415A  50E2               	movf	fsr1h,w,c
   447  415C  22EA               	addwfc	fsr0h,f,c
   448  415E  CFEF F1B0          	movff	indf0,_BPB_NumFATs
   449                           ;fat16.c: 87: BPB_RootEntCnt = BPB->BPB_RootEntC
      +                          nt;
   450  4162  EE00 F011          	lfsr	0,17
   451  4166  50E1               	movf	fsr1l,w,c
   452  4168  26E9               	addwf	fsr0l,f,c
   453  416A  50E2               	movf	fsr1h,w,c
   454  416C  22EA               	addwfc	fsr0h,f,c
   455  416E  CFEE F000          	movff	postinc0,btemp
   456  4172  CFED F001          	movff	postdec0,btemp+1
   457  4176  C000  F03F         	movff	btemp,_BPB_RootEntCnt
   458  417A  C001  F040         	movff	btemp+1,_BPB_RootEntCnt+1
   459                           ;fat16.c: 88: BPB_TotSec16 = BPB->BPB_TotSec16;
   460  417E  EE00 F013          	lfsr	0,19
   461  4182  50E1               	movf	fsr1l,w,c
   462  4184  26E9               	addwf	fsr0l,f,c
   463  4186  50E2               	movf	fsr1h,w,c
   464  4188  22EA               	addwfc	fsr0h,f,c
   465  418A  CFEE F000          	movff	postinc0,btemp
   466  418E  CFED F001          	movff	postdec0,btemp+1
   467  4192  C000  F043         	movff	btemp,_BPB_TotSec16
   468  4196  C001  F044         	movff	btemp+1,_BPB_TotSec16+1
   469                           ;fat16.c: 89: BPB_FATSz16 = BPB->BPB_FATSz16;
   470  419A  EE00 F016          	lfsr	0,22
   471  419E  50E1               	movf	fsr1l,w,c
   472  41A0  26E9               	addwf	fsr0l,f,c
   473  41A2  50E2               	movf	fsr1h,w,c
   474  41A4  22EA               	addwfc	fsr0h,f,c
   475  41A6  CFEE F000          	movff	postinc0,btemp
   476  41AA  CFED F001          	movff	postdec0,btemp+1
   477  41AE  C000  F03D         	movff	btemp,_BPB_FATSz16
   478  41B2  C001  F03E         	movff	btemp+1,_BPB_FATSz16+1
   479                           ;fat16.c: 90: BPB_HiddSec = BPB->BPB_HiddSec;
   480  41B6  EE00 F01C          	lfsr	0,28
   481  41BA  50E1               	movf	fsr1l,w,c
   482  41BC  26E9               	addwf	fsr0l,f,c
   483  41BE  50E2               	movf	fsr1h,w,c
   484  41C0  22EA               	addwfc	fsr0h,f,c
   485  41C2  CFEE F045          	movff	postinc0,_BPB_HiddSec
   486  41C6  CFEE F046          	movff	postinc0,_BPB_HiddSec+1
   487  41CA  CFEE F047          	movff	postinc0,_BPB_HiddSec+2
   488  41CE  CFED F048          	movff	postdec0,_BPB_HiddSec+3
   489  41D2  52ED               	movf	postdec0,f,c
   490  41D4  52ED               	movf	postdec0,f,c
   491                           ;fat16.c: 92: }
   492  41D6  0012               	return	
   493  41D8  FFFF               	dw	65535
   494  41DA  D784               	goto	f4552
   495                           ;fat16.c: 96: uint32 DirStartSec(void)
   496                           ;fat16.c: 98: {
   497  41DC                     _DirStartSec:
   498  41DC  FFFF               	dw	65535
   499  41DE                     f4582:
   500  0000                     
   501                           ;fat16.c: 99: return BPB_RsvdSecCnt + ((uint32)B
      +                          PB_NumFATs) * ((uint32)BPB_FATSz16);
   502  41DE  C03D  F000         	movff	_BPB_FATSz16,btemp
   503  41E2  C03E  F001         	movff	_BPB_FATSz16+1,btemp+1
   504  41E6  5000               	movf	btemp,w
   505  41E8  6E04               	movwf	btemp+4
   506  41EA  5001               	movf	btemp+1,w
   507  41EC  6E05               	movwf	btemp+5
   508  41EE  6A06               	clrf	btemp+6
   509  41F0  6A07               	clrf	btemp+7
   510  41F2  C1B0  F000         	movff	_BPB_NumFATs,btemp
   511  41F6  6A01               	clrf	btemp+1
   512  41F8  6A02               	clrf	btemp+2
   513  41FA  6A03               	clrf	btemp+3
   514  41FC  ECB1  F01D         	call	llmul
   515  4200  C000  F0F3         	movff	btemp,?a_DirStartSec
   516  4204  C001  F0F4         	movff	btemp+1,?a_DirStartSec+1
   517  4208  C002  F0F5         	movff	btemp+2,?a_DirStartSec+2
   518  420C  C003  F0F6         	movff	btemp+3,?a_DirStartSec+3
   519  4210  C041  F000         	movff	_BPB_RsvdSecCnt,btemp
   520  4214  C042  F001         	movff	_BPB_RsvdSecCnt+1,btemp+1
   521  4218  6A02               	clrf	btemp+2
   522  421A  6A03               	clrf	btemp+3
   523  421C  0100               	movlb	__Lparam shr (0+8)
   524  421E  51F3               	movf	?a_DirStartSec^(__Lparam& (0+65280)),w
   525  4220  2600               	addwf	btemp,f
   526  4222  51F4               	movf	(?a_DirStartSec+1)^(__Lparam& (0+65280)),w
   527  4224  2201               	addwfc	btemp+1,f
   528  4226  51F5               	movf	(?a_DirStartSec+2)^(__Lparam& (0+65280)),w
   529  4228  2202               	addwfc	btemp+2,f
   530  422A  51F6               	movf	(?a_DirStartSec+3)^(__Lparam& (0+65280)),w
   531  422C  2203               	addwfc	btemp+3,f
   532                           ;fat16.c: 100: }
   533  422E  0012               	return	
   534  4230  FFFF               	dw	65535
   535  4232  D7D5               	goto	f4582
   536                           ;fat16.c: 104: uint32 DataStartSec(void)
   537                           ;fat16.c: 106: {
   538  4234                     _DataStartSec:
   539  4234  FFFF               	dw	65535
   540  4236                     f4592:
   541  0000                     
   542                           ;fat16.c: 107: return (uint32)(DirStartSec() + (
      +                          (uint32)BPB_RootEntCnt) * 32 / BPB_BytesPerSec);
   543  4236  0E05               	movlw	5
   544  4238  C03F  F000         	movff	_BPB_RootEntCnt,btemp
   545  423C  C040  F001         	movff	_BPB_RootEntCnt+1,btemp+1
   546  4240  6A02               	clrf	btemp+2
   547  4242  6A03               	clrf	btemp+3
   548  4244  ECE1  F002         	call	llsll
   549  4248  C03B  FFF6         	movff	_BPB_BytesPerSec,tblptrl
   550  424C  C03C  FFF7         	movff	_BPB_BytesPerSec+1,tblptrh
   551  4250  50F6               	movf	tblptrl,w,c
   552  4252  6E04               	movwf	btemp+4
   553  4254  50F7               	movf	tblptrh,w,c
   554  4256  6E05               	movwf	btemp+5
   555  4258  6A06               	clrf	btemp+6
   556  425A  6A07               	clrf	btemp+7
   557  425C  EC53  F01D         	call	lldiv
   558  4260  C000  F0DE         	movff	btemp,?a_DataStartSec
   559  4264  C001  F0DF         	movff	btemp+1,?a_DataStartSec+1
   560  4268  C002  F0E0         	movff	btemp+2,?a_DataStartSec+2
   561  426C  C003  F0E1         	movff	btemp+3,?a_DataStartSec+3
   562  4270  DFB5               	call	_DirStartSec	;wreg free
   563  4272  0100               	movlb	__Lparam shr (0+8)
   564  4274  51DE               	movf	?a_DataStartSec^(__Lparam& (0+65280)),w
   565  4276  2600               	addwf	btemp,f
   566  4278  51DF               	movf	(?a_DataStartSec+1)^(__Lparam& (0+65280)),
      +                          w
   567  427A  2201               	addwfc	btemp+1,f
   568  427C  51E0               	movf	(?a_DataStartSec+2)^(__Lparam& (0+65280)),
      +                          w
   569  427E  2202               	addwfc	btemp+2,f
   570  4280  51E1               	movf	(?a_DataStartSec+3)^(__Lparam& (0+65280)),
      +                          w
   571  4282  2203               	addwfc	btemp+3,f
   572                           ;fat16.c: 108: }
   573  4284  0012               	return	
   574  4286  FFFF               	dw	65535
   575  4288  D7D6               	goto	f4592
   576                           ;fat16.c: 112: uint16 GetDirSecCount(void)
   577                           ;fat16.c: 114: {
   578  428A                     _GetDirSecCount:
   579  428A  FFFF               	dw	65535
   580  428C                     f4602:
   581  0000                     
   582                           ;fat16.c: 115: return BPB_RootEntCnt * 32 / 512;
   583  428C  C03F  F000         	movff	_BPB_RootEntCnt,btemp
   584  4290  C040  F001         	movff	_BPB_RootEntCnt+1,btemp+1
   585  4294  0E05               	movlw	5
   586  4296                     u55:
   587  4296  90D8               	bcf	status,0,c
   588  4298  3600               	rlcf	btemp,f
   589  429A  3601               	rlcf	btemp+1,f
   590  429C  2EE8               	decfsz	wreg,f,c
   591  429E  D7FB               	goto	u55
   592  42A0  0E09               	movlw	9
   593  42A2  6E02               	movwf	btemp+2
   594  42A4                     u65:
   595  42A4  90D8               	bcf	status,0,c
   596  42A6  3201               	rrcf	btemp+1,f
   597  42A8  3200               	rrcf	btemp,f
   598  42AA  2E02               	decfsz	btemp+2,f
   599  42AC  D7FB               	goto	u65
   600                           ;fat16.c: 116: }
   601  42AE  0012               	return	
   602  42B0  FFFF               	dw	65535
   603  42B2  D7EC               	goto	f4602
   604  42B4  00D8               	dw	?_ClusConvLBA
   605  42B6                     _ClusConvLBA:
   606  42B6  FFFF               	dw	65535
   607  42B8                     f4612:
   608  0000                     
   609                           ;fat16.c: 123: return DataStartSec() + ((uint32)
      +                          BPB_SecPerClus )* (ClusID - 2);
   610  42B8  0100               	movlb	__Lparam shr (0+8)
   611  42BA  0EFE               	movlw	254
   612  42BC  25D8               	addwf	?_ClusConvLBA^(__Lparam& (0+65280)),w
   613  42BE  6E04               	movwf	btemp+4
   614  42C0  0EFF               	movlw	255
   615  42C2  21D9               	addwfc	(?_ClusConvLBA+1)^(__Lparam& (0+65280)),
      +                          w
   616  42C4  6E05               	movwf	btemp+5
   617  42C6  6A06               	clrf	btemp+6
   618  42C8  6A07               	clrf	btemp+7
   619  42CA  C1B1  F000         	movff	_BPB_SecPerClus,btemp
   620  42CE  6A01               	clrf	btemp+1
   621  42D0  6A02               	clrf	btemp+2
   622  42D2  6A03               	clrf	btemp+3
   623  42D4  ECB1  F01D         	call	llmul
   624  42D8  C000  F0DA         	movff	btemp,?a_ClusConvLBA
   625  42DC  C001  F0DB         	movff	btemp+1,?a_ClusConvLBA+1
   626  42E0  C002  F0DC         	movff	btemp+2,?a_ClusConvLBA+2
   627  42E4  C003  F0DD         	movff	btemp+3,?a_ClusConvLBA+3
   628  42E8  DFA5               	call	_DataStartSec	;wreg free
   629  42EA  0100               	movlb	__Lparam shr (0+8)
   630  42EC  51DA               	movf	?a_ClusConvLBA^(__Lparam& (0+65280)),w
   631  42EE  2600               	addwf	btemp,f
   632  42F0  51DB               	movf	(?a_ClusConvLBA+1)^(__Lparam& (0+65280)),w
   633  42F2  2201               	addwfc	btemp+1,f
   634  42F4  51DC               	movf	(?a_ClusConvLBA+2)^(__Lparam& (0+65280)),w
   635  42F6  2202               	addwfc	btemp+2,f
   636  42F8  51DD               	movf	(?a_ClusConvLBA+3)^(__Lparam& (0+65280)),w
   637  42FA  2203               	addwfc	btemp+3,f
   638                           ;fat16.c: 124: }
   639  42FC  0012               	return	
   640  42FE  FFFF               	dw	65535
   641  4300  D7DB               	goto	f4612
   642  4302  00E9               	dw	?_ReadFAT
   643  4304                     _ReadFAT:
   644  4304  FFFF               	dw	65535
   645  4306                     f4622:
   646  0000                     
   647                           ;fat16.c: 131: uint16 *RAM = (uint16*)buffer;
   648  4306  0100               	movlb	__Lparam shr (0+8)
   649  4308  0EAD               	movlw	low _buffer
   650  430A  6FEB               	movwf	?a_ReadFAT^(__Lparam& (0+65280))
   651  430C  0E03               	movlw	high _buffer
   652  430E  6FEC               	movwf	(?a_ReadFAT+1)^(__Lparam& (0+65280))
   653                           ;fat16.c: 133: sl811_read_sector(BPB_RsvdSecCnt 
      +                          + Index / 256, buffer);
   654  4310  C041  F000         	movff	_BPB_RsvdSecCnt,btemp
   655  4314  C042  F001         	movff	_BPB_RsvdSecCnt+1,btemp+1
   656  4318  51EA               	movf	(?_ReadFAT+1)^(__Lparam& (0+65280)),w
   657  431A  2400               	addwf	btemp,w
   658  431C  6FF3               	movwf	?_sl811_read_sector^(__Lparam& (0+65280))

⌨️ 快捷键说明

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