📄 sube2p.asm
字号:
??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 + -