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

📄 fm24c04a_drv.asm

📁 TC35i收发短信的源代码
💻 ASM
📖 第 1 页 / 共 3 页
字号:
; 78K/0 Series C Compiler V3.70 Assembler Source
;                                                Date:25 Feb 2008 Time:17:34:14

; Command   : -fFM24c04a_drv.pcc
; In-file   : FM24c04a_drv.c
; Asm-file  : FM24c04a_drv.asm
; Para-file : -cF051344
;             -yC:\NECTools32\DEV\
;             -a
;             -zpn
;             FM24c04a_drv.c

$PROCESSOR(F051344)
$DEBUG
$NODEBUGA
$KANJICODE NONE
$TOL_INF	03FH, 0370H, 00H, 020H, 00H

$DGS	FIL_NAM, .file,		08FH,	0FFFEH,	03FH,	067H,	01H,	00H
$DGS	AUX_FIL, FM24c04a_drv.c
$DGS	MOD_NAM, FM24c04a,	00H,	0FFFEH,	00H,	077H,	00H,	00H
$DGS	SEC_NAM, @@BITS,	U,	U,	00H,	078H,	00H,	00H
$DGS	SEC_NAM, @@CNST,	U,	U,	00H,	078H,	00H,	00H
$DGS	SEC_NAM, @@R_INIT,	U,	U,	00H,	078H,	00H,	00H
$DGS	SEC_NAM, @@INIT,	U,	U,	00H,	078H,	00H,	00H
$DGS	SEC_NAM, @@DATA,	U,	U,	00H,	078H,	00H,	00H
$DGS	SEC_NAM, @@R_INIS,	U,	U,	00H,	078H,	00H,	00H
$DGS	SEC_NAM, @@INIS,	U,	U,	00H,	078H,	00H,	00H
$DGS	SEC_NAM, @@DATS,	U,	U,	00H,	078H,	00H,	00H
$DGS	SEC_NAM, @@CALT,	U,	U,	00H,	078H,	00H,	00H
$DGS	SEC_NAM, @@CODE,	U,	U,	00H,	078H,	00H,	00H
$DGS	SEC_NAM, @@CALF,	U,	U,	00H,	078H,	00H,	00H
$DGS	GLV_SYM, _StartBit,	U,	U,	08001H,	020H,	01H,	02H
$DGS	AUX_FUN, 00H,		U,	U,	014H,	00H
$DGS	BEG_FUN, ??bf_StartBit,	U,	U,	00H,	065H,	01H,	00H
$DGS	AUX_BEG, 01AH,		00H,	014H
$DGS	END_FUN, ??ef_StartBit,	U,	U,	00H,	065H,	01H,	00H
$DGS	AUX_END, 06H
$DGS	GLV_SYM, _StopBit,	U,	U,	08001H,	020H,	01H,	02H
$DGS	AUX_FUN, 00H,		U,	U,	01AH,	00H
$DGS	BEG_FUN, ??bf_StopBit,	U,	U,	00H,	065H,	01H,	00H
$DGS	AUX_BEG, 02BH,		00H,	01AH
$DGS	END_FUN, ??ef_StopBit,	U,	U,	00H,	065H,	01H,	00H
$DGS	AUX_END, 07H
$DGS	GLV_SYM, _SendAByte,	U,	U,	0800CH,	020H,	01H,	02H
$DGS	AUX_FUN, 00H,		U,	U,	02CH,	00H
$DGS	BEG_FUN, ??bf_SendAByte,	U,	U,	00H,	065H,	01H,	00H
$DGS	AUX_BEG, 03DH,		06H,	022H
$DGS	FUN_ARG, _I_data,	04H,	0FFFFH,	0CH,	09H,	00H,	00H
$DGS	AUT_VAR, _i,		03H,	0FFFFH,	0CH,	01H,	00H,	00H
$DGS	AUT_VAR, _count,	02H,	0FFFFH,	0CH,	01H,	00H,	00H
$DGS	AUT_VAR, _b,		01H,	0FFFFH,	0CH,	01H,	00H,	00H
$DGS	BEG_BLK, ??bb00_SendAByte,	U,	U,	00H,	064H,	01H,	00H
$DGS	AUX_BEG, 07H,		00H,	026H
$DGS	END_BLK, ??eb00_SendAByte,	U,	U,	00H,	064H,	01H,	00H
$DGS	AUX_END, 011H
$DGS	BEG_BLK, ??bb01_SendAByte,	U,	U,	00H,	064H,	01H,	00H
$DGS	AUX_BEG, 01FH,		00H,	00H
$DGS	END_BLK, ??eb01_SendAByte,	U,	U,	00H,	064H,	01H,	00H
$DGS	AUX_END, 028H
$DGS	END_FUN, ??ef_SendAByte,	U,	U,	00H,	065H,	01H,	00H
$DGS	AUX_END, 030H
$DGS	GLV_SYM, _ReceiveAByte,	U,	U,	0800CH,	020H,	01H,	02H
$DGS	AUX_FUN, 00H,		U,	U,	038H,	00H
$DGS	BEG_FUN, ??bf_ReceiveAByte,	U,	U,	00H,	065H,	01H,	00H
$DGS	AUX_BEG, 079H,		02H,	032H
$DGS	REG_VAR, _i,		06H,	0FFFFH,	010CH,	04H,	00H,	00H
$DGS	REG_VAR, _ddata,	07H,	0FFFFH,	010CH,	04H,	00H,	00H
$DGS	BEG_BLK, ??bb00_ReceiveAByte,	U,	U,	00H,	064H,	01H,	00H
$DGS	AUX_BEG, 0BH,		00H,	00H
$DGS	END_BLK, ??eb00_ReceiveAByte,	U,	U,	00H,	064H,	01H,	00H
$DGS	AUX_END, 015H
$DGS	END_FUN, ??ef_ReceiveAByte,	U,	U,	00H,	065H,	01H,	00H
$DGS	AUX_END, 01CH
$DGS	GLV_SYM, _FMWrite,	U,	U,	0800CH,	020H,	01H,	02H
$DGS	AUX_FUN, 00H,		U,	U,	054H,	00H
$DGS	BEG_FUN, ??bf_FMWrite,	U,	U,	00H,	065H,	01H,	00H
$DGS	AUX_BEG, 0A4H,		0CH,	046H
$DGS	FUN_ARG, _buff,		0AH,	0FFFFH,	0CH,	09H,	00H,	01H
$DGS	FUN_ARG, _addr,		010H,	0FFFFH,	0EH,	09H,	00H,	00H
$DGS	FUN_ARG, _wlen,		012H,	0FFFFH,	0EH,	09H,	00H,	00H
$DGS	AUT_VAR, _i,		09H,	0FFFFH,	0CH,	01H,	00H,	00H
$DGS	AUT_VAR, _n,		08H,	0FFFFH,	0CH,	01H,	00H,	00H
$DGS	AUT_VAR, _Page,		07H,	0FFFFH,	0CH,	01H,	00H,	00H
$DGS	AUT_VAR, _InPage,	06H,	0FFFFH,	0CH,	01H,	00H,	00H
$DGS	AUT_VAR, _tmpint,	04H,	0FFFFH,	0EH,	01H,	00H,	00H
$DGS	AUT_VAR, _len,		00H,	0FFFFH,	0EH,	01H,	01H,	03H
$DGS	AUX_STR, 00H,		00H,	04H,	02H,	00H,	00H,	00H
$DGS	BEG_BLK, ??bb00_FMWrite,	U,	U,	00H,	064H,	01H,	00H
$DGS	AUX_BEG, 012H,		00H,	04AH
$DGS	END_BLK, ??eb00_FMWrite,	U,	U,	00H,	064H,	01H,	00H
$DGS	AUX_END, 016H
$DGS	BEG_BLK, ??bb01_FMWrite,	U,	U,	00H,	064H,	01H,	00H
$DGS	AUX_BEG, 018H,		00H,	04EH
$DGS	END_BLK, ??eb01_FMWrite,	U,	U,	00H,	064H,	01H,	00H
$DGS	AUX_END, 01CH
$DGS	BEG_BLK, ??bb02_FMWrite,	U,	U,	00H,	064H,	01H,	00H
$DGS	AUX_BEG, 01FH,		00H,	00H
$DGS	END_BLK, ??eb02_FMWrite,	U,	U,	00H,	064H,	01H,	00H
$DGS	AUX_END, 023H
$DGS	END_FUN, ??ef_FMWrite,	U,	U,	00H,	065H,	01H,	00H
$DGS	AUX_END, 027H
$DGS	GLV_SYM, _FMRead,	U,	U,	0800CH,	020H,	01H,	02H
$DGS	AUX_FUN, 00H,		U,	U,	06FH,	00H
$DGS	BEG_FUN, ??bf_FMRead,	U,	U,	00H,	065H,	01H,	00H
$DGS	AUX_BEG, 0DAH,		0AH,	061H
$DGS	FUN_ARG, _buff,		08H,	0FFFFH,	0CH,	09H,	00H,	01H
$DGS	FUN_ARG, _addr,		0EH,	0FFFFH,	0EH,	09H,	00H,	00H
$DGS	FUN_ARG, _rlen,		010H,	0FFFFH,	0EH,	09H,	00H,	00H
$DGS	AUT_VAR, _i,		07H,	0FFFFH,	0CH,	01H,	00H,	00H
$DGS	AUT_VAR, _n,		06H,	0FFFFH,	0CH,	01H,	00H,	00H
$DGS	AUT_VAR, _Page,		05H,	0FFFFH,	0CH,	01H,	00H,	00H
$DGS	AUT_VAR, _InPage,	04H,	0FFFFH,	0CH,	01H,	00H,	00H
$DGS	AUT_VAR, _len,		00H,	0FFFFH,	0EH,	01H,	01H,	03H
$DGS	AUX_STR, 00H,		00H,	04H,	02H,	00H,	00H,	00H
$DGS	BEG_BLK, ??bb00_FMRead,	U,	U,	00H,	064H,	01H,	00H
$DGS	AUX_BEG, 011H,		00H,	065H
$DGS	END_BLK, ??eb00_FMRead,	U,	U,	00H,	064H,	01H,	00H
$DGS	AUX_END, 015H
$DGS	BEG_BLK, ??bb01_FMRead,	U,	U,	00H,	064H,	01H,	00H
$DGS	AUX_BEG, 017H,		00H,	069H
$DGS	END_BLK, ??eb01_FMRead,	U,	U,	00H,	064H,	01H,	00H
$DGS	AUX_END, 01BH
$DGS	BEG_BLK, ??bb02_FMRead,	U,	U,	00H,	064H,	01H,	00H
$DGS	AUX_BEG, 01EH,		00H,	00H
$DGS	END_BLK, ??eb02_FMRead,	U,	U,	00H,	064H,	01H,	00H
$DGS	AUX_END, 022H
$DGS	END_FUN, ??ef_FMRead,	U,	U,	00H,	065H,	01H,	00H
$DGS	AUX_END, 025H
$DGS	GLV_SYM, _FMWriteBytes,	U,	U,	0800CH,	020H,	01H,	02H
$DGS	AUX_FUN, 00H,		U,	U,	07FH,	00H
$DGS	BEG_FUN, ??bf_FMWriteBytes,	U,	U,	00H,	065H,	01H,	00H
$DGS	AUX_BEG, 010FH,		06H,	079H
$DGS	FUN_ARG, _buff,		04H,	0FFFFH,	0CH,	09H,	00H,	01H
$DGS	FUN_ARG, _page,		0AH,	0FFFFH,	0CH,	09H,	00H,	00H
$DGS	FUN_ARG, _inpage,	0CH,	0FFFFH,	0CH,	09H,	00H,	00H
$DGS	FUN_ARG, _bytes,	0EH,	0FFFFH,	0EH,	09H,	00H,	00H
$DGS	AUT_VAR, _p,		03H,	0FFFFH,	0CH,	01H,	00H,	00H
$DGS	AUT_VAR, _i,		01H,	0FFFFH,	0EH,	01H,	00H,	00H
$DGS	BEG_BLK, ??bb00_FMWriteBytes,	U,	U,	00H,	064H,	01H,	00H
$DGS	AUX_BEG, 016H,		00H,	00H
$DGS	END_BLK, ??eb00_FMWriteBytes,	U,	U,	00H,	064H,	01H,	00H
$DGS	AUX_END, 018H
$DGS	END_FUN, ??ef_FMWriteBytes,	U,	U,	00H,	065H,	01H,	00H
$DGS	AUX_END, 01EH
$DGS	GLV_SYM, _FMReadBytes,	U,	U,	0800CH,	020H,	01H,	02H
$DGS	AUX_FUN, 00H,		U,	U,	08FH,	00H
$DGS	BEG_FUN, ??bf_FMReadBytes,	U,	U,	00H,	065H,	01H,	00H
$DGS	AUX_BEG, 013DH,		06H,	089H
$DGS	FUN_ARG, _buff,		04H,	0FFFFH,	0CH,	09H,	00H,	01H
$DGS	FUN_ARG, _page,		0AH,	0FFFFH,	0CH,	09H,	00H,	00H
$DGS	FUN_ARG, _inpage,	0CH,	0FFFFH,	0CH,	09H,	00H,	00H
$DGS	FUN_ARG, _bytes,	0EH,	0FFFFH,	0EH,	09H,	00H,	00H
$DGS	AUT_VAR, _p,		03H,	0FFFFH,	0CH,	01H,	00H,	00H
$DGS	AUT_VAR, _i,		01H,	0FFFFH,	0EH,	01H,	00H,	00H
$DGS	BEG_BLK, ??bb00_FMReadBytes,	U,	U,	00H,	064H,	01H,	00H
$DGS	AUX_BEG, 019H,		00H,	00H
$DGS	END_BLK, ??eb00_FMReadBytes,	U,	U,	00H,	064H,	01H,	00H
$DGS	AUX_END, 026H
$DGS	END_FUN, ??ef_FMReadBytes,	U,	U,	00H,	065H,	01H,	00H
$DGS	AUX_END, 02CH
$DGS	GLV_SYM, _@RTARG0,	U,	U,	00H,	02H,	00H,	00H
$DGS	GLV_SYM, @@iumul,	U,	U,	00H,	02H,	00H,	00H

	EXTRN	_@RTARG0
	EXTRN	@@iumul
	PUBLIC	_FMWrite
	PUBLIC	_FMRead
	PUBLIC	_StartBit
	PUBLIC	_StopBit
	PUBLIC	_SendAByte
	PUBLIC	_ReceiveAByte
	PUBLIC	_FMWriteBytes
	PUBLIC	_FMReadBytes

@@BITS	BSEG

@@CNST	CSEG	UNITP

@@R_INIT	CSEG	UNITP

@@INIT	DSEG	UNITP

@@DATA	DSEG	UNITP

@@R_INIS	CSEG	UNITP

@@INIS	DSEG	SADDRP

@@DATS	DSEG	SADDRP

@@CALT	CSEG	CALLT0

; line     7
; line     8
; line     7
; line     8
; line     9
; line    10
; line    13
; line    14
; line    26

@@CODE	CSEG
_StartBit:
$DGL	1,14
??bf_StartBit:
; line    27
$DGL	0,2
	set1	P4.0						;[INF] 2, 4
; line    28
$DGL	0,3
	set1	P4.1						;[INF] 2, 4
; line    29
$DGL	0,4
	nop							;[INF] 1, 2
; line    30
$DGL	0,5
	clr1	P4.1						;[INF] 2, 4
; line    31
$DGL	0,6
??ef_StartBit:
	ret							;[INF] 1, 6
??ee_StartBit:
; line    43
_StopBit:
$DGL	1,20
??bf_StopBit:
; line    44
$DGL	0,2
	clr1	P4.1						;[INF] 2, 4
; line    45
$DGL	0,3
	nop							;[INF] 1, 2
; line    46
$DGL	0,4
	set1	P4.0						;[INF] 2, 4
; line    47
$DGL	0,5
	nop							;[INF] 1, 2
; line    48
$DGL	0,6
	set1	P4.1						;[INF] 2, 4
; line    49
$DGL	0,7
??ef_StopBit:
	ret							;[INF] 1, 6
??ee_StopBit:
; line    61
_SendAByte:
$DGL	1,26
	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_SendAByte:
; line    66
$DGL	0,6
	mov	a,#00H	; 0 					;[INF] 2, 4
	mov	[hl+3],a	; i 				;[INF] 2, 8
?L0007:
	mov	a,[hl+3]	; i 				;[INF] 2, 8
	cmp	a,#08H	; 8 					;[INF] 2, 4
	bnc	$?L0008						;[INF] 2, 6
; line    67
$DGL	0,7
??bb00_SendAByte:
; line    68
$DGL	0,8
	clr1	P4.0						;[INF] 2, 4
; line    69
$DGL	0,9
	mov	a,[hl+4]	; I_data 			;[INF] 2, 8
	and	a,#080H	; 128 					;[INF] 2, 4
	mov	[hl+1],a	; b 				;[INF] 2, 8
; line    70
$DGL	0,10
	rol	a,1						;[INF] 1, 2
	and	a,#01H	; 1 					;[INF] 2, 4
	mov	[hl+1],a	; b 				;[INF] 2, 8
; line    71
$DGL	0,11
	rorc	a,1						;[INF] 1, 2
	mov1	P4.1,CY						;[INF] 3, 6
; line    72
$DGL	0,12
	nop							;[INF] 1, 2
; line    73
$DGL	0,13
	set1	P4.0						;[INF] 2, 4
; line    74
$DGL	0,14
	nop							;[INF] 1, 2
; line    75
$DGL	0,15
	nop							;[INF] 1, 2
; line    76
$DGL	0,16
	mov	a,[hl+4]	; I_data 			;[INF] 2, 8
	add	a,a						;[INF] 2, 4
	mov	[hl+4],a	; I_data 			;[INF] 2, 8
??eb00_SendAByte:
; line    77
$DGL	0,17
	mov	a,[hl+3]	; i 				;[INF] 2, 8
	inc	a						;[INF] 1, 2
	mov	[hl+3],a	; i 				;[INF] 2, 8
	br	$?L0007						;[INF] 2, 6
?L0008:
; line    78
$DGL	0,18
	clr1	P4.0						;[INF] 2, 4
; line    79
$DGL	0,19
	nop							;[INF] 1, 2
; line    80
$DGL	0,20
	nop							;[INF] 1, 2
; line    81
$DGL	0,21
	set1	P4.0						;[INF] 2, 4
; line    83
$DGL	0,23
	set1	PM4.1						;[INF] 3, 8
; line    84
$DGL	0,24
	nop							;[INF] 1, 2
; line    87
$DGL	0,27
	mov	a,#00H	; 0 					;[INF] 2, 4
	mov	[hl+2],a	; count 			;[INF] 2, 8
; line    90
$DGL	0,30
?L0010:
	bf	P4.1,$?L0011					;[INF] 4,10
; line    91
$DGL	0,31
??bb01_SendAByte:
; line    92
$DGL	0,32
	mov	WDTE,#0ACH	; 172 				;[INF] 3, 7
; line    95
$DGL	0,35
	mov	a,[hl+2]	; count 			;[INF] 2, 8
	inc	a						;[INF] 1, 2
	bnz	$?L0012						;[INF] 2, 6
	movw	bc,#0FFH	; 255 				;[INF] 3, 6
	br	$?L0006						;[INF] 2, 6
?L0012:
; line    98
$DGL	0,38
	mov	a,[hl+2]	; count 			;[INF] 2, 8
	inc	a						;[INF] 1, 2
	mov	[hl+2],a	; count 			;[INF] 2, 8
??eb01_SendAByte:
	br	$?L0010						;[INF] 2, 6
?L0011:
; line   102
$DGL	0,42
	clr1	P4.0						;[INF] 2, 4
; line   104
$DGL	0,44
	clr1	PM4.1						;[INF] 3, 8
; line   105
$DGL	0,45
	nop							;[INF] 1, 2
; line   107
$DGL	0,47
	movw	bc,#00H	; 0 					;[INF] 3, 6
?L0006:
; line   108
$DGL	0,48
??ef_SendAByte:
	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_SendAByte:
; line   121
_ReceiveAByte:
$DGL	1,44
	push	hl						;[INF] 1, 4
??bf_ReceiveAByte:
; line   125
$DGL	0,5
	set1	PM4.1						;[INF] 3, 8
; line   126
$DGL	0,6
	nop							;[INF] 1, 2
; line   128
$DGL	0,8
	mov	l,#08H	; 8 					;[INF] 2, 4
; line   129
$DGL	0,9
	mov	h,#00H	; 0 					;[INF] 2, 4
; line   130
$DGL	0,10
?L0016:
	dec	l						;[INF] 1, 2
	mov	a,l						;[INF] 1, 2
	inc	a						;[INF] 1, 2

⌨️ 快捷键说明

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