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

📄 updown.asm

📁 富士通芯片 32位MCU各项机能应用实例的C语言例程
💻 ASM
字号:
//					FR Family SOFTUNE cpcom V65L04
	.program	"UpDown"
	.library	"lib911.lib"
	._LANGUAGE	C_FR20, N, U, F
	._FILE	"D:\kongou\MAE\soft\sample_soft\200803_Sample\MB91635\UpDownCounter\UpDown.c", 0
	._FILE	"D:\kongou\MAE\soft\sample_soft\200803_Sample\MB91635\UpDownCounter\UpDown.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	DATA, DATA, align=4
	.global	_U_D_CHECK
	.align	4
_U_D_CHECK:
	.res.b	4
	.global	_COUNT
_COUNT:
	.res.b	4
	.global	_timer_ovf_cnt
_timer_ovf_cnt:
	.res.b	4
	.global	_timer_cnt
_timer_cnt:
	.res.b	4
	.global	_timer_mode
	.align	1
_timer_mode:
	.res.b	1
	.section	CODE, CODE, align=2
	.global	_UpDown_init
	._SYMBOL	"UpDown_init", F, 0x8000000f, E, "_UpDown_init", F
	._FPARAM	S, 1, F
	._SYMBOL	"mode", P, 0x80000002, A, 11
	._FPARAM	E
	._CONFIG	S, F, 1
	._LINE	0, 28
_UpDown_init:
L_20:
	ST	R4,@-SP
	ST	RP,@-SP
	ENTER	#4
;-------end_of_no_optimize_block
	._FUNCTION	"fp", "fp", 40
	._CONFIG	S, B
L_21:				// Pred: L_20
	._LINE	0, 30
	LDI:32	#_IO_ICR+24,R0
	LDI	#16,R1
	STB	R1,@R0
	._LINE	0, 33
	LDI:32	#_IO_PORT3+8,R1
	LDI	#0,R0
	STB	R0,@R1	; _IO_PORT3
	._LINE	0, 34
	LDI:32	#_IO_PORT3+18,R1
	STB	R0,@R1	; _IO_PORT3
	._LINE	0, 35
	LDI:32	#_IO_PORT3+22,R1
	STB	R0,@R1	; _IO_PORT3
	._LINE	0, 36
	LDI:32	#_IO_PORT3+28,R1
	STB	R0,@R1	; _IO_PORT3
	._LINE	0, 40
	LDI:32	#_IO_PORT2+1,R1
	STB	R0,@R1	; _IO_PORT2
	._LINE	0, 44
	LDI:32	#_IO_PORT1+1,R1
	STB	R0,@R1	; _IO_PORT1
	._LINE	0, 50
	LDUB	@(FP,11),R0	; _mode
	CMP	#4,R0
	BNC32	L_28,R12
L_53:				// Pred: L_21
	._LINE	0, 50
	LDI:32	#L_50055,R13
	LSL	#2,R0
	LD	@(R13,R0),R12
;-------table_branch
	JMP	@R12
	.section	CONST, CONST, align=4
	.align	4
L_50055:
	.word	L_23
	.word	L_24
	.word	L_25
	.word	L_26
	.section	CODE, CODE, align=2
	.align	2
L_23:				// Pred: L_53
	._LINE	0, 52
	LDI:32	#_IO_UD0,R0
	LDI	#49152,R1
	STH	R1,@R0	; _IO_UD0
	._LINE	0, 54
	LDI:32	#_IO_UD0+4,R0
	LDI	#32856,R1
	STH	R1,@R0	; _IO_UD0
	._LINE	0, 60
	LDI:32	#_IO_UD0+7,R0
	LDI	#32,R1
	STB	R1,@R0	; _IO_UD0
	BRA32	L_28,R12
L_24:				// Pred: L_53
	._LINE	0, 65
	LDI:32	#_IO_UD0,R0
	LDI	#256,R1
	STH	R1,@R0	; _IO_UD0
	._LINE	0, 67
	LDI:32	#_IO_UD0+4,R0
	LDI	#34430,R1
	STH	R1,@R0	; _IO_UD0
	._LINE	0, 77
	LDI:32	#_IO_UD0+7,R0
	LDI	#96,R1
	STB	R1,@R0	; _IO_UD0
	BRA32	L_28,R12
L_25:				// Pred: L_53
	._LINE	0, 83
	LDI:32	#_IO_UD0,R0
	LDI	#256,R1
	STH	R1,@R0	; _IO_UD0
	._LINE	0, 85
	LDI:32	#_IO_UD0+4,R0
	LDI	#34942,R1
	STH	R1,@R0	; _IO_UD0
	._LINE	0, 94
	LDI:32	#_IO_UD0+7,R0
	LDI	#96,R1
	STB	R1,@R0	; _IO_UD0
	BRA32	L_28,R12
L_26:				// Pred: L_53
	._LINE	0, 100
	LDI:32	#_IO_UD0,R0
	LDI	#256,R1
	STH	R1,@R0	; _IO_UD0
	._LINE	0, 102
	LDI:32	#_IO_UD0+4,R0
	LDI	#35966,R1
	STH	R1,@R0	; _IO_UD0
	._LINE	0, 111
	LDI:32	#_IO_UD0+7,R0
	LDI	#96,R1
;-------volatile_access
	STB	R1,@R0	; _IO_UD0
L_28:				// Pred: L_26 L_25 L_24 L_23
				//	 L_53 L_21
	._LINE	0, 118
	._CONFIG	E
	._LINE	0, 119
	LEAVE
	LD	@SP+,RP
	ADDSP	#4
	RET
	._CONFIG	E
	.global	_UpDown_start
	._SYMBOL	"UpDown_start", F, 0x8000000f, E, "_UpDown_start", F
	._FPARAM	S, 0, F
	._FPARAM	E
	._CONFIG	S, F, 1
	._LINE	0, 126
_UpDown_start:
L_29:
	ST	RP,@-SP
	ENTER	#4
;-------end_of_no_optimize_block
	._FUNCTION	"fp", "fp", 16
	._CONFIG	S, B
L_30:				// Pred: L_29
	._LINE	0, 128
	LDI:32	#_IO_UD0+5,R12
	BAND	#0xF7,@R12
	._LINE	0, 129
	LDI:32	#_IO_UD0+7,R12
	BOR	#0x80,@R12
L_31:				// Pred: L_30
	._LINE	0, 129
	._CONFIG	E
	._LINE	0, 130
	LEAVE
	LD	@SP+,RP
	RET
	._CONFIG	E
	.global	_UpDown_int0
	._SYMBOL	"UpDown_int0", F, 0x8000000f, E, "_UpDown_int0", I
	._FPARAM	S, 0, F
	._FPARAM	E
	._CONFIG	S, F, 1
	._LINE	0, 137
_UpDown_int0:
L_32:
	STM	(R0,R12)
	ST	RP,@-SP
	ENTER	#4
;-------end_of_no_optimize_block
	._FUNCTION	"fp", "fp", 16
	._CONFIG	S, B
L_33:				// Pred: L_32
	._LINE	0, 139
	LDI:32	#_IO_UD0+4,R0
	BTSTH	#0x4,@R0
	BEQ32	L_35,R12
L_34:				// Pred: L_33
	._LINE	0, 140
	._LINE	0, 141
	BAND	#0xBF,@R0
	._LINE	0, 142
	LDI:32	#_IO_UD0+2,R12
	LDUH	@R12,R0	; _IO_UD0
	LDI:32	#_COUNT,R12
	ST	R0,@R12	; _COUNT
	._LINE	0, 143
	LDI:32	#_IO_UD0+7,R12
	LDUB	@R12,R0	; _IO_UD0
	LDI:32	#_U_D_CHECK,R12
	ST	R0,@R12	; _U_D_CHECK
	._LINE	0, 144
L_35:				// Pred: L_34 L_33
	._LINE	0, 146
	LDI:32	#_IO_UD0+7,R0
	BTSTH	#0x1,@R0
	BEQ32	L_37,R12
L_36:				// Pred: L_35
	._LINE	0, 147
	._LINE	0, 148
	BAND	#0xEF,@R0
	._LINE	0, 149
L_37:				// Pred: L_36 L_35
	._LINE	0, 151
	BTSTL	#0x8,@R0
	BEQ32	L_39,R12
L_38:				// Pred: L_37
	._LINE	0, 152
	._LINE	0, 153
	BAND	#0xF7,@R0
	._LINE	0, 154
L_39:				// Pred: L_38 L_37
	._LINE	0, 156
	BTSTL	#0x4,@R0
	BEQ32	L_42,R12
L_40:				// Pred: L_39
	._LINE	0, 157
	._LINE	0, 158
	BAND	#0xFB,@R0
	._LINE	0, 159
L_42:				// Pred: L_40 L_39
	._LINE	0, 159
	._CONFIG	E
	._LINE	0, 160
	LEAVE
	LD	@SP+,RP
	LDM	(R0,R12)
	RETI
	._CONFIG	E
	.global	_dummy
	._SYMBOL	"dummy", F, 0x8000000f, E, "_dummy", I
	._FPARAM	S, 0, F
	._FPARAM	E
	._CONFIG	S, F, 1
	._LINE	0, 165
_dummy:
L_49:
	ST	R12,@-SP
	ST	RP,@-SP
	ENTER	#4
;-------end_of_no_optimize_block
	._FUNCTION	"fp", "fp", 16
	._CONFIG	S, B
L_50:				// Pred: L_49
	._LINE	0, 167
L_51:				// Pred: L_51 L_50
	._LINE	0, 167
	._LINE	0, 167
	._LINE	0, 168
	BRA32	L_51,R12
L_52:
	._LINE	0, 168
	._CONFIG	E
	._LINE	0, 168
	._CONFIG	E
	._SYMBOL	"U_D_CHECK", V, 0x80000006, E, "_U_D_CHECK"
	._SYMBOL	"COUNT", V, 0x80000006, E, "_COUNT"
	._SYMBOL	"timer_ovf_cnt", V, 0x80000006, E, "_timer_ovf_cnt"
	._SYMBOL	"timer_cnt", V, 0x80000006, E, "_timer_cnt"
	._SYMBOL	"timer_mode", V, 0x80000002, E, "_timer_mode"
	.end	

⌨️ 快捷键说明

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