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

📄 fat16.lst

📁 SPI FLASH,SL811HST驱动
💻 LST
📖 第 1 页 / 共 5 页
字号:
   659  431E  0E00               	movlw	0
   660  4320  2001               	addwfc	btemp+1,w
   661  4322  6FF4               	movwf	(?_sl811_read_sector^(__Lparam& (0+65280)
      +                          )+1)
   662  4324  6BF5               	clrf	(?_sl811_read_sector+2)^(__Lparam& (0+6528
      +                          0))
   663  4326  6BF6               	clrf	(?_sl811_read_sector+3)^(__Lparam& (0+6528
      +                          0))
   664  4328  0EAD               	movlw	low _buffer
   665  432A  6FF7               	movwf	(?_sl811_read_sector+4)^(__Lparam& (0+652
      +                          80))
   666  432C  0E03               	movlw	high _buffer
   667  432E  6FF8               	movwf	(?_sl811_read_sector+5)^(__Lparam& (0+652
      +                          80))
   668  4330  EC5E  F00A         	call	_sl811_read_sector	;wreg free
   669                           ;fat16.c: 134: return RAM[Index % 256];
   670  4334  C0E9  F000         	movff	?_ReadFAT,btemp
   671  4338  C0EA  F001         	movff	?_ReadFAT+1,btemp+1
   672  433C  6A01               	clrf	btemp+1
   673  433E  90D8               	bcf	status,0,c
   674  4340  3400               	rlcf	btemp,w
   675  4342  6E02               	movwf	btemp+2
   676  4344  3401               	rlcf	btemp+1,w
   677  4346  6E03               	movwf	btemp+3
   678  4348  0100               	movlb	__Lparam shr (0+8)
   679  434A  51EB               	movf	?a_ReadFAT^(__Lparam& (0+65280)),w
   680  434C  2402               	addwf	btemp+2,w
   681  434E  6EE9               	movwf	fsr0l,c
   682  4350  51EC               	movf	(?a_ReadFAT+1)^(__Lparam& (0+65280)),w
   683  4352  2003               	addwfc	btemp+3,w
   684  4354  6EEA               	movwf	fsr0h,c
   685  4356  CFEE F000          	movff	postinc0,btemp
   686  435A  CFED F001          	movff	postdec0,btemp+1
   687                           ;fat16.c: 135: }
   688  435E  0012               	return	
   689  4360  FFFF               	dw	65535
   690  4362  D7D1               	goto	f4622
   691  4364  00E5               	dw	?_WriteFAT
   692  4366                     _WriteFAT:
   693  4366  FFFF               	dw	65535
   694  0000                     
   695                           ;fat16.c: 142: uint16 *RAM = (uint16*)buffer;
   696  4368  0100               	movlb	__Lparam shr (0+8)
   697  436A  0EAD               	movlw	low _buffer
   698  436C  6FE9               	movwf	?a_WriteFAT^(__Lparam& (0+65280))
   699  436E  0E03               	movlw	high _buffer
   700  4370  6FEA               	movwf	(?a_WriteFAT+1)^(__Lparam& (0+65280))
   701                           ;fat16.c: 143: uint32 SecID;
   702  4372  C041  F000         	movff	_BPB_RsvdSecCnt,btemp
   703  4376  C042  F001         	movff	_BPB_RsvdSecCnt+1,btemp+1
   704  437A  51E6               	movf	(?_WriteFAT+1)^(__Lparam& (0+65280)),w
   705  437C  2400               	addwf	btemp,w
   706  437E  6FEB               	movwf	(?a_WriteFAT+2)^(__Lparam& (0+65280))
   707  4380  0E00               	movlw	0
   708  4382  2001               	addwfc	btemp+1,w
   709  4384  6FEC               	movwf	((?a_WriteFAT+2)^(__Lparam& (0+65280))+1)
   710  4386  6BED               	clrf	(?a_WriteFAT+4)^(__Lparam& (0+65280))
   711  4388  6BEE               	clrf	(?a_WriteFAT+5)^(__Lparam& (0+65280))
   712                           ;fat16.c: 146: sl811_read_sector(SecID, buffer);
   713  438A  C0EB  F0F3         	movff	?a_WriteFAT+2,?_sl811_read_sector
   714  438E  C0EC  F0F4         	movff	?a_WriteFAT+3,?_sl811_read_sector+1
   715  4392  C0ED  F0F5         	movff	?a_WriteFAT+4,?_sl811_read_sector+2
   716  4396  C0EE  F0F6         	movff	?a_WriteFAT+5,?_sl811_read_sector+3
   717  439A  0EAD               	movlw	low _buffer
   718  439C  6FF7               	movwf	(?_sl811_read_sector+4)^(__Lparam& (0+652
      +                          80))
   719  439E  0E03               	movlw	high _buffer
   720  43A0  6FF8               	movwf	(?_sl811_read_sector+5)^(__Lparam& (0+652
      +                          80))
   721  43A2  EC5E  F00A         	call	_sl811_read_sector	;wreg free
   722                           ;fat16.c: 147: RAM[Index % 256] = Value;
   723  43A6  C0E5  F000         	movff	?_WriteFAT,btemp
   724  43AA  C0E6  F001         	movff	?_WriteFAT+1,btemp+1
   725  43AE  6A01               	clrf	btemp+1
   726  43B0  90D8               	bcf	status,0,c
   727  43B2  3400               	rlcf	btemp,w
   728  43B4  6E02               	movwf	btemp+2
   729  43B6  3401               	rlcf	btemp+1,w
   730  43B8  6E03               	movwf	btemp+3
   731  43BA  0100               	movlb	__Lparam shr (0+8)
   732  43BC  51E9               	movf	?a_WriteFAT^(__Lparam& (0+65280)),w
   733  43BE  2402               	addwf	btemp+2,w
   734  43C0  6EE9               	movwf	fsr0l,c
   735  43C2  51EA               	movf	(?a_WriteFAT+1)^(__Lparam& (0+65280)),w
   736  43C4  2003               	addwfc	btemp+3,w
   737  43C6  6EEA               	movwf	fsr0h,c
   738  43C8  C0E7  FFEE         	movff	?_WriteFAT+2,postinc0
   739  43CC  C0E8  FFED         	movff	?_WriteFAT+3,postdec0
   740                           ;fat16.c: 149: sl811_write_sector(SecID, buffer)
      +                          ;
   741  43D0  C0EB  F0F1         	movff	?a_WriteFAT+2,?_sl811_write_sector
   742  43D4  C0EC  F0F2         	movff	?a_WriteFAT+3,?_sl811_write_sector+1
   743  43D8  C0ED  F0F3         	movff	?a_WriteFAT+4,?_sl811_write_sector+2
   744  43DC  C0EE  F0F4         	movff	?a_WriteFAT+5,?_sl811_write_sector+3
   745  43E0  D22E               	goto	L7
   746                           ;fat16.c: 150: }
   747                           ;fat16.c: 154: uint16 GetEmptyDIR()
   748                           ;fat16.c: 156: {
   749  43E2                     _GetEmptyDIR:
   750  43E2  FFFF               	dw	65535
   751  43E4                     f4652:
   752  0000                     
   753                           ;fat16.c: 157: uint16 DirSecCut, i, m, ID = 0;
   754  43E4  0100               	movlb	__Lparam shr (0+8)
   755  43E6  6BEB               	clrf	(?a_GetEmptyDIR+2)^(__Lparam& (0+65280))
   756  43E8  6BEC               	clrf	(?a_GetEmptyDIR+3)^(__Lparam& (0+65280))
   757                           ;fat16.c: 158: uint32 DirStart;
   758  43EA  DF4F               	call	_GetDirSecCount	;wreg free
   759  43EC  C000  F0E9         	movff	btemp,?a_GetEmptyDIR
   760  43F0  C001  F0EA         	movff	btemp+1,?a_GetEmptyDIR+1
   761                           ;fat16.c: 160: DirStart = DirStartSec();
   762  43F4  DEF3               	call	_DirStartSec	;wreg free
   763  43F6  C000  F0EF         	movff	btemp,?a_GetEmptyDIR+6
   764  43FA  C001  F0F0         	movff	btemp+1,?a_GetEmptyDIR+7
   765  43FE  C002  F0F1         	movff	btemp+2,?a_GetEmptyDIR+8
   766  4402  C003  F0F2         	movff	btemp+3,?a_GetEmptyDIR+9
   767                           ;fat16.c: 161: for(i = 0; i < DirSecCut; i++)
   768  4406  0100               	movlb	__Lparam shr (0+8)
   769  4408  6BED               	clrf	(?a_GetEmptyDIR+4)^(__Lparam& (0+65280))
   770  440A  6BEE               	clrf	(?a_GetEmptyDIR+5)^(__Lparam& (0+65280))
   771  440C  D00F               	goto	l35
   772                           ;fat16.c: 171: return ID;
   773  440E                     l39:
   774                           ;fat16.c: 174: ID++;
   775  440E  0100               	movlb	__Lparam shr (0+8)
   776  4410  2BEB               	incf	(?a_GetEmptyDIR+2)^(__Lparam& (0+65280)),f
   777  4412  0E00               	movlw	0
   778  4414  23EC               	addwfc	(?a_GetEmptyDIR+3)^(__Lparam& (0+65280))
      +                          ,f
   779                           ;fat16.c: 175: }
   780  4416  2AF3               	incf	prodl,f,c
   781  4418  22F4               	addwfc	prodh,f,c
   782  441A  5CF4               	subwf	prodh,w,c
   783  441C  0E10               	movlw	16
   784  441E  B4D8               	btfsc	status,2,c
   785  4420  5CF3               	subwf	prodl,w,c
   786  4422  A0D8               	btfss	status,0,c
   787  4424  D020               	goto	l36
   788                           ;fat16.c: 176: }
   789  4426  2BED               	incf	(?a_GetEmptyDIR+4)^(__Lparam& (0+65280)),f
   790  4428  0E00               	movlw	0
   791  442A  23EE               	addwfc	(?a_GetEmptyDIR+5)^(__Lparam& (0+65280))
      +                          ,f
   792  442C                     l35:
   793  442C  0100               	movlb	__Lparam shr (0+8)
   794  442E  51EA               	movf	(?a_GetEmptyDIR+1)^(__Lparam& (0+65280)),w
   795  4430  5DEE               	subwf	(?a_GetEmptyDIR+5)^(__Lparam& (0+65280)),
      +                          w
   796  4432  E102               	bnz	u135
   797  4434  51E9               	movf	?a_GetEmptyDIR^(__Lparam& (0+65280)),w
   798  4436  5DED               	subwf	(?a_GetEmptyDIR+4)^(__Lparam& (0+65280)),
      +                          w
   799  4438                     u135:
   800  4438  B0D8               	btfsc	status,0,c
   801  443A  D044               	goto	l33
   802                           ;fat16.c: 162: {
   803                           ;fat16.c: 164: sl811_read_sector(DirStart + i, b
      +                          uffer);
   804  443C  0100               	movlb	__Lparam shr (0+8)
   805  443E  51ED               	movf	(?a_GetEmptyDIR+4)^(__Lparam& (0+65280)),w
   806  4440  25EF               	addwf	(?a_GetEmptyDIR+6)^(__Lparam& (0+65280)),
      +                          w
   807  4442  6FF3               	movwf	?_sl811_read_sector^(__Lparam& (0+65280))
   808  4444  51EE               	movf	(?a_GetEmptyDIR+5)^(__Lparam& (0+65280)),w
   809  4446  21F0               	addwfc	(?a_GetEmptyDIR+7)^(__Lparam& (0+65280))
      +                          ,w
   810  4448  6FF4               	movwf	(?_sl811_read_sector^(__Lparam& (0+65280)
      +                          )+1)
   811  444A  0E00               	movlw	0
   812  444C  21F1               	addwfc	(?a_GetEmptyDIR+8)^(__Lparam& (0+65280))
      +                          ,w
   813  444E  6FF5               	movwf	(?_sl811_read_sector^(__Lparam& (0+65280)
      +                          )+2)
   814  4450  0E00               	movlw	0
   815  4452  21F2               	addwfc	(?a_GetEmptyDIR+9)^(__Lparam& (0+65280))
      +                          ,w
   816  4454  6FF6               	movwf	(?_sl811_read_sector^(__Lparam& (0+65280)
      +                          )+3)
   817  4456  0EAD               	movlw	low _buffer
   818  4458  6FF7               	movwf	(?_sl811_read_sector+4)^(__Lparam& (0+652
      +                          80))
   819  445A  0E03               	movlw	high _buffer
   820  445C  6FF8               	movwf	(?_sl811_read_sector+5)^(__Lparam& (0+652
      +                          80))
   821  445E  EC5E  F00A         	call	_sl811_read_sector	;wreg free
   822                           ;fat16.c: 165: for(m = 0; m < 16; m++)
   823  4462  6AF3               	clrf	prodl,c
   824  4464  6AF4               	clrf	prodh,c
   825  4466                     l36:
   826                           ;fat16.c: 166: {
   827                           ;fat16.c: 167: if((buffer[m * 32] == 0) || (buff
      +                          er[m * 32] == 0xe5))
   828  4466  CFF3 F000          	movff	prodl,btemp
   829  446A  CFF4 F001          	movff	prodh,btemp+1
   830  446E  0E05               	movlw	5
   831  4470                     u75:
   832  4470  90D8               	bcf	status,0,c
   833  4472  3600               	rlcf	btemp,f
   834  4474  3601               	rlcf	btemp+1,f
   835  4476  2EE8               	decfsz	wreg,f,c
   836  4478  D7FB               	goto	u75
   837  447A  0EAD               	movlw	low _buffer
   838  447C  2400               	addwf	btemp,w
   839  447E  6EE9               	movwf	fsr0l,c
   840  4480  0E03               	movlw	high _buffer
   841  4482  2001               	addwfc	btemp+1,w
   842  4484  6EEA               	movwf	fsr0h
   843  4486  50EF               	movf	indf0,w,c
   844  4488  B4D8               	btfsc	status,2,c
   845  448A  D014               	goto	u110
   846  448C  CFF3 F000          	movff	prodl,btemp
   847  4490  CFF4 F001          	movff	prodh,btemp+1
   848  4494  0E05               	movlw	5
   849  4496                     u95:
   850  4496  90D8               	bcf	status,0,c
   851  4498  3600               	rlcf	btemp,f
   852  449A  3601               	rlcf	btemp+1,f
   853  449C  2EE8               	decfsz	wreg,f,c
   854  449E  D7FB               	goto	u95
   855  44A0  0EAD               	movlw	low _buffer
   856  44A2  2400               	addwf	btemp,w
   857  44A4  6EE9               	movwf	fsr0l,c
   858  44A6  0E03               	movlw	high _buffer
   859  44A8  2001               	addwfc	btemp+1,w
   860  44AA  6EEA               	movwf	fsr0h
   861  44AC  50EF               	movf	indf0,w,c
   862  44AE  0AE5               	xorlw	-27
   863  44B0  A4D8               	btfss	status,2,c
   864  44B2  D7AD               	goto	l39
   865  44B4                     u110:
   866                           ;fat16.c: 168: {
   867  44B4  C0ED  F035         	movff	?a_GetEmptyDIR+4,_ClusOfFileDir
   868  44B8  C0EE  F036         	movff	?a_GetEmptyDIR+5,_ClusOfFileDir+1

⌨️ 快捷键说明

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