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

📄 eeprom.asm

📁 TC35i收发短信的源代码
💻 ASM
📖 第 1 页 / 共 4 页
字号:
$DGL	0,16
	mov	a,[hl+1]	; ucStatus 			;[INF] 2, 8
	cmp	a,#01FH	; 31 					;[INF] 2, 4
	bz	$?L0049						;[INF] 2, 6
; line   275
$DGL	0,17
??bb02_ucSelfFlashWordWrite:
; line   277
$DGL	0,19
	movw	bc,#0FFH	; 255 				;[INF] 3, 6
??eb02_ucSelfFlashWordWrite:
??eb00_ucSelfFlashWordWrite:
?L0050:
; line   280
$DGL	0,22
??ef_ucSelfFlashWordWrite:
	pop	ax						;[INF] 1, 4
	pop	ax						;[INF] 1, 4
	pop	hl						;[INF] 1, 4
	ret							;[INF] 1, 6
??ee_ucSelfFlashWordWrite:
; line   288
_usBlockToAddress:
$DGL	1,169
??bf_usBlockToAddress:
; line   289
$DGL	0,2
	mov	c,#02H	; 2 					;[INF] 2, 4
	xch	a,x						;[INF] 1, 2
	add	a,a						;[INF] 2, 4
	xch	a,x						;[INF] 1, 2
	rolc	a,1						;[INF] 1, 2
	dbnz	c,$$-5						;[INF] 2, 6
	mov	a,#00H	; 0 					;[INF] 2, 4
	xch	a,x						;[INF] 1, 2
	movw	bc,ax						;[INF] 1, 4
; line   290
$DGL	0,3
??ef_usBlockToAddress:
	ret							;[INF] 1, 6
??ee_usBlockToAddress:
; line   306
_ucEEPROMInitEx:
$DGL	1,176
	push	hl						;[INF] 1, 4
	push	ax						;[INF] 1, 4
	push	ax						;[INF] 1, 4
	push	ax						;[INF] 1, 4
	movw	ax,sp						;[INF] 2, 8
	movw	hl,ax						;[INF] 1, 4
??bf_ucEEPROMInitEx:
; line   313
$DGL	0,8
	mov	a,[hl+4]	; ucBlock 			;[INF] 2, 8
	cmp	a,#01H	; 1 					;[INF] 2, 4
	bc	$?L0059						;[INF] 2, 6
	movw	bc,#0FFH	; 255 				;[INF] 3, 6
	br	!?L0058						;[INF] 3, 6
?L0059:
; line   319
$DGL	0,14
	mov	a,[hl+4]	; ucBlock 			;[INF] 2, 8
	mov	c,a						;[INF] 1, 2
	push	hl						;[INF] 1, 4
	movw	hl,#_ucEEPROM_BLOCK				;[INF] 3, 6
	mov	a,[hl+c]					;[INF] 1, 6
	pop	hl						;[INF] 1, 4
	mov	x,#00H	; 0 					;[INF] 2, 4
	xch	a,x						;[INF] 1, 2
	call	!_usBlockToAddress				;[INF] 3, 7
	movw	ax,bc						;[INF] 1, 4
	mov	[hl+3],a	; usFlagAdr 			;[INF] 2, 8
	xch	a,x						;[INF] 1, 2
	mov	[hl+2],a	; usFlagAdr 			;[INF] 2, 8
; line   322
$DGL	0,17
	call	!_SelfFlashModeOn				;[INF] 3, 7
; line   325
$DGL	0,20
	call	!_ucSelfFlashInitialize				;[INF] 3, 7
	inc	c						;[INF] 1, 2
	bnz	$?L0061						;[INF] 2, 6
; line   326
$DGL	0,21
??bb00_ucEEPROMInitEx:
; line   327
$DGL	0,22
	call	!_SelfFlashModeOff				;[INF] 3, 7
; line   328
$DGL	0,23
	movw	bc,#0FEH	; 254 				;[INF] 3, 6
	br	!?L0058						;[INF] 3, 6
??eb00_ucEEPROMInitEx:
?L0061:
; line   332
$DGL	0,27
	mov	a,#03H	; 3 					;[INF] 2, 4
	mov	[hl+1],a	; ucCount 			;[INF] 2, 8
?L0063:
	mov	a,#00H	; 0 					;[INF] 2, 4
	cmp	a,[hl+1]	; ucCount 			;[INF] 2, 8
	bnc	$?L0064						;[INF] 2, 6
; line   333
$DGL	0,28
??bb01_ucEEPROMInitEx:
; line   336
$DGL	0,31
	mov	a,[hl+4]	; ucBlock 			;[INF] 2, 8
	mov	c,a						;[INF] 1, 2
	push	hl						;[INF] 1, 4
	movw	hl,#_ucEEPROM_BLOCK				;[INF] 3, 6
	mov	a,[hl+c]					;[INF] 1, 6
	pop	hl						;[INF] 1, 4
	mov	x,#00H	; 0 					;[INF] 2, 4
	xch	a,x						;[INF] 1, 2
	push	ax						;[INF] 1, 4
	mov	a,[hl+4]	; ucBlock 			;[INF] 2, 8
	mov	c,a						;[INF] 1, 2
	push	hl						;[INF] 1, 4
	movw	hl,#_ucEEPROM_BANK				;[INF] 3, 6
	mov	a,[hl+c]					;[INF] 1, 6
	pop	hl						;[INF] 1, 4
	mov	x,#00H	; 0 					;[INF] 2, 4
	xch	a,x						;[INF] 1, 2
	call	!_ucSelfFlashBlockErase				;[INF] 3, 7
	pop	ax						;[INF] 1, 4
	inc	c						;[INF] 1, 2
	dec	c						;[INF] 1, 2
	bz	$?L0064						;[INF] 2, 6
; line   337
$DGL	0,32
??bb02_ucEEPROMInitEx:
; line   338
$DGL	0,33
??eb02_ucEEPROMInitEx:
??eb01_ucEEPROMInitEx:
; line   340
$DGL	0,35
	mov	a,[hl+1]	; ucCount 			;[INF] 2, 8
	dec	a						;[INF] 1, 2
	mov	[hl+1],a	; ucCount 			;[INF] 2, 8
	br	$?L0063						;[INF] 2, 6
?L0064:
; line   342
$DGL	0,37
	call	!_SelfFlashModeOff				;[INF] 3, 7
; line   345
$DGL	0,40
	mov	a,#00H	; 0 					;[INF] 2, 4
	cmp	a,[hl+1]	; ucCount 			;[INF] 2, 8
	bc	$?L0068						;[INF] 2, 6
; line   346
$DGL	0,41
??bb03_ucEEPROMInitEx:
; line   349
$DGL	0,44
	movw	bc,#0FDH	; 253 				;[INF] 3, 6
	br	$?L0058						;[INF] 2, 6
??eb03_ucEEPROMInitEx:
?L0068:
; line   355
$DGL	0,50
	mov	a,[hl+4]	; ucBlock 			;[INF] 2, 8
	mov	c,a						;[INF] 1, 2
	push	hl						;[INF] 1, 4
	movw	hl,#_ucEEPROM_BLOCK				;[INF] 3, 6
	mov	a,[hl+c]					;[INF] 1, 6
	pop	hl						;[INF] 1, 4
	mov	x,#00H	; 0 					;[INF] 2, 4
	xch	a,x						;[INF] 1, 2
	call	!_usBlockToAddress				;[INF] 3, 7
	movw	ax,bc						;[INF] 1, 4
	mov	[hl+3],a	; usFlagAdr 			;[INF] 2, 8
	xch	a,x						;[INF] 1, 2
	mov	[hl+2],a	; usFlagAdr 			;[INF] 2, 8
; line   359
$DGL	0,54
	mov	a,#055H	; 85 					;[INF] 2, 4
	mov	!_ucDataBuf,a					;[INF] 3, 8
; line   360
$DGL	0,55
	mov	a,#0AAH	; 170 					;[INF] 2, 4
	mov	!_ucDataBuf+1,a					;[INF] 3, 8
; line   361
$DGL	0,56
	mov	a,#055H	; 85 					;[INF] 2, 4
	mov	!_ucDataBuf+2,a					;[INF] 3, 8
; line   362
$DGL	0,57
	mov	a,#0AAH	; 170 					;[INF] 2, 4
	mov	!_ucDataBuf+3,a					;[INF] 3, 8
; line   364
$DGL	0,59
	call	!_SelfFlashModeOn				;[INF] 3, 7
; line   366
$DGL	0,61
	call	!_ucSelfFlashInitialize				;[INF] 3, 7
	inc	c						;[INF] 1, 2
	bnz	$?L0070						;[INF] 2, 6
; line   367
$DGL	0,62
??bb04_ucEEPROMInitEx:
; line   368
$DGL	0,63
	call	!_SelfFlashModeOff				;[INF] 3, 7
; line   369
$DGL	0,64
	movw	bc,#0FEH	; 254 				;[INF] 3, 6
	br	$?L0058						;[INF] 2, 6
??eb04_ucEEPROMInitEx:
?L0070:
; line   372
$DGL	0,67
	movw	ax,#03H	; 3 					;[INF] 3, 6
	push	ax						;[INF] 1, 4
	mov	a,[hl+2]	; usFlagAdr 			;[INF] 2, 8
	xch	a,x						;[INF] 1, 2
	mov	a,[hl+3]	; usFlagAdr 			;[INF] 2, 8
	push	ax						;[INF] 1, 4
	mov	a,[hl+4]	; ucBlock 			;[INF] 2, 8
	mov	c,a						;[INF] 1, 2
	push	hl						;[INF] 1, 4
	movw	hl,#_ucEEPROM_BANK				;[INF] 3, 6
	mov	a,[hl+c]					;[INF] 1, 6
	pop	hl						;[INF] 1, 4
	mov	x,#00H	; 0 					;[INF] 2, 4
	xch	a,x						;[INF] 1, 2
	call	!_ucSelfFlashEEPROMWrite			;[INF] 3, 7
	pop	ax						;[INF] 1, 4
	pop	ax						;[INF] 1, 4
	inc	c						;[INF] 1, 2
	dec	c						;[INF] 1, 2
	bz	$?L0072						;[INF] 2, 6
; line   373
$DGL	0,68
??bb05_ucEEPROMInitEx:
; line   375
$DGL	0,70
	call	!_SelfFlashModeOff				;[INF] 3, 7
; line   376
$DGL	0,71
	movw	bc,#0FDH	; 253 				;[INF] 3, 6
	br	$?L0058						;[INF] 2, 6
??eb05_ucEEPROMInitEx:
?L0072:
; line   379
$DGL	0,74
	call	!_SelfFlashModeOff				;[INF] 3, 7
; line   381
$DGL	0,76
	movw	bc,#00H	; 0 					;[INF] 3, 6
?L0058:
; line   382
$DGL	0,77
??ef_ucEEPROMInitEx:
	pop	ax						;[INF] 1, 4
	pop	ax						;[INF] 1, 4
	pop	ax						;[INF] 1, 4
	pop	hl						;[INF] 1, 4
	ret							;[INF] 1, 6
??ee_ucEEPROMInitEx:
; line   398
_ucEEPROMReadEx:
$DGL	1,210
	push	hl						;[INF] 1, 4
	push	ax						;[INF] 1, 4
	push	ax						;[INF] 1, 4
	push	ax						;[INF] 1, 4
	push	ax						;[INF] 1, 4
	movw	ax,sp						;[INF] 2, 8
	movw	hl,ax						;[INF] 1, 4
??bf_ucEEPROMReadEx:
; line   403
$DGL	0,6
	mov	a,[hl+14]	; usReadLen 			;[INF] 2, 8
	xch	a,x						;[INF] 1, 2
	mov	a,[hl+15]	; usReadLen 			;[INF] 2, 8
	cmpw	ax,#0400H	; 1024 				;[INF] 3, 6
	bc	$?L0076						;[INF] 2, 6
	bz	$?L0076						;[INF] 2, 6
	movw	bc,#0FFH	; 255 				;[INF] 3, 6
	br	$?L0075						;[INF] 2, 6
?L0076:
; line   406
$DGL	0,9
	mov	a,[hl+6]	; ucBlock 			;[INF] 2, 8
	mov	c,a						;[INF] 1, 2
	push	hl						;[INF] 1, 4
	movw	hl,#_ucEEPROM_BLOCK				;[INF] 3, 6
	mov	a,[hl+c]					;[INF] 1, 6
	pop	hl						;[INF] 1, 4
	mov	x,#00H	; 0 					;[INF] 2, 4
	xch	a,x						;[INF] 1, 2
	call	!_usBlockToAddress				;[INF] 3, 7
	movw	ax,bc						;[INF] 1, 4
	mov	[hl+2],a	; usTopAdr 			;[INF] 2, 8
	xch	a,x						;[INF] 1, 2
	mov	[hl+1],a	; usTopAdr 			;[INF] 2, 8
; line   409
$DGL	0,12
	mov	a,[hl+12]	; usReadAdr 			;[INF] 2, 8
	add	a,[hl+1]	; usTopAdr 			;[INF] 2, 8
	xch	a,x						;[INF] 1, 2
	mov	a,[hl+13]	; usReadAdr 			;[INF] 2, 8
	addc	a,[hl+2]	; usTopAdr 			;[INF] 2, 8
	mov	[hl+4],a	; pReadAdr 			;[INF] 2, 8
	xch	a,x						;[INF] 1, 2
	mov	[hl+3],a	; pReadAdr 			;[INF] 2, 8
; line   411
$DGL	0,14
	mov	a,#00H	; 0 					;[INF] 2, 4
	mov	[hl+5],a	; i 				;[INF] 2, 8
?L0078:
	mov	a,[hl+5]	; i 				;[INF] 2, 8
	mov	x,#00H	; 0 					;[INF] 2, 4
	xch	a,x						;[INF] 1, 2
	cmp	a,[hl+15]	; usReadLen 			;[INF] 2, 8
	bnz	$?L0081						;[INF] 2, 6
	xch	a,x						;[INF] 1, 2
	cmp	a,[hl+14]	; usReadLen 			;[INF] 2, 8
?L0081:
	bnc	$?L0079						;[INF] 2, 6
; line   412
$DGL	0,15
??bb00_ucEEPROMReadEx:
; line   413
$DGL	0,16
	mov	a,[hl+3]	; pReadAdr 			;[INF] 2, 8
	xch	a,x						;[INF] 1, 2
	mov	a,[hl+4]	; pReadAdr 			;[INF] 2, 8
	movw	de,ax						;[INF] 1, 4
	incw	ax						;[INF] 1, 4
	mov	[hl+4],a	; pReadAdr 			;[INF] 2, 8
	xch	a,x						;[INF] 1, 2
	mov	[hl+3],a	; pReadAdr 			;[INF] 2, 8
	mov	a,[de]						;[INF] 1, 4
	mov	c,a						;[INF] 1, 2
	mov	a,[hl+16]	; pDataAddress 			;[INF] 2, 8
	xch	a,x						;[INF] 1, 2
	mov	a,[hl+17]	; pDataAddress 			;[INF] 2, 8
	movw	de,ax						;[INF] 1, 4
	incw	ax						;[INF] 1, 4
	mov	[hl+17],a	; pDataAddress 			;[INF] 2, 8
	xch	a,x						;[INF] 1, 2
	mov	[hl+16],a	; pDataAddress 			;[INF] 2, 8
	mov	a,c						;[INF] 1, 2
	mov	[de],a						;[INF] 1, 4
??eb00_ucEEPROMReadEx:
; line   414
$DGL	0,17
	mov	a,[hl+5]	; i 				;[INF] 2, 8
	inc	a						;[INF] 1, 2
	mov	[hl+5],a	; i 				;[INF] 2, 8
	br	$?L0078						;[INF] 2, 6
?L0079:
; line   416
$DGL	0,19
	movw	bc,#00H	; 0 					;[INF] 3, 6
?L0075:
; line   417
$DGL	0,20
??ef_ucEEPROMReadEx:
	pop	ax						;[INF] 1, 4
	pop	ax						;[INF] 1, 4
	pop	ax						;[INF] 1, 4
	pop	ax						;[INF] 1, 4
	pop	hl						;[INF] 1, 4
	ret							;[INF] 1, 6
??ee_ucEEPROMReadEx:
; line   432
_ucReadOneByte:
$DGL	1,227
	push	hl						;[INF] 1, 4
	push	ax						;[INF] 1, 4
	push	ax						;[INF] 1, 4
	push	ax						;[INF] 1, 4
	movw	ax,sp						;[INF] 2, 8
	movw	hl,ax						;[INF] 1, 4
??bf_ucReadOneByte:
; line   437
$DGL	0,6
	mov	a,[hl+4]	; ucBlock 			;[INF] 2, 8
	mov	c,a						;[INF] 1, 2
	push	hl						;[INF] 1, 4
	movw	hl,#_ucEEPROM_BLOCK				;[INF] 3, 6
	mov	a,[hl+c]					;[INF] 1, 6
	pop	hl						;[INF] 1, 4
	mov	x,#00H	; 0 					;[INF] 2, 4
	xch	a,x						;[INF] 1, 2
	call	!_usBlockToAddress				;[INF] 3, 7
	movw	ax,bc						;[INF] 1, 4
	mov	[hl+1],a	; usTopAdr 			;[INF] 2, 8
	xch	a,x						;[INF] 1, 2
	mov	[hl],a	; usTopAdr 				;[INF] 1, 4
; line   440
$DGL	0,9
	add	a,[hl+10]	; usReadAdr 			;[INF] 2, 8
	xch	a,x						;[INF] 1, 2
	mov	a,[hl+1]	; usTopAdr 			;[INF] 2, 8
	addc	a,[hl+11]	; usReadAdr 			;[INF] 2, 8
	mov	[hl+3],a	; pReadAdr 			;[INF] 2, 8
	xch	a,x						;[INF] 1, 2
	mov	[hl+2],a	; pReadAdr 			;[INF] 2, 8
; line   442
$DGL	0,11
	xch	a,x						;[INF] 1, 2
	movw	de,ax						;[INF] 1, 4
	mov	a,[de]						;[INF] 1, 4
	mov	b,#00H	; 0 					;[INF] 2, 4
	xch	a,c						;[INF] 1, 2
; line   443
$DGL	0,12
??ef_ucReadOneByte:
	pop	ax						;[INF] 1, 4
	pop	ax						;[INF] 1, 4
	pop	ax						;[INF] 1, 4
	pop	hl						;[INF] 1, 4
	ret							;[INF] 1, 6
??ee_ucReadOneByte:
; line   460
_ucEEPROMWriteEx:
$DGL	1,237
	push	hl						;[INF] 1, 4
	push	ax						;[INF] 1, 4
	push	ax						;[INF] 1, 4
	push	ax						;[INF] 1, 4
	push	ax						;[INF] 1, 4
	movw	ax,sp						;[INF] 2, 8
	movw	hl,ax						;[INF] 1, 4
??bf_ucEEPROMWriteEx:
; line   468
$DGL	0,9
	mov	a,[hl+6]	; ucBlock 			;[INF] 2, 8
	mov	c,a						;[INF] 1, 2
	push	hl						;[INF] 1, 4
	movw	hl,#_ucEEPROM_BLOCK				;[INF] 3, 6
	mov	a,[hl+c]					;[INF] 1, 6
	pop	hl						;[INF] 1, 4
	mov	x,#00H	; 0 					;[INF] 2, 4
	xch	a,x						;[INF] 1, 2
	call	!_usBlockToAddress				;[INF] 3, 7
	movw	ax,bc						;[INF] 1, 4
	mov	[hl+1],a	; usTopAdr 			;[INF] 2, 8
	xch	a,x						;[INF] 1, 2
	mov	[hl],a	; usTopAdr 				;[INF] 1, 4
; line   471
$DGL	0,12
	mov	a,[hl+14]	; usWriteLen 			;[INF] 2, 8
	xch	a,x						;[INF] 1, 2
	mov	a,[hl+15]	; usWriteLen 			;[INF] 2, 8
	mov	c,#04H	; 4 					;[INF] 2, 4
	divuw	c						;[INF] 2,25
	mov	a,x						;[INF] 1, 2
	mov	[hl+2],a	; ucTimes 			;[INF] 2, 8
; line   472
$DGL	0,13
	mov	a,[hl+14]	; usWriteLen 			;[INF] 2, 8
	xch	a,x						;[INF] 1, 2
	mov	a,[hl+15]	; usWriteLen 			;[INF] 2, 8
	xch	a,x						;[INF] 1, 2
	and	a,#03H	; 3 					;[INF] 2, 4
	xch	a,x						;[INF] 1, 2
	and	a,#00H	; 0 					;[INF] 2, 4
	or	a,x						;[INF] 2, 4
	bz	$?L0086						;[INF] 2, 6
	mov	a,[hl+2]	; ucTimes 			;[INF] 2, 8
	inc	a						;[INF] 1, 2
	mov	[hl+2],a	; ucTimes 			;[INF] 2, 8
?L0086:
; line   474
$DGL	0,15
	mov	a,#00H	; 0 					;[INF] 2, 4
	mov	[hl+5],a	; i 				;[INF] 2, 8
?L0088:
	mov	a,[hl+5]	; i 				;[INF] 2, 8
	cmp	a,[hl+2]	; ucTimes 			;[INF] 2, 8
	bnc	$?L0089						;[INF] 2, 6
; line   475
$DGL	0,16
??bb00_ucEEPROMWriteEx:
; line   481
$DGL	0,22
	mov	a,#00H	; 0 					;[INF] 2, 4
	mov	[hl+4],a	; j 				;[INF] 2, 8
?L0091:
	mov	a,[hl+4]	; j 				;[INF] 2, 8
	cmp	a,#04H	; 4 					;[INF] 2, 4
	bnc	$?L0092						;[INF] 2, 6
; line   482
$DGL	0,23
??bb01_ucEEPROMWriteEx:
; line   483
$DGL	0,24
	mov	a,[hl+16]	; pDataAddress 			;[INF] 2, 8
	xch	a,x						;[INF] 1, 2
	mov	a,[hl+17]	; pDataAddress 			;[INF] 2, 8
	movw	de,ax						;[INF] 1, 4
	incw	ax						;[INF] 1, 4
	mov	[hl+17],a	; pDataAddress 			;[INF] 2, 8

⌨️ 快捷键说明

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