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

📄 freerun_timer.asm

📁 富士通芯片 32位MCU各项机能应用实例的C语言例程
💻 ASM
字号:
//					FR Family SOFTUNE cpcom V65L04
	.program	"freerun_timer"
	.library	"lib911.lib"
	._LANGUAGE	C_FR20, N, U, F
	._FILE	"D:\kongou\MAE\soft\sample_soft\200803_Sample\MB91635\32bit_FRT\freerun_timer.c", 0
	._FILE	"D:\kongou\MAE\soft\sample_soft\200803_Sample\MB91635\32bit_FRT\freerun_timer.h", 1
	._FILE	"..\IOH_MB91635_V01L02\mb91635.h", 2
	._FILE	"..\IOH_MB91635_V01L02\_fr.h", 3
	._BTYPE	0x80000001, 1
	._BTYPE	0x80000002, 1
	._BTYPE	0x80000003, 2
	._BTYPE	0x80000004, 2
	._BTYPE	0x80000005, 4
	._BTYPE	0x80000006, 4
	._BTYPE	0x80000007, 4
	._BTYPE	0x80000008, 4
	._BTYPE	0x80000009, 1
	._BTYPE	0x8000000a, 2
	._BTYPE	0x8000000b, 4
	._BTYPE	0x8000000c, 8
	._BTYPE	0x8000000d, 8
	._BTYPE	0x8000000e, 1
	._BTYPE	0x8000000f, 0
	._BTYPE	0x80000010, 8
	._BTYPE	0x80000011, 8
	.global	_IO_PDR0
	.global	_IO_PDR1
	.global	_IO_PDR2
	.global	_IO_PDR3
	.global	_IO_PDR4
	.global	_IO_PDR5
	.global	_IO_PDR6
	.global	_IO_PDR7
	.global	_IO_PDR8
	.global	_IO_PDR9
	.global	_IO_PDRA
	.global	_IO_PDRB
	.global	_IO_PDRC
	.global	_IO_PDRG
	.global	_IO_PDRH
	.global	_IO_PDRI
	.global	_IO_PDRK
	.global	_IO_WDTCR0
	.global	_IO_WDTCPR0
	.global	_IO_EIRR0
	.global	_IO_ENIR0
	.global	_IO_ELVR0
	.global	_IO_DICR
	.global	_IO_TMRLRA0
	.global	_IO_TMR0
	.global	_IO_TMCSR0
	.global	_IO_TMRLRA1
	.global	_IO_TMR1
	.global	_IO_TMCSR1
	.global	_IO_TMRLRA2
	.global	_IO_TMR2
	.global	_IO_TMCSR2
	.global	_IO_UART0
	.global	_IO_UART1
	.global	_IO_UART2
	.global	_IO_UART3
	.global	_IO_UART4
	.global	_IO_UART5
	.global	_IO_UART6
	.global	_IO_UART7
	.global	_IO_UART0_I2C0
	.global	_IO_RDRM0123
	.global	_IO_RDRM4567
	.global	_IO_SSEL0123
	.global	_IO_SSEL4567
	.global	_IO_UART8
	.global	_IO_UART9
	.global	_IO_UART10
	.global	_IO_UART11
	.global	_IO_EIRR1
	.global	_IO_ENIR1
	.global	_IO_ELVR1
	.global	_IO_EIRR2
	.global	_IO_ENIR2
	.global	_IO_ELVR2
	.global	_IO_EIRR3
	.global	_IO_ENIR3
	.global	_IO_ELVR3
	.global	_IO_AD0
	.global	_IO_BT0
	.global	_IO_BT1
	.global	_IO_BT2
	.global	_IO_BT3
	.global	_IO_BTSEL0123
	.global	_IO_DAC
	.global	_IO_AD1
	.global	_IO_ADCHE
	.global	_IO_IRPR
	.global	_IO_UD0
	.global	_IO_UD1
	.global	_IO_UD2
	.global	_IO_UD3
	.global	_IO_CPCLR0
	.global	_IO_TCDT0
	.global	_IO_TCCSH0
	.global	_IO_TCCSL0
	.global	_IO_IPCP0
	.global	_IO_IPCP1
	.global	_IO_IPCP2
	.global	_IO_IPCP3
	.global	_IO_ICS01
	.global	_IO_ICS23
	.global	_IO_IPCP4
	.global	_IO_IPCP5
	.global	_IO_IPCP6
	.global	_IO_IPCP7
	.global	_IO_ICS45
	.global	_IO_ICS67
	.global	_IO_OCCP0
	.global	_IO_OCCP1
	.global	_IO_OCCP2
	.global	_IO_OCCP3
	.global	_IO_OCS01
	.global	_IO_OCS23
	.global	_IO_OCCP4
	.global	_IO_OCCP5
	.global	_IO_OCCP6
	.global	_IO_OCCP7
	.global	_IO_OCS45
	.global	_IO_OCS67
	.global	_IO_FRTSEL
	.global	_IO_CPCLR1
	.global	_IO_TCDT1
	.global	_IO_TCCSH1
	.global	_IO_TCCSL1
	.global	_IO_FCTLR
	.global	_IO_FSTR
	.global	_IO_WREN
	.global	_IO_WRAR00
	.global	_IO_WRDR00
	.global	_IO_WRAR01
	.global	_IO_WRDR01
	.global	_IO_WRAR02
	.global	_IO_WRDR02
	.global	_IO_WRAR03
	.global	_IO_WRDR03
	.global	_IO_WRAR04
	.global	_IO_WRDR04
	.global	_IO_WRAR05
	.global	_IO_WRDR05
	.global	_IO_WRAR06
	.global	_IO_WRDR06
	.global	_IO_WRAR07
	.global	_IO_WRDR07
	.global	_IO_WRAR08
	.global	_IO_WRDR08
	.global	_IO_WRAR09
	.global	_IO_WRDR09
	.global	_IO_WRAR10
	.global	_IO_WRDR10
	.global	_IO_WRAR11
	.global	_IO_WRDR11
	.global	_IO_WRAR12
	.global	_IO_WRDR12
	.global	_IO_WRAR13
	.global	_IO_WRDR13
	.global	_IO_WRAR14
	.global	_IO_WRDR14
	.global	_IO_WRAR15
	.global	_IO_WRDR15
	.global	_IO_PORT1
	.global	_IO_ICR
	.global	_IO_CLK
	.global	_IO_IORR
	.global	_IO_PORT2
	.global	_IO_PORT3
	.global	_IO_ICSEL
	.global	_IO_CLKG
	.global	_IO_WTC
	.global	_IO_EBUS
	.global	_IO_DMAC
	.global	_IO_DNMIR
	.global	_IO_DILVR
	.global	_IO_DMACR
	.global	_IO_BT4
	.global	_IO_BT5
	.global	_IO_BT6
	.global	_IO_BT7
	.global	_IO_BTSEL4567
	.global	_IO_BT8
	.global	_IO_BT9
	.global	_IO_BTA
	.global	_IO_BTB
	.global	_IO_BTSEL89AB
	.global	_IO_BTC
	.global	_IO_BTD
	.global	_IO_BTE
	.global	_IO_BTF
	.global	_IO_BTSELCDEF
	.global	_IO_BTSSSR
	.section	INIT, DATA, align=4
	.global	_frt_count1
	.align	2
_frt_count1:
	.half	0
	.global	_frt_count0
_frt_count0:
	.half	0
	.section	CODE, CODE, align=2
	.global	_FRT_initialize
	._SYMBOL	"FRT_initialize", F, 0x8000000f, E, "_FRT_initialize", F
	._FPARAM	S, 0, F
	._FPARAM	E
	._CONFIG	S, F, 1
	._LINE	0, 23
_FRT_initialize:
L_20:
	ST	RP,@-SP
	ENTER	#4
;-------end_of_no_optimize_block
	._FUNCTION	"fp", "fp", 16
	._CONFIG	S, B
L_21:				// Pred: L_20
	._LINE	0, 25
	LDI:32	#_IO_ICR+27,R0
	LDI	#16,R1
	STB	R1,@R0
	._LINE	0, 26
	LDI:32	#_IO_PORT3+34,R1
	LDI	#0,R0
	STB	R0,@R1	; _IO_PORT3
	._LINE	0, 27
	LDI:32	#_IO_FRTSEL,R1
	STB	R0,@R1	; _IO_FRTSEL
	._LINE	0, 30
	LDI:32	#_IO_TCCSH0,R0
	LDI	#1,R1
	STB	R1,@R0	; _IO_TCCSH0
	._LINE	0, 31
	LDI:32	#_IO_TCCSL0,R2
	LDI	#80,R0
	STB	R0,@R2	; _IO_TCCSL0
	._LINE	0, 32
	LDI:32	#_IO_CPCLR0,R12
	LDI	#16777215,R2
	ST	R2,@R12	; _IO_CPCLR0
	._LINE	0, 33
	LDI:32	#_IO_TCDT0,R2
	LDI	#0,R12
	ST	R12,@R2	; _IO_TCDT0
	._LINE	0, 36
	LDI:32	#_IO_TCCSH1,R2
	STB	R1,@R2	; _IO_TCCSH1
	._LINE	0, 37
	LDI:32	#_IO_TCCSL1,R1
	STB	R0,@R1	; _IO_TCCSL1
	._LINE	0, 38
	LDI:32	#_IO_CPCLR1,R0
	LDI	#268435455,R1
	ST	R1,@R0	; _IO_CPCLR1
	._LINE	0, 39
	LDI:32	#_IO_TCDT1,R0
	ST	R12,@R0	; _IO_TCDT1
L_22:				// Pred: L_21
	._LINE	0, 39
	._CONFIG	E
	._LINE	0, 40
	LEAVE
	LD	@SP+,RP
	RET
	._CONFIG	E
	.global	_FRT_start_timer
	._SYMBOL	"FRT_start_timer", F, 0x8000000f, E, "_FRT_start_timer", F
	._FPARAM	S, 0, F
	._FPARAM	E
	._CONFIG	S, F, 1
	._LINE	0, 47
_FRT_start_timer:
L_23:
	ST	RP,@-SP
	ENTER	#4
;-------end_of_no_optimize_block
	._FUNCTION	"fp", "fp", 16
	._CONFIG	S, B
L_24:				// Pred: L_23
	._LINE	0, 49
	LDI:32	#_IO_TCCSL0,R12
	BAND	#0xBF,@R12
	._LINE	0, 50
	LDI:32	#_IO_TCCSL1,R12
	BAND	#0xBF,@R12
L_25:				// Pred: L_24
	._LINE	0, 50
	._CONFIG	E
	._LINE	0, 51
	LEAVE
	LD	@SP+,RP
	RET
	._CONFIG	E
	.global	_FRT_stop_timer
	._SYMBOL	"FRT_stop_timer", F, 0x8000000f, E, "_FRT_stop_timer", F
	._FPARAM	S, 0, F
	._FPARAM	E
	._CONFIG	S, F, 1
	._LINE	0, 58
_FRT_stop_timer:
L_26:
	ST	RP,@-SP
	ENTER	#4
;-------end_of_no_optimize_block
	._FUNCTION	"fp", "fp", 16
	._CONFIG	S, B
L_27:				// Pred: L_26
	._LINE	0, 60
	LDI:32	#_IO_TCCSL0,R12
	BOR	#0x40,@R12
	._LINE	0, 61
	LDI:32	#_IO_TCCSL1,R12
	BOR	#0x40,@R12
L_28:				// Pred: L_27
	._LINE	0, 61
	._CONFIG	E
	._LINE	0, 62
	LEAVE
	LD	@SP+,RP
	RET
	._CONFIG	E
	.global	_FRT_intr
	._SYMBOL	"FRT_intr", F, 0x8000000f, E, "_FRT_intr", I
	._FPARAM	S, 0, F
	._FPARAM	E
	._CONFIG	S, F, 1
	._LINE	0, 69
_FRT_intr:
L_29:
	STM	(R0,R1,R12)
	ST	RP,@-SP
	ENTER	#4
;-------end_of_no_optimize_block
	._FUNCTION	"fp", "fp", 16
	._CONFIG	S, B
L_30:				// Pred: L_29
	._LINE	0, 71
	LDI:32	#_IO_TCCSH0,R0
	BTSTL	#0x2,@R0
	BEQ32	L_32,R12
L_31:				// Pred: L_30
	._LINE	0, 71
	._LINE	0, 72
	BAND	#0xFD,@R0
	._LINE	0, 74
	LDI:32	#_frt_count0,R0
	LDUH	@R0,R1	; _frt_count0
	LDI	#65535,R12
	CMP	R1,R12
	BNE32	L_34,R12
L_33:				// Pred: L_31
	._LINE	0, 74
	._LINE	0, 75
	LDI	#0,R1
	STH	R1,@R0	; _frt_count0
	._LINE	0, 76
	BRA32	L_32,R12
L_34:				// Pred: L_31
	._LINE	0, 77
	._LINE	0, 78
	LDUH	@R0,R1	; _frt_count0
	ADDN	#1,R1
	STH	R1,@R0	; _frt_count0
	._LINE	0, 79
L_32:				// Pred: L_34 L_33 L_30
	._LINE	0, 82
	LDI:32	#_IO_TCCSH1,R0
	BTSTL	#0x2,@R0
	BEQ32	L_41,R12
L_36:				// Pred: L_32
	._LINE	0, 82
	._LINE	0, 83
	BAND	#0xFD,@R0
	._LINE	0, 85
	LDI:32	#_frt_count1,R0
	LDUH	@R0,R1	; _frt_count1
	LDI	#65535,R12
	CMP	R1,R12
	BNE32	L_39,R12
L_38:				// Pred: L_36
	._LINE	0, 85
	._LINE	0, 86
	LDI	#0,R1
	STH	R1,@R0	; _frt_count1
	._LINE	0, 87
	BRA32	L_41,R12
L_39:				// Pred: L_36
	._LINE	0, 88
	._LINE	0, 89
	LDUH	@R0,R1	; _frt_count1
	ADDN	#1,R1
	STH	R1,@R0	; _frt_count1
	._LINE	0, 90
L_41:				// Pred: L_39 L_38 L_32
	._LINE	0, 91
	._CONFIG	E
	._LINE	0, 93
	LEAVE
	LD	@SP+,RP
	LDM	(R0,R1,R12)
	RETI
	._CONFIG	E
	._SYMBOL	"frt_count1", V, 0x80000004, E, "_frt_count1"
	._SYMBOL	"frt_count0", V, 0x80000004, E, "_frt_count0"
	.end	

⌨️ 快捷键说明

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