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

📄 9202_mini.asm

📁 K0S模拟EEPROM多字节数据分组方法例程
💻 ASM
📖 第 1 页 / 共 2 页
字号:
; line    38
; line    39
; line    40
; line    41
; line    42
; line    43
; line    44
; line    45
; line    46
; line    49
; line    50
; line    50
; line    50
; line    50
; line    11

@@CODE	CSEG
_main:
$DGL	1,17
??bf_main:
; line    12
$DGL	0,2
	call	!_Init_CPU					;[INF] 3, 6
; line    13
$DGL	0,3
	call	!_Wait2s					;[INF] 3, 6
; line    15
$DGL	0,5
	call	!_EEPROM					;[INF] 3, 6
; line    17
?L0003:
; line    18
??bb00_main:
; line    19
$DGL	0,9
	mov	WDTE,#0ACH	; 172 				;[INF] 3, 6
; line    20
$DGL	0,10
	nop							;[INF] 1, 2
; line    21
$DGL	0,11
	nop							;[INF] 1, 2
; line    22
$DGL	0,12
	bf	_Flg_10ms,$?L0003				;[INF] 4,10
; line    23
??bb01_main:
; line    24
$DGL	0,14
	clr1	_Flg_10ms					;[INF] 3, 6
; line    25
$DGL	0,15
	movw	de,#_Flash_CNT					;[INF] 3, 6
	mov	a,[de]						;[INF] 1, 6
	inc	a						;[INF] 2, 4
	xch	a,[de]						;[INF] 1, 8
; line    26
$DGL	0,16
	mov	a,[de]						;[INF] 1, 6
	cmp	a,#032H	; 50 					;[INF] 2, 4
	bc	$?L0003						;[INF] 2, 6
; line    27
??bb02_main:
; line    28
$DGL	0,18
	xor	a,a						;[INF] 2, 4
	mov	[de],a						;[INF] 1, 6
; line    29
$DGL	0,19
	set1	CY						;[INF] 1, 2
	bt	P4.0,$?L0009					;[INF] 4,10
	clr1	CY						;[INF] 1, 2
?L0009:
	not1	CY						;[INF] 1, 2
	bnc	$?L0010						;[INF] 2, 6
	set1	P4.0						;[INF] 3, 6
	br	$?L0011						;[INF] 2, 6
?L0010:
	clr1	P4.0						;[INF] 3, 6
?L0011:
; line    30
$DGL	0,20
	set1	CY						;[INF] 1, 2
	bt	P4.3,$?L0012					;[INF] 4,10
	clr1	CY						;[INF] 1, 2
?L0012:
	not1	CY						;[INF] 1, 2
	bnc	$?L0013						;[INF] 2, 6
	set1	P4.3						;[INF] 3, 6
	br	$?L0003						;[INF] 2, 6
?L0013:
	clr1	P4.3						;[INF] 3, 6
??eb02_main:
; line    31
??eb01_main:
; line    32
??eb00_main:
; line    33
$DGL	0,23
	br	$?L0003						;[INF] 2, 6
; line    34
$DGL	0,24
??ef_main:
	reti							;[INF] 1, 8
??ee_main:
; line    37
_Init_CPU:
$DGL	1,35
	di							;[INF] 3, 6
??bf_Init_CPU:
; line    40
$DGL	0,4
	mov	PCC,#00H	; 0 				;[INF] 3, 6
; line    41
$DGL	0,5
	mov	PPCC,#00H	; 0 				;[INF] 3, 6
; line    43
$DGL	0,7
	mov	LVIM,#082H	; 130 				;[INF] 3, 6
; line    44
$DGL	0,8
	mov	LVIS,#08H	; 8 				;[INF] 3, 6
; line    46
$DGL	0,10
	mov	PMC2,#00H	; 0 				;[INF] 3, 6
; line    47
$DGL	0,11
	mov	PM2,#0FFH	; 255 				;[INF] 3, 6
; line    48
$DGL	0,12
	mov	PU2,#0FH	; 15 				;[INF] 3, 6
; line    50
$DGL	0,14
	mov	PM3,#0FFH	; 255 				;[INF] 3, 6
; line    51
$DGL	0,15
	mov	PU3,#04H	; 4 				;[INF] 3, 6
; line    53
$DGL	0,17
	mov	PM4,#00H	; 0 				;[INF] 3, 6
; line    54
$DGL	0,18
	mov	P4,#0FFH	; 255 				;[INF] 3, 6
; line    56
$DGL	0,20
	mov	TMHMD1,#050H	; 80 				;[INF] 3, 6
; line    57
$DGL	0,21
	mov	CMP01,#013H	; 19 				;[INF] 3, 6
; line    58
$DGL	0,22
	clr1	IF0.4						;[INF] 3, 6
; line    59
$DGL	0,23
	clr1	MK0.4						;[INF] 3, 6
; line    60
$DGL	0,24
	set1	TMHMD1.7					;[INF] 3, 6
; line    62
$DGL	0,26
	xor	a,a						;[INF] 2, 4
	mov	!_Flash_CNT,a					;[INF] 3, 8
; line    63
$DGL	0,27
	clr1	_Flg_10ms					;[INF] 3, 6
; line    64
$DGL	0,28
	clr1	P4.3						;[INF] 3, 6
; line    65
$DGL	0,29
	set1	P4.0						;[INF] 3, 6
; line    67
$DGL	0,31
	set1	PM3.2						;[INF] 3, 6
; line    68
$DGL	0,32
	clr1	MK0.3						;[INF] 3, 6
; line    69
$DGL	0,33
	mov	INTM0,#010H	; 16 				;[INF] 3, 6
; line    70
$DGL	0,34
	clr1	IF0.3						;[INF] 3, 6
; line    73
$DGL	0,37
??ef_Init_CPU:
	ei							;[INF] 3, 6
	ret							;[INF] 1, 6
??ee_Init_CPU:
; line    76
_TM2ms:
$DGL	1,41
??bf_TM2ms:
; line    77
$DGL	0,2
	set1	_Flg_10ms					;[INF] 3, 6
; line    78
$DGL	0,3
??ef_TM2ms:
	reti							;[INF] 1, 8
??ee_TM2ms:
; line    81
_Wait2s:
$DGL	1,47
	push	hl						;[INF] 1, 4
	movw	ax,#04H						;[INF] 3, 6
	callt	[_@cprep]					;[INF] 1, 8
??bf_Wait2s:
; line    84
$DGL	0,4
	xor	a,a						;[INF] 2, 4
	mov	[hl+3],a	; i 				;[INF] 2, 6
?L0021:
	mov	a,[hl+3]	; i 				;[INF] 2, 6
	xor	a,#080H	; 128 					;[INF] 2, 4
	cmp	a,#082H	; 130 					;[INF] 2, 4
	bnc	$?L0022						;[INF] 2, 6
; line    85
??bb00_Wait2s:
; line    86
$DGL	0,6
	mov	WDTE,#0ACH	; 172 				;[INF] 3, 6
; line    87
$DGL	0,7
	xor	a,a						;[INF] 2, 4
	mov	[hl+1],a	; j 				;[INF] 2, 6
	mov	[hl+2],a	; j 				;[INF] 2, 6
?L0024:
	mov	a,[hl+1]	; j 				;[INF] 2, 6
	xch	a,x						;[INF] 1, 4
	mov	a,[hl+2]	; j 				;[INF] 2, 6
	cmpw	ax,#0FFFFH	; -1 				;[INF] 3, 6
	bnc	$?L0025						;[INF] 2, 6
; line    88
??bb01_Wait2s:
; line    89
$DGL	0,9
	nop							;[INF] 1, 2
; line    90
$DGL	0,10
	mov	WDTE,#0ACH	; 172 				;[INF] 3, 6
??eb01_Wait2s:
; line    91
$DGL	0,11
	mov	a,[hl+1]	; j 				;[INF] 2, 6
	xch	a,x						;[INF] 1, 4
	mov	a,[hl+2]	; j 				;[INF] 2, 6
	incw	ax						;[INF] 1, 4
	mov	[hl+2],a	; j 				;[INF] 2, 6
	xch	a,x						;[INF] 1, 4
	mov	[hl+1],a	; j 				;[INF] 2, 6
	br	$?L0024						;[INF] 2, 6
?L0025:
??eb00_Wait2s:
; line    92
$DGL	0,12
	mov	a,[hl+3]	; i 				;[INF] 2, 6
	inc	a						;[INF] 2, 4
	xch	a,[hl+3]	; i 				;[INF] 2, 8
	br	$?L0021						;[INF] 2, 6
?L0022:
; line    93
$DGL	0,13
??ef_Wait2s:
	pop	ax						;[INF] 1, 6
	pop	ax						;[INF] 1, 6
	pop	hl						;[INF] 1, 6
	ret							;[INF] 1, 6
??ee_Wait2s:
; line    96
_EEPROM:
$DGL	1,63
	push	hl						;[INF] 1, 4
	movw	ax,#02H						;[INF] 3, 6
	callt	[_@cprep]					;[INF] 1, 8
??bf_EEPROM:
; line    99
$DGL	0,4
	xor	a,a						;[INF] 2, 4
	mov	[hl+1],a	; iii 				;[INF] 2, 6
?L0029:
	mov	a,[hl+1]	; iii 				;[INF] 2, 6
	cmp	a,#06H	; 6 					;[INF] 2, 4
	bnc	$?L0030						;[INF] 2, 6
; line   100
??bb00_EEPROM:
; line   101
$DGL	0,6
	xch	a,x						;[INF] 1, 4
	xor	a,a						;[INF] 2, 4
	addw	ax,#_eeprom_data				;[INF] 3, 6
	movw	de,ax						;[INF] 1, 4
	xor	a,a						;[INF] 2, 4
	mov	[de],a						;[INF] 1, 6
??eb00_EEPROM:
; line   102
$DGL	0,7
?L0031:
	mov	a,[hl+1]	; iii 				;[INF] 2, 6
	inc	a						;[INF] 2, 4
	xch	a,[hl+1]	; iii 				;[INF] 2, 8
	br	$?L0029						;[INF] 2, 6
?L0030:
; line   104
$DGL	0,10
	EXTRN _EEPROMWrite 
$DGL	0,11
	EXTRN _EEPROMRead 
$DGL	0,12
	; line   109
$DGL	0,14
	xor	a,a						;[INF] 2, 4
	mov	!_eeptemp1,a					;[INF] 3, 8
; line   110
$DGL	0,15
	inc	a						;[INF] 2, 4
	mov	!_eeptemp2,a					;[INF] 3, 8
; line   111
$DGL	0,17
	MOVW	AX,#_eeptemp1;
$DGL	0,18
	MOVW  DE,AX
$DGL	0,19
	MOV  X,#0
$DGL	0,20
	CALL  !_EEPROMWrite
$DGL	0,21
	; line   118
$DGL	0,23
	mov	a,#02H	; 2 					;[INF] 3, 6
	mov	!_eeptemp1,a					;[INF] 3, 8
; line   119
$DGL	0,24
	inc	a						;[INF] 2, 4
	mov	!_eeptemp2,a					;[INF] 3, 8
; line   120
$DGL	0,26
	MOVW	AX,#_eeptemp1;
$DGL	0,27
	MOVW  DE,AX
$DGL	0,28
	MOV  X,#1
$DGL	0,29
	CALL  !_EEPROMWrite
$DGL	0,30
	; line   127
$DGL	0,32
	mov	a,#04H	; 4 					;[INF] 3, 6
	mov	!_eeptemp1,a					;[INF] 3, 8
; line   128
$DGL	0,33
	inc	a						;[INF] 2, 4
	mov	!_eeptemp2,a					;[INF] 3, 8
; line   129
$DGL	0,35
	MOVW	AX,#_eeptemp1;
$DGL	0,36
	MOVW  DE,AX
$DGL	0,37
	MOV  X,#2
$DGL	0,38
	CALL  !_EEPROMWrite
$DGL	0,39
	; line   136
$DGL	0,41
	nop							;[INF] 1, 2
; line   138
$DGL	0,44
	MOVW	AX,#_eeptemp1;
$DGL	0,45
	MOVW  DE,AX
$DGL	0,46
	MOV  X,#0
$DGL	0,47
	CALL  !_EEPROMRead
$DGL	0,48
	; line   144
$DGL	0,49
	mov	a,!_eeptemp1					;[INF] 3, 8
	mov	!_eeprom_data,a					;[INF] 3, 8
; line   145
$DGL	0,50
	mov	a,!_eeptemp2					;[INF] 3, 8
	mov	!_eeprom_data+1,a				;[INF] 3, 8
; line   147
$DGL	0,53
	MOVW	AX,#_eeptemp1;
$DGL	0,54
	MOVW  DE,AX
$DGL	0,55
	MOV  X,#1
$DGL	0,56
	CALL  !_EEPROMRead
$DGL	0,57
	; line   153
$DGL	0,58
	mov	a,!_eeptemp1					;[INF] 3, 8
	mov	!_eeprom_data+2,a				;[INF] 3, 8
; line   154
$DGL	0,59
	mov	a,!_eeptemp2					;[INF] 3, 8
	mov	!_eeprom_data+3,a				;[INF] 3, 8
; line   156
$DGL	0,62
	MOVW	AX,#_eeptemp1;
$DGL	0,63
	MOVW  DE,AX
$DGL	0,64
	MOV  X,#2
$DGL	0,65
	CALL  !_EEPROMRead
$DGL	0,66
	; line   162
$DGL	0,67
	mov	a,!_eeptemp1					;[INF] 3, 8
	mov	!_eeprom_data+4,a				;[INF] 3, 8
; line   163
$DGL	0,68
	mov	a,!_eeptemp2					;[INF] 3, 8
	mov	!_eeprom_data+5,a				;[INF] 3, 8
; line   165
$DGL	0,70
	nop							;[INF] 1, 2
; line   166
$DGL	0,71
??ef_EEPROM:
	pop	ax						;[INF] 1, 6
	pop	hl						;[INF] 1, 6
	ret							;[INF] 1, 6
??ee_EEPROM:

@@VECT00	CSEG	AT    0000H
_@vect00:
	DW	_main

@@VECT0C	CSEG	AT    000CH
_@vect0c:
	DW	_TM2ms
	END


; *** Code Information ***
;
; $FILE E:\Program\fuction\EEPROM_EMULATE_9202\source\9202_mini.c
;
; $FUNC main(11)
;	void=(void)
;	CODE SIZE= 73 bytes, CLOCK_SIZE= 188 clocks, STACK_SIZE= 2 bytes
;
; $CALL Init_CPU(12)
;	void=(void)
;
; $CALL Wait2s(13)
;	void=(void)
;
; $CALL EEPROM(15)
;	void=(void)
;
; $FUNC Init_CPU(37)
;	void=(void)
;	CODE SIZE= 81 bytes, CLOCK_SIZE= 168 clocks, STACK_SIZE= 0 bytes
;
; $FUNC TM2ms(76)
;	void=(void)
;	CODE SIZE= 4 bytes, CLOCK_SIZE= 14 clocks, STACK_SIZE= 0 bytes
;
; $FUNC Wait2s(81)
;	void=(void)
;	CODE SIZE= 65 bytes, CLOCK_SIZE= 196 clocks, STACK_SIZE= 8 bytes
;
; $FUNC EEPROM(96)
;	void=(void)
;	CODE SIZE= 106 bytes, CLOCK_SIZE= 290 clocks, STACK_SIZE= 6 bytes

; Target chip : uPD78F9202
; Device file : V2.11 

⌨️ 快捷键说明

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