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

📄 fsearch.asm

📁 web51的开发库
💻 ASM
字号:
.nolist.include	"param.inc".list	.comm fileID, 2	.bitcomm fastI2C, 1	.text.global	searchfilesearchfile:;r4	file type;dptr	file start;r2r3	file end.ifdef I2Cfilesystem	jnb	I2Cpresent,L_NoScanI2C	clr	fastI2C	mov	dptr,#4		;offset of "file directory" in I2C EEPROML_I2Cdir: lcall	read_random	inc	a	;end of directory ?	jz	L_I2Ceof	dec	a	xrl	a,fileID	jnz	L_nextI2Cdir	lcall	read_current	xrl	a,fileID+1	jnz	L_nextI2Cdir	lcall	read_current	mov	r4,a	;file type	lcall	read_current			;reserved	lcall	read_current	mov	dph,a	;MSB file start	lcall	read_current	mov	dpl,a	;LSB file start	lcall	read_current	mov	r2,a	;MSB file end	lcall	read_current	mov	r3,a	;LSB file end	mov	r5,#0	;I2C filesystem	clr	c	;O.K.	retL_nextI2Cdir:	mov	a,dpl	add	a,#8	mov	dpl,a	jnc	L_I2Cdir	inc	dph	sjmp	L_I2CdirL_I2Ceof:L_NoScanI2C:.endif.ifdef ROMfilesystem	mov	dptr,#filedir	;offset of "file directory" in ROML_ROMdir: clr	a	movc	a,@a+dptr	inc	a	;end of directory ?	jz	L_ROMeof	dec	a	xrl	a,fileID	jnz	L_nextROMdir	mov	a,#1	movc	a,@a+dptr	xrl	a,fileID+1	jnz	L_nextROMdir	mov	a,#2	movc	a,@a+dptr	mov	r4,a	;file type	mov	a,#6	movc	a,@a+dptr	mov	r2,a	;MSB file end	mov	a,#7	movc	a,@a+dptr	mov	r3,a	;LSB file end	mov	a,#4	movc	a,@a+dptr	push	acc	;MSB file start	mov	a,#5	movc	a,@a+dptr	mov	dpl,a	;LSB file start	pop	dph	;MSB file start	mov	r5,#1	;ROM filesystem	clr	c	;O.K.	retL_nextROMdir:	mov	a,dpl	add	a,#8	mov	dpl,a	jnc	L_ROMdir	inc	dph	sjmp	L_ROMdirL_ROMeof:.endif.ifdef EEfilesystem	mov	dptr,#fileee	;offset of "file directory" in EEPROM	ENABLE_EEL_EEdir: clr	a	movx	a,@dptr	inc	a	;end of directory ?	jz	L_EEeof	dec	a	xrl	a,fileID	jnz	L_nextEEdir	inc	dptr	;1	movx	a,@dptr	xrl	a,fileID+1	jnz	L_nextEEdir7	inc	dptr	;2	movx	a,@dptr	mov	r4,a	;file type	inc	dptr	;3	inc	dptr	;4	movx	a,@dptr	push	acc	;MSB file start	inc	dptr	;5	movx	a,@dptr	push	acc	;LSB file start	inc	dptr	;6	movx	a,@dptr	mov	r2,a	;MSB file end	inc	dptr	;7	movx	a,@dptr	mov	r3,a	;LSB file end	pop	dpl	;LSB file start	pop	dph	;MSB file start	clr	c	;O.K.	DISABLE_EE	mov	r5,#2	;EEPROM filesystem	retL_nextEEdir:	inc	dptrL_nextEEdir7:	mov	a,dpl	add	a,#7	mov	dpl,a	jnc	L_EEdir	inc	dph	sjmp	L_EEdirL_EEeof:	DISABLE_EE.endif	setb	c	;file not found	ret;	;; END

⌨️ 快捷键说明

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