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

📄 sube2p.asm

📁 日立单片机H8S2144例程.包括AD,DA等程序(用于光源)但对于H8S2144使用者来说有很大的帮助.
💻 ASM
📖 第 1 页 / 共 2 页
字号:
??CFILE (C:\H8S\LTMeas\LTDriver\SubE2p.c)
??CFILE (global.h)
??CFILE ($$string.h)
??CFILE ($$stddef.h)
??CFILE ($$string.h)
??CFILE (global.h)
??CFILE ($$stdio.h)
??CFILE ($$stdarg.h)
??CFILE ($$stdio.h)
??STRUCTDEF(???_iobuf,1,5,8)
??VAR ??UINT ??SYMBOL(???flag) ??OFFSET(0)
??VAR ??UINT ??SYMBOL(???fd) ??OFFSET(2)
??VAR ??SINT ??SYMBOL(???hold) ??OFFSET(4)
??VAR ??UCHAR ??SYMBOL(???use) ??OFFSET(6)
??VAR ??UCHAR ??SYMBOL(???state) ??OFFSET(7)
??STRUCTEND
??STRUCTDEF(???_iobtmp,2,2,10)
??VAR ??SCHAR ??SYMBOL(???use) ??OFFSET(0)
??VAR ??STRUCT(???_iobuf,1) ??SYMBOL(???file) ??OFFSET(2)
??STRUCTEND
??CFILE (global.h)
??CFILE ($$stdlib.h)
??STRUCTDEF(???div_t,3,2,4)
??VAR ??SINT ??SYMBOL(???quot) ??OFFSET(0)
??VAR ??SINT ??SYMBOL(???rem) ??OFFSET(2)
??STRUCTEND
??STRUCTDEF(???ldiv_t,4,2,8)
??VAR ??SLONG ??SYMBOL(???quot) ??OFFSET(0)
??VAR ??SLONG ??SYMBOL(???rem) ??OFFSET(4)
??STRUCTEND
??CFILE (global.h)
??CFILE ($$math.h)
??CFILE (global.h)
??CFILE (C:\H8S\LTMeas\LTDriver\SubE2p.c)
??CFILE (H8S2144.h)
??CFILE (C:\H8S\LTMeas\LTDriver\SubE2p.c)
??CFILE (Extern.h)
??CFILE (C:\H8S\LTMeas\LTDriver\SubE2p.c)
??CFILE (Data.h)
??CFILE (C:\H8S\LTMeas\LTDriver\SubE2p.c)
	segment	TEXT ATR_CODE
public	_e2prom_rd_pro
_e2prom_rd_pro:
	PUSH.L	ER6
	MOV.L	ER7,ER6
	SUB.L	#28,ER7
                         
??FUNCDEF(???e2prom_rd_pro) ??VOID
??FUNCEND
??BEGINBLOCK(37)
??VAR ??UCHAR ??SYMBOL(???ichr) ??OFFSET(-1)
??VAR ??UCHAR ??SYMBOL(???jchr) ??OFFSET(-2)
??VAR ??SLONG ??SYMBOL(???iconv) ??OFFSET(-6)
??VAR ??POINTER ??USHORT ??SYMBOL(???adrs_base) ??OFFSET(-10)
??VAR ??POINTER ??UCHAR ??SYMBOL(???const_adr1) ??OFFSET(-14)
??VAR ??POINTER ??UCHAR ??SYMBOL(???const_adr2) ??OFFSET(-18)
??VAR ??SSHORT ??SYMBOL(???i) ??OFFSET(-20)
??VAR ??SSHORT ??SYMBOL(???j) ??OFFSET(-22)
??VAR ??SSHORT ??SYMBOL(???k) ??OFFSET(-24)
??VAR ??SSHORT ??SYMBOL(???m) ??OFFSET(-26)
??VAR ??SSHORT ??SYMBOL(???n) ??OFFSET(-28)
??CLINE 44
	MOV.L	#_const_start,ER0
	MOV.L	ER0,@(-10,ER6)
??CLINE 45
	MOV.L	ER0,@(-14,ER6)
??CLINE 46
	MOV.L	#_const_end,ER1
	MOV.L	ER1,@(-10,ER6)
??CLINE 47
	MOV.L	ER1,@(-18,ER6)
??CLINE 48
	MOV.L	ER0,ER2
	MOV.L	ER1,ER3
	SUB.L	ER2,ER3
	EXTS.L	ER3
	MOV.L	ER3,@(-6,ER6)
??CLINE 49
	MOV.L	ER3,ER2
	MOV.L	#H'00000010,ER4
	PUSH.L	ER2
	PUSH.L	ER4
	JSR	@__l_divs
	ADDS.L	#H'00000004,ER7
	POP.L	ER2
	ADDS.L	#H'00000001,ER2
	MOV.W	R2,@(-24,ER6)
??CLINE 51
	MOV.W	#H'0002,R0
	PUSH.W	R0
	JSR	@_intmask
	ADDS.L	#H'00000002,ER7
??CLINE 53
	XOR.W	R0,R0
	MOV.W	R0,@(-28,ER6)
??CLINE 55
	MOV.W	R0,@(-20,ER6)
	BRA	?00001:8
?00000:
	MOV.W	@(-20,ER6),R0
	INC.W	#H'0001,R0
	MOV.W	R0,@(-20,ER6)
?00001:
	MOV.W	@(-20,ER6),R0
	MOV.W	@(-24,ER6),R1
	CMP.W	R1,R0
	BGE	?00002
??BEGINBLOCK(56)
??CLINE 58
	XOR.B	R0L,R0L
	MOV.B	R0L,@(-1,ER6)
??CLINE 59
	MOV.B	R0L,R1L
	OR.B	#H'04,R1L
	MOV.B	R1L,@(-1,ER6)
??CLINE 60
	MOV.B	R1L,R2L
	OR.B	#H'01,R2L
	MOV.B	R2L,@(-1,ER6)
??CLINE 61
	MOV.L	#H'00FFFFBF,ER1
	MOV.B	R2L,@ER1
??CLINE 62
	JSR	@_mk_pls_wide
??CLINE 64
	MOV.B	@(-1,ER6),R0L
	AND.B	#H'FE,R0L
	MOV.B	R0L,@(-1,ER6)
??CLINE 65
	MOV.L	#H'00FFFFBF,ER1
	MOV.B	R0L,@ER1
??CLINE 66
	JSR	@_mk_pls_wide
??CLINE 68
	MOV.B	@(-1,ER6),R0L
	AND.B	#H'F8,R0L
	MOV.B	R0L,@(-1,ER6)
??CLINE 69
	MOV.L	#H'00FFFFBF,ER1
	MOV.B	R0L,@ER1
??CLINE 70
	JSR	@_mk_pls_wide
??CLINE 72
	MOV.W	@(-28,ER6),R0
	SHAR.W	#H'0002,R0
	SHAR.W	#H'0002,R0
	SHAR.W	#H'0002,R0
	SHAR.W	R0
	AND.W	#H'000E,R0
	MOV.W	R0,@(-26,ER6)
??CLINE 74
	MOV.W	R0,R1
	EXTU.W	R1
	OR.W	#H'00A0,R1
	MOV.B	R1L,@(-2,ER6)
??CLINE 75
	MOV.B	R1L,R2L
	EXTU.W	R2
	PUSH.W	R2
	JSR	@_e2p_bytout
	ADDS.L	#H'00000002,ER7
??CLINE 77
	MOV.W	@(-28,ER6),R0
	AND.W	#H'00FF,R0
	MOV.B	R0L,@(-2,ER6)
??CLINE 78
	MOV.B	R0L,R1L
	EXTU.W	R1
	PUSH.W	R1
	JSR	@_e2p_bytout
	ADDS.L	#H'00000002,ER7
??CLINE 81
	XOR.B	R0L,R0L
	MOV.B	R0L,@(-1,ER6)
??CLINE 82
	MOV.B	R0L,R1L
	OR.B	#H'01,R1L
	MOV.B	R1L,@(-1,ER6)
??CLINE 83
	MOV.L	#H'00FFFFBF,ER2
	MOV.B	R1L,@ER2
??CLINE 84
	JSR	@_mk_pls_wide
??CLINE 86
	MOV.B	@(-1,ER6),R0L
	OR.B	#H'04,R0L
	MOV.B	R0L,@(-1,ER6)
??CLINE 87
	MOV.L	#H'00FFFFBF,ER1
	MOV.B	R0L,@ER1
??CLINE 88
	JSR	@_mk_pls_wide
??CLINE 90
	MOV.B	@(-1,ER6),R0L
	AND.B	#H'FE,R0L
	MOV.B	R0L,@(-1,ER6)
??CLINE 91
	MOV.L	#H'00FFFFBF,ER1
	MOV.B	R0L,@ER1
??CLINE 92
	JSR	@_mk_pls_wide
??CLINE 94
	XOR.B	R0L,R0L
	MOV.B	R0L,@(-1,ER6)
??CLINE 95
	MOV.L	#H'00FFFFBF,ER1
	MOV.B	R0L,@ER1
??CLINE 96
	JSR	@_mk_pls_wide
??CLINE 98
	MOV.W	@(-28,ER6),R0
	SHAR.W	#H'0002,R0
	SHAR.W	#H'0002,R0
	SHAR.W	#H'0002,R0
	SHAR.W	R0
	AND.W	#H'0007,R0
	MOV.W	R0,@(-26,ER6)
??CLINE 99
	MOV.W	R0,R1
	EXTU.W	R1
	OR.W	#H'00A1,R1
	MOV.B	R1L,@(-2,ER6)
??CLINE 100
	MOV.B	R1L,R2L
	EXTU.W	R2
	PUSH.W	R2
	JSR	@_e2p_bytout
	ADDS.L	#H'00000002,ER7
??CLINE 103
	XOR.W	R0,R0
	MOV.W	R0,@(-22,ER6)
	BRA	?00004:8
?00003:
	MOV.W	@(-22,ER6),R0
	INC.W	#H'0001,R0
	MOV.W	R0,@(-22,ER6)
?00004:
	MOV.W	@(-22,ER6),R0
	CMP.W	#H'000F,R0
	BGE	?00005:8
??BEGINBLOCK(104)
??CLINE 105
	MOV.L	ER6,ER0
	ADD.L	#H'FFFFFFFE,ER0
	PUSH.L	ER0
	JSR	@_e2p_bytin
	ADDS.L	#H'00000004,ER7
??CLINE 106
	MOV.L	@(-14,ER6),ER0
	MOV.L	@(-14,ER6),ER1
	INC.L	#H'00000001,ER1
	MOV.L	ER1,@(-14,ER6)
	MOV.B	@(-2,ER6),R2L
	MOV.B	R2L,@ER0
??CLINE 107
	XOR.B	R0L,R0L
	MOV.B	R0L,@(-1,ER6)
??CLINE 108
	MOV.B	R0L,R1L
	EXTU.W	R1
	PUSH.W	R1
	JSR	@_bit_out_e2p
	ADDS.L	#H'00000002,ER7
??ENDBLOCK(109)
	BRA	?00003:8
?00005:
??CLINE 110
	MOV.L	ER6,ER0
	ADD.L	#H'FFFFFFFE,ER0
	PUSH.L	ER0
	JSR	@_e2p_bytin
	ADDS.L	#H'00000004,ER7
??CLINE 111
	MOV.L	@(-14,ER6),ER0
	MOV.L	@(-14,ER6),ER1
	INC.L	#H'00000001,ER1
	MOV.L	ER1,@(-14,ER6)
	MOV.B	@(-2,ER6),R2L
	MOV.B	R2L,@ER0
??CLINE 112
	MOV.B	#H'01,R0L
	MOV.B	R0L,@(-1,ER6)
??CLINE 113
	MOV.B	R0L,R1L
	EXTU.W	R1
	PUSH.W	R1
	JSR	@_bit_out_e2p
	ADDS.L	#H'00000002,ER7
??CLINE 115
	XOR.B	R0L,R0L
	MOV.B	R0L,@(-1,ER6)
??CLINE 116
	MOV.L	#H'00FFFFBF,ER1
	MOV.B	R0L,@ER1
??CLINE 117
	JSR	@_mk_pls_wide
??CLINE 118
	MOV.B	@(-1,ER6),R0L
	OR.B	#H'04,R0L
	MOV.B	R0L,@(-1,ER6)
??CLINE 119
	MOV.L	#H'00FFFFBF,ER1
	MOV.B	R0L,@ER1
??CLINE 120
	JSR	@_mk_pls_wide
??CLINE 121
	MOV.B	@(-1,ER6),R0L
	OR.B	#H'01,R0L
	MOV.B	R0L,@(-1,ER6)
??CLINE 122
	MOV.L	#H'00FFFFBF,ER1
	MOV.B	R0L,@ER1
??CLINE 123
	JSR	@_mk_pls_wide
??CLINE 124
	JSR	@_wait_e2p
??CLINE 125
	MOV.W	@(-28,ER6),R0
	ADD.W	#H'0010,R0
	MOV.W	R0,@(-28,ER6)
??ENDBLOCK(126)
	JMP	@?00000
?00002:
??CLINE 127
	XOR.W	R0,R0
	PUSH.W	R0
	JSR	@_intmask
	ADDS.L	#H'00000002,ER7
??ENDBLOCK(128)
??CLINE 128
_e2prom_rd_pro_end:

	MOV.L	ER6,ER7
	POP.L	ER6
	RTS

	segment	TEXT ATR_CODE
public	_e2prom_wt_pro
_e2prom_wt_pro:
	PUSH.L	ER6
	MOV.L	ER7,ER6
	SUB.L	#28,ER7
                         
??FUNCDEF(???e2prom_wt_pro) ??VOID
??FUNCEND
??BEGINBLOCK(132)
??VAR ??UCHAR ??SYMBOL(???ichr) ??OFFSET(-1)
??VAR ??UCHAR ??SYMBOL(???jchr) ??OFFSET(-2)
??VAR ??SLONG ??SYMBOL(???iconv) ??OFFSET(-6)
??VAR ??POINTER ??USHORT ??SYMBOL(???adrs_base) ??OFFSET(-10)
??VAR ??POINTER ??UCHAR ??SYMBOL(???const_adr1) ??OFFSET(-14)
??VAR ??POINTER ??UCHAR ??SYMBOL(???const_adr2) ??OFFSET(-18)
??VAR ??SSHORT ??SYMBOL(???i) ??OFFSET(-20)
??VAR ??SSHORT ??SYMBOL(???j) ??OFFSET(-22)
??VAR ??SSHORT ??SYMBOL(???k) ??OFFSET(-24)
??VAR ??SSHORT ??SYMBOL(???m) ??OFFSET(-26)
??VAR ??SSHORT ??SYMBOL(???n) ??OFFSET(-28)
??CLINE 139
	MOV.L	#_const_start,ER0
	MOV.L	ER0,@(-10,ER6)
??CLINE 140
	MOV.L	ER0,@(-14,ER6)
??CLINE 141
	MOV.L	#_const_end,ER1
	MOV.L	ER1,@(-10,ER6)
??CLINE 142
	MOV.L	ER1,@(-18,ER6)
??CLINE 144
	MOV.L	ER0,ER2
	MOV.L	ER1,ER3
	SUB.L	ER2,ER3
	EXTS.L	ER3
	MOV.L	ER3,@(-6,ER6)
??CLINE 145
	MOV.L	ER3,ER2
	MOV.L	#H'00000010,ER4
	PUSH.L	ER2
	PUSH.L	ER4
	JSR	@__l_divs
	ADDS.L	#H'00000004,ER7
	POP.L	ER2
	ADDS.L	#H'00000001,ER2
	MOV.W	R2,@(-24,ER6)
??CLINE 147
	MOV.W	#H'0002,R0
	PUSH.W	R0
	JSR	@_intmask
	ADDS.L	#H'00000002,ER7
??CLINE 148
	XOR.W	R0,R0
	MOV.W	R0,@(-28,ER6)
??CLINE 150
	MOV.W	R0,@(-20,ER6)
	BRA	?00007:8
?00006:
	MOV.W	@(-20,ER6),R0
	INC.W	#H'0001,R0
	MOV.W	R0,@(-20,ER6)
?00007:
	MOV.W	@(-20,ER6),R0
	MOV.W	@(-24,ER6),R1
	CMP.W	R1,R0
	BGE	?00008
??BEGINBLOCK(151)
??CLINE 153
	XOR.B	R0L,R0L
	MOV.B	R0L,@(-1,ER6)
??CLINE 154
	MOV.B	R0L,R1L
	OR.B	#H'04,R1L
	MOV.B	R1L,@(-1,ER6)
??CLINE 155
	MOV.B	R1L,R2L
	OR.B	#H'01,R2L
	MOV.B	R2L,@(-1,ER6)
??CLINE 156
	MOV.L	#H'00FFFFBF,ER1
	MOV.B	R2L,@ER1
??CLINE 157
	JSR	@_mk_pls_wide
??CLINE 159
	MOV.B	@(-1,ER6),R0L
	AND.B	#H'FE,R0L
	MOV.B	R0L,@(-1,ER6)
??CLINE 160
	MOV.L	#H'00FFFFBF,ER1
	MOV.B	R0L,@ER1
??CLINE 161
	JSR	@_mk_pls_wide
??CLINE 163
	MOV.B	@(-1,ER6),R0L
	AND.B	#H'F8,R0L
	MOV.B	R0L,@(-1,ER6)
??CLINE 164
	MOV.L	#H'00FFFFBF,ER1
	MOV.B	R0L,@ER1
??CLINE 165
	JSR	@_mk_pls_wide
??CLINE 167
	MOV.W	@(-28,ER6),R0
	SHAR.W	#H'0002,R0
	SHAR.W	#H'0002,R0
	SHAR.W	#H'0002,R0
	SHAR.W	R0
	AND.W	#H'0007,R0
	MOV.W	R0,@(-26,ER6)
??CLINE 168
	MOV.W	R0,R1
	EXTU.W	R1
	OR.W	#H'00A0,R1
	MOV.B	R1L,@(-2,ER6)
??CLINE 169
	MOV.B	R1L,R2L
	EXTU.W	R2
	PUSH.W	R2
	JSR	@_e2p_bytout
	ADDS.L	#H'00000002,ER7
??CLINE 170
	MOV.W	@(-28,ER6),R0
	AND.W	#H'00FF,R0
	MOV.B	R0L,@(-2,ER6)
??CLINE 171
	MOV.B	R0L,R1L
	EXTU.W	R1
	PUSH.W	R1
	JSR	@_e2p_bytout
	ADDS.L	#H'00000002,ER7
??CLINE 174
	XOR.W	R0,R0
	MOV.W	R0,@(-22,ER6)
	BRA	?00010:8
?00009:
	MOV.W	@(-22,ER6),R0
	INC.W	#H'0001,R0
	MOV.W	R0,@(-22,ER6)
?00010:
	MOV.W	@(-22,ER6),R0
	CMP.W	#H'0010,R0
	BGE	?00011:8
??BEGINBLOCK(174)
??CLINE 175
	MOV.L	@(-14,ER6),ER0
	MOV.L	@(-14,ER6),ER1
	INC.L	#H'00000001,ER1
	MOV.L	ER1,@(-14,ER6)
	MOV.B	@ER0,R0L
	MOV.B	R0L,@(-2,ER6)
??CLINE 176
	MOV.B	R0L,R2L
	EXTU.W	R2
	PUSH.W	R2
	JSR	@_e2p_bytout
	ADDS.L	#H'00000002,ER7
??ENDBLOCK(177)
	BRA	?00009:8
?00011:
??CLINE 179
	XOR.B	R0L,R0L
	MOV.B	R0L,@(-1,ER6)
??CLINE 180
	MOV.L	#H'00FFFFBF,ER1
	MOV.B	R0L,@ER1
??CLINE 181
	JSR	@_mk_pls_wide
??CLINE 182
	MOV.B	@(-1,ER6),R0L
	OR.B	#H'04,R0L
	MOV.B	R0L,@(-1,ER6)
??CLINE 183
	MOV.L	#H'00FFFFBF,ER1
	MOV.B	R0L,@ER1
??CLINE 184
	JSR	@_mk_pls_wide
??CLINE 185
	MOV.B	@(-1,ER6),R0L
	OR.B	#H'01,R0L
	MOV.B	R0L,@(-1,ER6)
??CLINE 186
	MOV.L	#H'00FFFFBF,ER1
	MOV.B	R0L,@ER1
??CLINE 187
	JSR	@_mk_pls_wide
??CLINE 188
	JSR	@_wait_e2p
??CLINE 189
	MOV.W	@(-28,ER6),R0
	ADD.W	#H'0010,R0
	MOV.W	R0,@(-28,ER6)
??ENDBLOCK(190)
	JMP	@?00006
?00008:
??CLINE 191
	XOR.W	R0,R0
	PUSH.W	R0
	JSR	@_intmask
	ADDS.L	#H'00000002,ER7
??ENDBLOCK(192)
??CLINE 192
_e2prom_wt_pro_end:

	MOV.L	ER6,ER7
	POP.L	ER6
	RTS

	segment	TEXT ATR_CODE
public	_e2p_bytin
_e2p_bytin:
	PUSH.L	ER6
	MOV.L	ER7,ER6
	SUB.L	#6,ER7
                          
??FUNCDEF(???e2p_bytin) ??VOID
??VAR ??POINTER ??UCHAR ??SYMBOL(???uchr) ??OFFSET(8)
??FUNCEND
??BEGINBLOCK(196)
??VAR ??UCHAR ??SYMBOL(???ichr) ??OFFSET(-1)
??VAR ??UCHAR ??SYMBOL(???jchr) ??OFFSET(-2)
??VAR ??UCHAR ??SYMBOL(???kchr) ??OFFSET(-3)
??VAR ??SSHORT ??SYMBOL(???i) ??OFFSET(-6)
??CLINE 199
	MOV.B	#H'80,R0L
	MOV.B	R0L,@(-2,ER6)
??CLINE 200
	XOR.B	R1L,R1L
	MOV.B	R1L,@(-1,ER6)
??CLINE 202
	XOR.W	R2,R2
	MOV.W	R2,@(-6,ER6)
	BRA	?00013:8
?00012:
	MOV.W	@(-6,ER6),R0
	INC.W	#H'0001,R0
	MOV.W	R0,@(-6,ER6)
?00013:
	MOV.W	@(-6,ER6),R0
	CMP.W	#H'0008,R0
	BGE	?00014:8
??BEGINBLOCK(203)
??CLINE 204
	MOV.L	ER6,ER0
	ADD.L	#H'FFFFFFFD,ER0
	PUSH.L	ER0
	JSR	@_bit_in_e2p
	ADDS.L	#H'00000004,ER7
??CLINE 205
	MOV.B	@(-3,ER6),R0L
	OR.B	R0L,R0L
	BEQ	?00015:8
??BEGINBLOCK(205)
??CLINE 206
	MOV.B	@(-1,ER6),R0L
	MOV.B	@(-2,ER6),R1L
	OR.B	R1L,R0L
	MOV.B	R0L,@(-1,ER6)
??ENDBLOCK(207)
?00015:
??CLINE 208
	MOV.B	@(-2,ER6),R0L

⌨️ 快捷键说明

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