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

📄 i2c_initial_master.asm

📁 富士通芯片 32位MCU各项机能应用实例的C语言例程
💻 ASM
字号:
//					FR Family SOFTUNE cpcom V65L04
	.program	"i2c_initial_master"
	.library	"lib911.lib"
	._LANGUAGE	C_FR20, N, U, F
	._FILE	"D:\kongou\MAE\soft\sample_soft\200803_Sample\MB91635\MF_I2C_91635\i2c_initial_master.c", 0
	._FILE	"..\IOH_MB91635_V01L02\mb91635.h", 1
	._FILE	"..\IOH_MB91635_V01L02\_fr.h", 2
	._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	_err_flag
	.align	4
_err_flag:
	.word	0
	.global	_slave_device_address
	.align	1
_slave_device_address:
	.byte	160
	.global	_num
_num:
	.byte	0
	.section	CODE, CODE, align=2
	.global	_initial_i2c_master_tx
	._SYMBOL	"initial_i2c_master_tx", F, 0x8000000f, E, "_initial_i2c_master_tx", F
	._FPARAM	S, 0, F
	._FPARAM	E
	._CONFIG	S, F, 1
	._LINE	0, 22
_initial_i2c_master_tx:
L_20:
	ST	RP,@-SP
	ENTER	#4
	ST	R8,@-SP
;-------end_of_no_optimize_block
	._FUNCTION	"fp", "fp", 16
	._CONFIG	S, B
L_21:				// Pred: L_20
	._LINE	0, 24
	LDI:32	#_IO_ICR+23,R0
	LDI	#17,R1
	STB	R1,@R0
	._LINE	0, 26
	LDI:32	#_IO_PORT3+14,R0
	LDI	#10,R1
	STB	R1,@R0	; _IO_PORT3
	._LINE	0, 28
	LDI	#128,R13
	DMOVB	R13,@_IO_UART8+1	; _IO_UART8
	._LINE	0, 29
	LDI	#320,R13
	DMOVH	R13,@_IO_UART8+6	; _IO_UART8
	._LINE	0, 31
	LDI:20	#_IO_UART8,R8
	BOR	#0x4,@R8
	._LINE	0, 32
	LDI	#0,R0
	MOV	R0,R13
	DMOVB	R13,@_IO_UART8+8	; _IO_UART8
	._LINE	0, 33
	LDI:20	#_IO_UART8+8,R12
	BOR	#0x80,@R12
	._LINE	0, 35
	LDI	#1,R13
	DMOVB	R13,@_IO_UART8+13	; _IO_UART8
	._LINE	0, 36
	MOV	R0,R13
	DMOVB	R13,@_IO_UART8+12	; _IO_UART8
	._LINE	0, 39
	CALL32	_make_tx_data,R12
	._LINE	0, 41
	LDI:20	#_IO_UART8+3,R12
	BTSTL	#0x1,@R12
	BEQ32	L_23,R12
L_22:				// Pred: L_21
	._LINE	0, 42
	._LINE	0, 43
	LDI:32	#_err_flag,R12
	LDI	#1,R0
	ST	R0,@R12	; _err_flag
	._LINE	0, 44
	BRA32	L_25,R12
L_23:				// Pred: L_21
	._LINE	0, 46
	._LINE	0, 47
	BOR	#0x80,@R8
	._LINE	0, 48
L_25:				// Pred: L_23 L_22
	._LINE	0, 48
	._CONFIG	E
	._LINE	0, 49
	LD	@SP+,R8
	LEAVE
	LD	@SP+,RP
	RET
	._CONFIG	E
	.global	_make_tx_data
	._SYMBOL	"make_tx_data", F, 0x8000000f, E, "_make_tx_data", F
	._FPARAM	S, 0, F
	._FPARAM	E
	._CONFIG	S, F, 1
	._LINE	0, 53
_make_tx_data:
L_34:
	ST	RP,@-SP
	ENTER	#4
;-------end_of_no_optimize_block
	._FUNCTION	"fp", "fp", 16
	._CONFIG	S, B
L_35:				// Pred: L_34
	._LINE	0, 55
	LDI:32	#_slave_device_address,R12
	LDUB	@R12,R13	; _slave_device_address
	DMOVB	R13,@_IO_UART8+5	; _IO_UART8
	._LINE	0, 57
L_36:				// Pred: L_35
	._LINE	0, 57
	LDI:32	#_num,R0
	LDUB	@R0,R1	; _num
	LDI	#16,R12
	CMP	R12,R1
	BGE32	L_41,R12
L_37:				// Pred: L_36
	._LINE	0, 57
L_38:				// Pred: L_42 L_37
	._LINE	0, 57
	._LINE	0, 58
	LDUB	@R0,R13	; _num
	DMOVB	R13,@_IO_UART8+5	; _IO_UART8
	._LINE	0, 59
	LDUB	@R0,R1	; _num
	ADDN	#1,R1
	STB	R1,@R0	; _num
	._LINE	0, 60
L_39:				// Pred: L_38
	._LINE	0, 57
	LDUB	@R0,R1	; _num
	LDI	#16,R12
	CMP	R12,R1
	BGE32	L_41,R12
L_42:				// Pred: L_39
	._LINE	0, 60
	BRA32	L_38,R12
L_41:				// Pred: L_39 L_36
	._LINE	0, 60
	._CONFIG	E
	._LINE	0, 61
	LEAVE
	LD	@SP+,RP
	RET
	._CONFIG	E
	._SYMBOL	"err_flag", V, 0x80000005, E, "_err_flag"
	._SYMBOL	"slave_device_address", V, 0x80000002, E, "_slave_device_address"
	._SYMBOL	"num", V, 0x80000002, E, "_num"
	.end	

⌨️ 快捷键说明

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