📄 subcmd.asm
字号:
??CFILE (C:\H8S\LTMeas\LTDriver\SubCmd.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\SubCmd.c)
??CFILE (H8S2144.h)
??CFILE (C:\H8S\LTMeas\LTDriver\SubCmd.c)
??CFILE (Data.h)
??CFILE (C:\H8S\LTMeas\LTDriver\SubCmd.c)
??CFILE (Extern.h)
??CFILE (C:\H8S\LTMeas\LTDriver\SubCmd.c)
segment TEXT ATR_CODE
public _rs_cmdcheck_job
_rs_cmdcheck_job:
PUSH.L ER6
MOV.L ER7,ER6
SUB.L #6,ER7
??FUNCDEF(???rs_cmdcheck_job) ??VOID
??FUNCEND
??BEGINBLOCK(98)
??VAR ??SSHORT ??SYMBOL(???ret) ??OFFSET(-2)
??VAR ??SSHORT ??SYMBOL(???i) ??OFFSET(-4)
??VAR ??USHORT ??SYMBOL(???cmdno) ??OFFSET(-6)
??CLINE 102
XOR.W R0,R0
MOV.W R0,@(-4,ER6)
BRA ?00001:8
?00000:
MOV.W @(-4,ER6),R0
INC.W #H'0001,R0
MOV.W R0,@(-4,ER6)
?00001:
MOV.W @(-4,ER6),R0
MOV.W @_g_RsRecv_CT,R1
CMP.W R1,R0
BGE ?00002:8
??BEGINBLOCK(103)
??CLINE 104
MOV.W @(-4,ER6),R0
EXTS.L ER0
MOV.L #_rs_rx_buf,ER1
ADD.L ER0,ER1
MOV.B @ER1,R1L
MOV.L #_g_RsRecv_Bf,ER2
ADD.L ER0,ER2
MOV.B R1L,@ER2
??ENDBLOCK(105)
BRA ?00000:8
?00002:
??CLINE 109
MOV.W @_g_RsRecv_CT,R0
CMP.W #H'0003,R0
BGE ?00003:8
??BEGINBLOCK(109)
??CLINE 110
JMP @?00004
??ENDBLOCK(111)
?00003:
??CLINE 113
JSR @_check_driverAddr
MOV.W R0,@(-2,ER6)
??CLINE 114
OR.W R0,R0
BEQ ?00005:8
??BEGINBLOCK(114)
??CLINE 115
JMP @?00004
??ENDBLOCK(116)
?00005:
??CLINE 120
JSR @_change_cmd2no
MOV.W R0,@(-6,ER6)
??CLINE 122
MOV.L #?00007,ER1
MOV.W #16,R2
MOV.L @ER1,ER3
CMP.W #0,R0
BLT ?00194:8
CMP.W R2,R0
BGT ?00194:8
ADDS #4,ER1
EXTU.L ER0
SHLL.L #2,ER0
ADD.L ER0,ER1
MOV.L @ER1,ER3
?00194:
JMP @ER3
??BEGINBLOCK(123)
?00010:
??CLINE 125
JSR @_set_if
MOV.W R0,@(-2,ER6)
??CLINE 126
JMP @?00008
?00011:
??CLINE 128
JSR @_set_duty
MOV.W R0,@(-2,ER6)
??CLINE 129
JMP @?00008
?00012:
??CLINE 131
JSR @_set_ifab
MOV.W R0,@(-2,ER6)
??CLINE 132
JMP @?00008
?00013:
??CLINE 134
JSR @_set_cwpls
MOV.W R0,@(-2,ER6)
??CLINE 135
JMP @?00008
?00014:
??CLINE 137
JSR @_set_onoff
MOV.W R0,@(-2,ER6)
??CLINE 138
JMP @?00008
?00015:
??CLINE 140
JSR @_set_pole
MOV.W R0,@(-2,ER6)
??CLINE 141
JMP @?00008
?00016:
??CLINE 143
JSR @_set_monitor
MOV.W R0,@(-2,ER6)
??CLINE 144
JMP @?00008
?00017:
??CLINE 146
JSR @_set_e2p
MOV.W R0,@(-2,ER6)
??CLINE 147
JMP @?00008
?00018:
??CLINE 149
JSR @_CH_clear
MOV.W R0,@(-2,ER6)
??CLINE 150
JMP @?00008
?00019:
??CLINE 152
JSR @_get_if
MOV.W R0,@(-2,ER6)
??CLINE 153
JMP @?00008
?00020:
??CLINE 155
JSR @_get_duty
MOV.W R0,@(-2,ER6)
??CLINE 156
JMP @?00008
?00021:
??CLINE 158
JSR @_get_ab
MOV.W R0,@(-2,ER6)
??CLINE 159
JMP @?00008
?00022:
??CLINE 161
JSR @_get_cwpls
MOV.W R0,@(-2,ER6)
??CLINE 162
BRA ?00008:8
?00023:
??CLINE 164
JSR @_get_pole
MOV.W R0,@(-2,ER6)
??CLINE 165
BRA ?00008:8
?00024:
??CLINE 167
JSR @_check_onoff
MOV.W R0,@(-2,ER6)
??CLINE 168
BRA ?00008:8
?00025:
??CLINE 170
JSR @_check_cover
MOV.W R0,@(-2,ER6)
??CLINE 171
BRA ?00008:8
?00009:
??CLINE 173
JSR @_rs_returnNG
??CLINE 174
BRA ?00008:8
??ENDBLOCK(175)
??CLINE 175
BRA ?00008:8
?00007:
DC.L ?00009
DC.L ?00009
DC.L ?00010
DC.L ?00011
DC.L ?00012
DC.L ?00013
DC.L ?00014
DC.L ?00015
DC.L ?00016
DC.L ?00017
DC.L ?00018
DC.L ?00019
DC.L ?00020
DC.L ?00021
DC.L ?00022
DC.L ?00023
DC.L ?00024
DC.L ?00025
?00008:
??CLINE 176
MOV.W #H'0002,R0
MOV.W R0,@_rs_rceving
?00004:
??CLINE 179
XOR.W R0,R0
MOV.W R0,@_g_RsRecv_CT
??ENDBLOCK(181)
??CLINE 181
_rs_cmdcheck_job_end:
MOV.L ER6,ER7
POP.L ER6
RTS
segment TEXT ATR_CODE
public _check_CH
_check_CH:
PUSH.L ER6
MOV.L ER7,ER6
SUB.L #8,ER7
??FUNCDEF(???check_CH) ??SSHORT
??VAR ??SSHORT ??SYMBOL(???flag) ??OFFSET(8)
??VAR ??POINTER ??SSHORT ??SYMBOL(???cha) ??OFFSET(10)
??VAR ??POINTER ??SSHORT ??SYMBOL(???pix) ??OFFSET(14)
??VAR ??POINTER ??SSHORT ??SYMBOL(???rang) ??OFFSET(18)
??FUNCEND
??BEGINBLOCK(186)
??VAR ??SSHORT ??SYMBOL(???ch) ??OFFSET(-2)
??VAR ??SSHORT ??SYMBOL(???pixel) ??OFFSET(-4)
??VAR ??SSHORT ??SYMBOL(???range) ??OFFSET(-6)
??VAR ??SSHORT ??SYMBOL(???data) ??OFFSET(-8)
??CLINE 191
MOV.L ER6,ER0
ADD.L #H'FFFFFFF8,ER0
PUSH.L ER0
MOV.W #H'0002,R0
PUSH.W R0
MOV.L #_g_RsRecv_Bf+4,ER1
PUSH.L ER1
JSR @_hextobi
ADD.L #H'0000000A,ER7
??CLINE 192
MOV.W @(-8,ER6),R0
MOV.W R0,@(-2,ER6)
??CLINE 193
CMP.W #H'0001,R0
BLT ?00027:8
MOV.W @(-2,ER6),R0
CMP.W #H'000A,R0
BLE ?00026:8
?00027:
??BEGINBLOCK(193)
??CLINE 194
JSR @_rs_returnNG
??CLINE 195
MOV.W #H'FFFF,R0
JMP @_check_CH_end
??ENDBLOCK(196)
?00026:
??CLINE 197
MOV.L @(+10,ER6),ER0
MOV.W @(-2,ER6),R1
MOV.W R1,@ER0
??CLINE 199
MOV.W @(+8,ER6),R0
CMP.W #H'0001,R0
BGT ?00028:8
??BEGINBLOCK(199)
??CLINE 201
MOV.L ER6,ER0
ADD.L #H'FFFFFFF8,ER0
PUSH.L ER0
MOV.W #H'0002,R0
PUSH.W R0
MOV.L #_g_RsRecv_Bf+6,ER1
PUSH.L ER1
JSR @_hextobi
ADD.L #H'0000000A,ER7
??CLINE 202
MOV.W @(-8,ER6),R0
MOV.W R0,@(-4,ER6)
??CLINE 203
CMP.W #H'0001,R0
BLT ?00030:8
MOV.W @(-4,ER6),R0
CMP.W #H'0004,R0
BLE ?00029:8
?00030:
??BEGINBLOCK(203)
??CLINE 204
JSR @_rs_returnNG
??CLINE 205
MOV.W #H'FFFF,R0
JMP @_check_CH_end
??ENDBLOCK(206)
?00029:
??CLINE 207
MOV.L @(+14,ER6),ER0
MOV.W @(-4,ER6),R1
MOV.W R1,@ER0
??ENDBLOCK(208)
?00028:
??CLINE 210
MOV.W @(+8,ER6),R0
CMP.W #H'0000,R0
BGT ?00031:8
??BEGINBLOCK(210)
??CLINE 212
MOV.L ER6,ER0
ADD.L #H'FFFFFFF8,ER0
PUSH.L ER0
MOV.W #H'0002,R0
PUSH.W R0
MOV.L #_g_RsRecv_Bf+8,ER1
PUSH.L ER1
JSR @_hextobi
ADD.L #H'0000000A,ER7
??CLINE 213
MOV.W @(-8,ER6),R0
MOV.W R0,@(-6,ER6)
??CLINE 214
CMP.W #H'0001,R0
BLT ?00033:8
MOV.W @(-6,ER6),R0
CMP.W #H'0003,R0
BLE ?00032:8
?00033:
??BEGINBLOCK(214)
??CLINE 215
JSR @_rs_returnNG
??CLINE 216
MOV.W #H'FFFF,R0
BRA _check_CH_end:8
??ENDBLOCK(217)
?00032:
??CLINE 218
MOV.L @(+18,ER6),ER0
MOV.W @(-6,ER6),R1
MOV.W R1,@ER0
??ENDBLOCK(219)
?00031:
??CLINE 220
XOR.W R0,R0
??ENDBLOCK(221)
??CLINE 221
_check_CH_end:
MOV.L ER6,ER7
POP.L ER6
RTS
segment TEXT ATR_CODE
public _set_if
_set_if:
PUSH.L ER6
MOV.L ER7,ER6
SUB.L #12,ER7
??FUNCDEF(???set_if) ??SSHORT
??FUNCEND
??BEGINBLOCK(224)
??VAR ??USHORT ??SYMBOL(???ch) ??OFFSET(-2)
??VAR ??USHORT ??SYMBOL(???pixel) ??OFFSET(-4)
??VAR ??SSHORT ??SYMBOL(???range) ??OFFSET(-6)
??VAR ??SSHORT ??SYMBOL(???ifdat) ??OFFSET(-8)
??VAR ??SSHORT ??SYMBOL(???data) ??OFFSET(-10)
??VAR ??SSHORT ??SYMBOL(???ret) ??OFFSET(-12)
??CLINE 230
MOV.W @_g_RsRecv_CT,R0
CMP.W #H'000F,R0
BEQ ?00034:8
??BEGINBLOCK(230)
??CLINE 231
JSR @_rs_returnNG
??CLINE 232
MOV.W #H'FFFF,R0
JMP @_set_if_end
??ENDBLOCK(233)
?00034:
??CLINE 235
MOV.L ER6,ER0
ADD.L #H'FFFFFFFA,ER0
PUSH.L ER0
MOV.L ER6,ER0
ADD.L #H'FFFFFFFC,ER0
PUSH.L ER0
MOV.L ER6,ER0
ADD.L #H'FFFFFFFE,ER0
PUSH.L ER0
XOR.W R0,R0
PUSH.W R0
JSR @_check_CH
ADD.L #H'0000000E,ER7
MOV.W R0,@(-12,ER6)
??CLINE 236
OR.W R0,R0
BEQ ?00035:8
??BEGINBLOCK(236)
??CLINE 237
JSR @_rs_returnNG
??CLINE 238
MOV.W #H'FFFF,R0
JMP @_set_if_end
??ENDBLOCK(239)
?00035:
??CLINE 242
MOV.L ER6,ER0
ADD.L #H'FFFFFFF6,ER0
PUSH.L ER0
MOV.W #H'0004,R0
PUSH.W R0
MOV.L #_g_RsRecv_Bf+11,ER1
PUSH.L ER1
JSR @_hextobi5
ADD.L #H'0000000A,ER7
??CLINE 243
MOV.W @(-10,ER6),R0
MOV.W R0,@(-8,ER6)
??CLINE 244
MOV.L #_g_RsRecv_Bf+10,ER1
MOV.B @ER1,R2L
EXTU.W R2
CMP.W #H'002D,R2
BNE ?00036:8
??BEGINBLOCK(244)
??CLINE 245
XOR.W R0,R0
MOV.W @(-8,ER6),R1
SUB.W R1,R0
MOV.W R0,@(-8,ER6)
??ENDBLOCK(246)
?00036:
??CLINE 248
MOV.W @(-2,ER6),R0
PUSH.W R0
JSR @_select_ch
ADDS.L #H'00000002,ER7
MOV.W R0,@(-12,ER6)
??CLINE 249
OR.W R0,R0
BEQ ?00037:8
??BEGINBLOCK(249)
??CLINE 250
JSR @_rs_returnNG
??CLINE 251
MOV.W #H'FFFF,R0
JMP @_set_if_end
??ENDBLOCK(252)
?00037:
??CLINE 253
MOV.W @(-2,ER6),R0
SUBS.L #H'00000001,ER0
EXTU.L ER0
SHLL.L #H'00000002,ER0
SHLL.L ER0
MOV.L #_g_SetIf,ER1
ADD.L ER0,ER1
MOV.W @(-4,ER6),R0
SUBS.L #H'00000001,ER0
EXTU.L ER0
SHLL.L ER0
ADD.L ER0,ER1
MOV.W @(-8,ER6),R0
MOV.W R0,@ER1
??CLINE 256
MOV.W @(-2,ER6),R0
SUBS.L #H'00000001,ER0
EXTU.L ER0
SHLL.L ER0
MOV.L #_g_Range,ER1
ADD.L ER0,ER1
MOV.W @ER1,R0
MOV.W @(-6,ER6),R1
CMP.W R1,R0
BEQ ?00038:8
??BEGINBLOCK(256)
??CLINE 257
MOV.W @(-2,ER6),R0
SUBS.L #H'00000001,ER0
EXTU.L ER0
SHLL.L ER0
MOV.L #_g_DrivePole,ER1
ADD.L ER0,ER1
MOV.W @ER1,R0
PUSH.W R0
MOV.W @(-6,ER6),R0
PUSH.W R0
JSR @_range_out
ADDS.L #H'00000004,ER7
MOV.W R0,@(-12,ER6)
??CLINE 258
OR.W R0,R0
BEQ ?00039:8
??BEGINBLOCK(258)
??CLINE 259
JSR @_rs_returnNG
??CLINE 260
MOV.W #H'FFFF,R0
BRA _set_if_end:8
??ENDBLOCK(261)
?00039:
??CLINE 262
MOV.W @(-2,ER6),R0
SUBS.L #H'00000001,ER0
EXTU.L ER0
SHLL.L ER0
MOV.L #_g_Range,ER1
ADD.L ER0,ER1
MOV.W @(-6,ER6),R0
MOV.W R0,@ER1
??ENDBLOCK(263)
?00038:
??CLINE 265
MOV.W @(-8,ER6),R0
PUSH.W R0
MOV.W @(-4,ER6),R1
PUSH.W R1
JSR @_set_daif
ADDS.L #H'00000004,ER7
MOV.W R0,@(-12,ER6)
??CLINE 267
JSR @_rs_returnOK
??CLINE 268
XOR.W R0,R0
??ENDBLOCK(269)
??CLINE 269
_set_if_end:
MOV.L ER6,ER7
POP.L ER6
RTS
segment TEXT ATR_CODE
public _set_duty
_set_duty:
PUSH.L ER6
MOV.L ER7,ER6
SUB.L #12,ER7
??FUNCDEF(???set_duty) ??SSHORT
??FUNCEND
??BEGINBLOCK(273)
??VAR ??USHORT ??SYMBOL(???ch) ??OFFSET(-2)
??VAR ??USHORT ??SYMBOL(???pixel) ??OFFSET(-4)
??VAR ??SSHORT ??SYMBOL(???range) ??OFFSET(-6)
??VAR ??SSHORT ??SYMBOL(???dutydat) ??OFFSET(-8)
??VAR ??SSHORT ??SYMBOL(???data) ??OFFSET(-10)
??VAR ??SSHORT ??SYMBOL(???ret) ??OFFSET(-12)
??CLINE 279
MOV.W @_g_RsRecv_CT,R0
CMP.W #H'000D,R0
BEQ ?00040:8
??BEGINBLOCK(279)
??CLINE 280
JSR @_rs_returnNG
??CLINE 281
MOV.W #H'FFFF,R0
JMP @_set_duty_end
??ENDBLOCK(282)
?00040:
??CLINE 284
MOV.L ER6,ER0
ADD.L #H'FFFFFFFA,ER0
PUSH.L ER0
MOV.L ER6,ER0
ADD.L #H'FFFFFFFC,ER0
PUSH.L ER0
MOV.L ER6,ER0
ADD.L #H'FFFFFFFE,ER0
PUSH.L ER0
MOV.W #H'0001,R0
PUSH.W R0
JSR @_check_CH
ADD.L #H'0000000E,ER7
MOV.W R0,@(-12,ER6)
??CLINE 285
OR.W R0,R0
BEQ ?00041:8
??BEGINBLOCK(285)
??CLINE 286
JSR @_rs_returnNG
??CLINE 287
MOV.W #H'FFFF,R0
JMP @_set_duty_end
??ENDBLOCK(288)
?00041:
??CLINE 291
MOV.L ER6,ER0
ADD.L #H'FFFFFFF6,ER0
PUSH.L ER0
MOV.W #H'0004,R0
PUSH.W R0
MOV.L #_g_RsRecv_Bf+9,ER1
PUSH.L ER1
JSR @_hextobi5
ADD.L #H'0000000A,ER7
??CLINE 292
MOV.W @(-10,ER6),R0
MOV.W R0,@(-8,ER6)
??CLINE 294
MOV.W @(-2,ER6),R1
PUSH.W R1
JSR @_select_ch
ADDS.L #H'00000002,ER7
MOV.W R0,@(-12,ER6)
??CLINE 295
OR.W R0,R0
BEQ ?00042:8
??BEGINBLOCK(295)
??CLINE 296
JSR @_rs_returnNG
??CLINE 297
MOV.W #H'FFFF,R0
BRA _set_duty_end:8
??ENDBLOCK(298)
?00042:
??CLINE 299
MOV.W @(-2,ER6),R0
SUBS.L #H'00000001,ER0
EXTU.L ER0
SHLL.L #H'00000002,ER0
SHLL.L ER0
MOV.L #_g_Duty,ER1
ADD.L ER0,ER1
MOV.W @(-4,ER6),R0
SUBS.L #H'00000001,ER0
EXTU.L ER0
SHLL.L ER0
ADD.L ER0,ER1
MOV.W @(-8,ER6),R0
MOV.W R0,@ER1
??CLINE 301
MOV.W @(-8,ER6),R0
PUSH.W R0
MOV.W @(-4,ER6),R1
PUSH.W R1
JSR @_duty_out
ADDS.L #H'00000004,ER7
MOV.W R0,@(-12,ER6)
??CLINE 303
JSR @_rs_returnOK
??CLINE 304
XOR.W R0,R0
??ENDBLOCK(305)
??CLINE 305
_set_duty_end:
MOV.L ER6,ER7
POP.L ER6
RTS
segment TEXT ATR_CODE
public _set_ifab
_set_ifab:
PUSH.L ER6
MOV.L ER7,ER6
SUB.L #14,ER7
??FUNCDEF(???set_ifab) ??SSHORT
??FUNCEND
??BEGINBLOCK(308)
??VAR ??USHORT ??SYMBOL(???ch) ??OFFSET(-2)
??VAR ??USHORT ??SYMBOL(???pixel) ??OFFSET(-4)
??VAR ??SSHORT ??SYMBOL(???range) ??OFFSET(-6)
??VAR ??SSHORT ??SYMBOL(???ifdata) ??OFFSET(-8)
??VAR ??SSHORT ??SYMBOL(???ifdatb) ??OFFSET(-10)
??VAR ??SSHORT ??SYMBOL(???data) ??OFFSET(-12)
??VAR ??SSHORT ??SYMBOL(???ret) ??OFFSET(-14)
??CLINE 314
MOV.W @_g_RsRecv_CT,R0
CMP.W #H'0014,R0
BEQ ?00043:8
??BEGINBLOCK(314)
??CLINE 315
JSR @_rs_returnNG
??CLINE 316
MOV.W #H'FFFF,R0
JMP @_set_ifab_end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -