📄 subrs.asm
字号:
??CFILE (C:\H8S\LTMeas\LTDriver\SubRs.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\SubRs.c)
??CFILE (data.h)
??CFILE (C:\H8S\LTMeas\LTDriver\SubRs.c)
??CFILE (extern.h)
??CFILE (C:\H8S\LTMeas\LTDriver\SubRs.c)
??CFILE (H8S2144.h)
??CFILE (C:\H8S\LTMeas\LTDriver\SubRs.c)
segment TEXT ATR_CODE
public _wait_rs_send
_wait_rs_send:
PUSH.L ER6
MOV.L ER7,ER6
SUBS #4,ER7
??FUNCDEF(???wait_rs_send) ??VOID
??FUNCEND
??BEGINBLOCK(18)
??VAR ??USHORT ??SYMBOL(???i) ??OFFSET(-2)
??VAR ??USHORT ??SYMBOL(???j) ??OFFSET(-4)
??CLINE 21
XOR.W R0,R0
MOV.W R0,@(-2,ER6)
BRA ?00001:8
?00000:
MOV.W @(-2,ER6),R0
INC.W #H'0001,R0
MOV.W R0,@(-2,ER6)
?00001:
MOV.W @(-2,ER6),R0
CMP.W #H'1388,R0
BCC ?00002:8
??BEGINBLOCK(21)
MOV.W @(-2,ER6),R0
MOV.W R0,@(-4,ER6)
??ENDBLOCK(21)
BRA ?00000:8
?00002:
??ENDBLOCK(22)
??CLINE 22
_wait_rs_send_end:
MOV.L ER6,ER7
POP.L ER6
RTS
segment TEXT ATR_CODE
public _rs_send_enable
_rs_send_enable:
PUSH.L ER6
MOV.L ER7,ER6
??FUNCDEF(???rs_send_enable) ??VOID
??VAR ??SSHORT ??SYMBOL(???flag) ??OFFSET(8)
??FUNCEND
??BEGINBLOCK(34)
??CLINE 35
MOV.W @(+8,ER6),R0
CMP.W #H'0001,R0
BNE ?00003:8
??BEGINBLOCK(35)
??CLINE 36
MOV.B @H'00FFFFC1:8,R0L
EXTU.W R0
OR.W #H'0002,R0
MOV.L #H'00FFFFC1,ER1
MOV.B R0L,@ER1
??ENDBLOCK(37)
BRA ?00004:8
?00003:
??BEGINBLOCK(38)
??CLINE 39
MOV.B @H'00FFFFC1:8,R0L
EXTU.W R0
AND.W #H'FFFD,R0
MOV.L #H'00FFFFC1,ER1
MOV.B R0L,@ER1
??ENDBLOCK(40)
?00004:
??ENDBLOCK(41)
??CLINE 41
_rs_send_enable_end:
POP.L ER6
RTS
segment TEXT ATR_CODE
public _rs_recv_job
_rs_recv_job:
PUSH.L ER6
MOV.L ER7,ER6
SUB.L #6,ER7
??FUNCDEF(???rs_recv_job) ??VOID
??FUNCEND
??BEGINBLOCK(47)
??VAR ??SINT ??SYMBOL(???stat) ??OFFSET(-2)
??VAR ??USHORT ??SYMBOL(???i) ??OFFSET(-4)
??VAR ??USHORT ??SYMBOL(???ch_no) ??OFFSET(-6)
??CLINE 51
XOR.W R0,R0
MOV.W R0,@(-6,ER6)
??CLINE 52
PUSH.W R0
JSR @_rs_getch
ADDS.L #H'00000002,ER7
MOV.W R0,@(-2,ER6)
??CLINE 53
CMP.W #H'FFFF,R0
BEQ ?00005
??BEGINBLOCK(53)
??CLINE 54
MOV.W @_g_RsRecv_CT,R0
OR.W R0,R0
BNE ?00006:8
??BEGINBLOCK(54)
??CLINE 55
MOV.W @(-2,ER6),R0
MOV.L #_rs_rx_buf,ER1
MOV.B R0L,@ER1
??CLINE 56
MOV.W #H'0001,R0
MOV.W R0,@_g_RsRecv_CT
??CLINE 57
MOV.W #H'0001,R2
MOV.W R2,@_rs_rceving
??CLINE 58
MOV.L #H'00004E20,ER3
PUSH.L ER3
MOV.W #H'0005,R4
PUSH.W R4
JSR @_start_timer
ADDS.L #H'00000002,ER7
ADDS.L #H'00000004,ER7
??ENDBLOCK(60)
JMP @?00007
?00006:
??BEGINBLOCK(61)
??CLINE 62
MOV.W @_g_RsRecv_CT,R0
EXTS.L ER0
MOV.L #_rs_rx_buf,ER1
ADD.L ER0,ER1
MOV.W @(-2,ER6),R0
MOV.B R0L,@ER1
??CLINE 63
MOV.W @_g_RsRecv_CT,R0
INC.W #H'0001,R0
MOV.W R0,@_g_RsRecv_CT
??CLINE 65
MOV.W @(-2,ER6),R1
CMP.W #H'000D,R1
BNE ?00008:8
??BEGINBLOCK(65)
??CLINE 66
MOV.W @_g_RsRecv_CT,R0
DEC.W #H'0001,R0
MOV.W R0,@_g_RsRecv_CT
??CLINE 67
MOV.W #H'0005,R1
PUSH.W R1
JSR @_stop_timer
ADDS.L #H'00000002,ER7
??CLINE 70
MOV.W @_rs_sd_flg,R0
CMP.W #H'0001,R0
BNE ?00009:8
??BEGINBLOCK(70)
??CLINE 71
XOR.W R0,R0
MOV.W R0,@_g_RsSend_CT
??CLINE 72
MOV.W R0,@_rs_sending
??CLINE 73
MOV.W R0,@_g_RsRecv_CT
??CLINE 75
XOR.W R1,R1
MOV.W R1,@_rs_rceving
??CLINE 76
MOV.W R1,@_rs_sd_flg
??CLINE 78
XOR.W R2,R2
PUSH.W R2
JSR @_rs_pointer_init
ADDS.L #H'00000002,ER7
??ENDBLOCK(80)
BRA ?00010:8
?00009:
??BEGINBLOCK(81)
??CLINE 82
JSR @_rs_cmdcheck_job
??ENDBLOCK(83)
?00010:
??ENDBLOCK(86)
?00008:
??ENDBLOCK(87)
?00007:
??ENDBLOCK(88)
BRA ?00011:8
?00005:
??BEGINBLOCK(89)
??CLINE 90
MOV.W #H'0005,R0
PUSH.W R0
JSR @_check_timer
ADDS.L #H'00000002,ER7
CMP.W #H'0001,R0
BNE ?00012:8
??BEGINBLOCK(90)
??CLINE 91
XOR.W R0,R0
MOV.W R0,@_g_RsRecv_CT
??CLINE 92
XOR.W R1,R1
MOV.W R1,@_rs_rceving
??CLINE 93
MOV.W R1,@(-4,ER6)
BRA ?00014:8
?00013:
MOV.W @(-4,ER6),R0
INC.W #H'0001,R0
MOV.W R0,@(-4,ER6)
?00014:
MOV.W @(-4,ER6),R0
CMP.W #H'0040,R0
BCC ?00015:8
??BEGINBLOCK(94)
??CLINE 95
MOV.W @(-4,ER6),R0
EXTU.L ER0
MOV.L #_g_RsRecv_Bf,ER1
ADD.L ER0,ER1
XOR.B R0L,R0L
MOV.B R0L,@ER1
??ENDBLOCK(96)
BRA ?00013:8
?00015:
??ENDBLOCK(97)
?00012:
??ENDBLOCK(98)
?00011:
??ENDBLOCK(99)
??CLINE 99
_rs_recv_job_end:
MOV.L ER6,ER7
POP.L ER6
RTS
segment TEXT ATR_CODE
public _rs_send_job
_rs_send_job:
PUSH.L ER6
MOV.L ER7,ER6
SUB.L #10,ER7
??FUNCDEF(???rs_send_job) ??VOID
??FUNCEND
??BEGINBLOCK(110)
??VAR ??UINT ??SYMBOL(???ii) ??OFFSET(-2)
??VAR ??UINT ??SYMBOL(???rs_ch) ??OFFSET(-4)
??VAR ??UINT ??SYMBOL(???i) ??OFFSET(-6)
??VAR ??SSHORT ??SYMBOL(???stat) ??OFFSET(-8)
??VAR ??UCHAR ??SYMBOL(???ichr) ??OFFSET(-9)
??CLINE 115
MOV.W @_rs_sending,R0
OR.W R0,R0
BNE ?00016
MOV.W @_rs_rceving,R0
CMP.W #H'0002,R0
BNE ?00016:8
??BEGINBLOCK(115)
??CLINE 116
JSR @_rs_send_set
??CLINE 117
MOV.W #H'0001,R0
MOV.W R0,@_rs_sending
??CLINE 118
MOV.W #H'0001,R1
MOV.W R1,@_rs_sd_flg
??CLINE 119
XOR.W R2,R2
MOV.W R2,@_rs_rceving
??CLINE 120
XOR.W R3,R3
MOV.W R3,@_g_RsRecv_CT
??CLINE 122
JSR @_wait_rs_send
??CLINE 124
MOV.W #H'0001,R0
PUSH.W R0
JSR @_rs_send_enable
ADDS.L #H'00000002,ER7
??CLINE 126
MOV.W @_g_RsSend_CT,R0
PUSH.W R0
MOV.L #_rs_tx_buf,ER1
PUSH.L ER1
XOR.W R2,R2
PUSH.W R2
JSR @_rs_putn
ADDS.L #H'00000004,ER7
ADDS.L #H'00000004,ER7
MOV.W R0,@(-8,ER6)
??CLINE 127
MOV.L #H'00001388,ER1
PUSH.L ER1
MOV.W #H'0004,R2
PUSH.W R2
JSR @_start_timer
ADDS.L #H'00000002,ER7
ADDS.L #H'00000004,ER7
??ENDBLOCK(128)
?00016:
??CLINE 129
MOV.W @_rs_sending,R0
OR.W R0,R0
BEQ ?00017
??BEGINBLOCK(129)
??CLINE 130
XOR.W R0,R0
MOV.W R0,@(-4,ER6)
??CLINE 131
PUSH.W R0
JSR @_rs_txbufempty
ADDS.L #H'00000002,ER7
MOV.W R0,@(-2,ER6)
??CLINE 132
OR.W R0,R0
BNE ?00018:8
??BEGINBLOCK(132)
??CLINE 134
JSR @_wait_rs_send
??CLINE 136
XOR.W R0,R0
MOV.W R0,@_rs_sending
??CLINE 139
PUSH.W R0
JSR @_rs_send_enable
ADDS.L #H'00000002,ER7
??CLINE 141
MOV.W #H'0004,R0
PUSH.W R0
JSR @_stop_timer
ADDS.L #H'00000002,ER7
??CLINE 142
XOR.W R0,R0
MOV.W R0,@(-6,ER6)
BRA ?00020:8
?00019:
MOV.W @(-6,ER6),R0
INC.W #H'0001,R0
MOV.W R0,@(-6,ER6)
?00020:
MOV.W @(-6,ER6),R0
CMP.W #H'0040,R0
BCC ?00021:8
??BEGINBLOCK(143)
??CLINE 144
MOV.W @(-6,ER6),R0
EXTU.L ER0
MOV.L #_g_RsRecv_Bf,ER1
ADD.L ER0,ER1
XOR.B R0L,R0L
MOV.B R0L,@ER1
??ENDBLOCK(145)
BRA ?00019:8
?00021:
??ENDBLOCK(146)
BRA ?00022:8
?00018:
??BEGINBLOCK(147)
??CLINE 148
MOV.W #H'0004,R0
PUSH.W R0
JSR @_check_timer
ADDS.L #H'00000002,ER7
CMP.W #H'0001,R0
BNE ?00023:8
??BEGINBLOCK(148)
??CLINE 149
XOR.W R0,R0
MOV.W R0,@_rs_sending
??CLINE 150
XOR.W R1,R1
PUSH.W R1
JSR @_rs_pointer_init
ADDS.L #H'00000002,ER7
??CLINE 152
XOR.W R0,R0
PUSH.W R0
JSR @_rs_send_enable
ADDS.L #H'00000002,ER7
??CLINE 154
MOV.W #H'0004,R0
PUSH.W R0
JSR @_stop_timer
ADDS.L #H'00000002,ER7
??CLINE 155
XOR.W R0,R0
MOV.W R0,@(-6,ER6)
BRA ?00025:8
?00024:
MOV.W @(-6,ER6),R0
INC.W #H'0001,R0
MOV.W R0,@(-6,ER6)
?00025:
MOV.W @(-6,ER6),R0
CMP.W #H'0040,R0
BCC ?00026:8
??BEGINBLOCK(156)
??CLINE 157
MOV.W @(-6,ER6),R0
EXTU.L ER0
MOV.L #_g_RsRecv_Bf,ER1
ADD.L ER0,ER1
XOR.B R0L,R0L
MOV.B R0L,@ER1
??ENDBLOCK(158)
BRA ?00024:8
?00026:
??ENDBLOCK(159)
?00023:
??ENDBLOCK(160)
?00022:
??ENDBLOCK(161)
?00017:
??ENDBLOCK(162)
??CLINE 162
_rs_send_job_end:
MOV.L ER6,ER7
POP.L ER6
RTS
segment TEXT ATR_CODE
public _rs_send_set
_rs_send_set:
PUSH.L ER6
MOV.L ER7,ER6
SUB.L #6,ER7
??FUNCDEF(???rs_send_set) ??VOID
??FUNCEND
??BEGINBLOCK(166)
??VAR ??USHORT ??SYMBOL(???i) ??OFFSET(-2)
??VAR ??POINTER ??UCHAR ??SYMBOL(???adr) ??OFFSET(-6)
??CLINE 170
MOV.L #_g_RsSend_Bf,ER0
MOV.L ER0,@(-6,ER6)
??CLINE 172
XOR.W R1,R1
MOV.W R1,@(-2,ER6)
BRA ?00028:8
?00027:
MOV.W @(-2,ER6),R0
INC.W #H'0001,R0
MOV.W R0,@(-2,ER6)
?00028:
MOV.W @(-2,ER6),R0
CMP.W #H'0040,R0
BCC ?00029:8
??BEGINBLOCK(173)
??CLINE 174
MOV.W @(-2,ER6),R0
EXTU.L ER0
MOV.L #_rs_tx_buf,ER1
ADD.L ER0,ER1
XOR.B R0L,R0L
MOV.B R0L,@ER1
??ENDBLOCK(175)
BRA ?00027:8
?00029:
??CLINE 176
XOR.W R0,R0
MOV.W R0,@(-2,ER6)
BRA ?00031:8
?00030:
MOV.W @(-2,ER6),R0
INC.W #H'0001,R0
MOV.W R0,@(-2,ER6)
?00031:
MOV.W @_g_RsSend_CT,R0
MOV.W @(-2,ER6),R1
CMP.W R0,R1
BCC ?00032:8
??BEGINBLOCK(177)
??CLINE 178
MOV.W @(-2,ER6),R0
EXTU.L ER0
MOV.L @(-6,ER6),ER1
ADD.L ER0,ER1
MOV.B @ER1,R1L
MOV.L #_rs_tx_buf,ER2
ADD.L ER0,ER2
MOV.B R1L,@ER2
??ENDBLOCK(179)
BRA ?00030:8
?00032:
??ENDBLOCK(183)
??CLINE 183
_rs_send_set_end:
MOV.L ER6,ER7
POP.L ER6
RTS
??CFILE (C:\H8S\LTMeas\LTDriver\SubRs.c)
extern _strcpy
extern _strncpy
extern _strcat
extern _strncat
extern _strcmp
extern _strncmp
extern _strcoll
extern _strxfrm
extern _strchr
extern _strrchr
extern _strspn
extern _strcspn
extern _strpbrk
extern _strstr
extern _strlen
extern _strerror
extern _strtok
extern _memcpy
extern _memmove
extern _memcmp
extern _memchr
extern _memset
extern __iob
extern _remove
extern _rename
extern _tmpfile
extern _tmpnam
extern _fclose
extern _fflush
extern _fopen
extern _freopen
extern _setbuf
extern _setvbuf
extern _fprintf
extern _fscanf
extern _printf
extern _scanf
extern _sprintf
extern _sscanf
extern _vfprintf
extern _vprintf
extern _vsprintf
extern _fgetc
extern _fgets
extern _fputc
extern _fputs
extern _puts
extern _gets
extern _putchar
extern _ungetc
extern _fread
extern _fwrite
extern _fgetpos
extern _fseek
extern _fsetpos
extern _ftell
extern _clearerr
extern _feof
extern _ferror
extern _perror
extern _atof
extern _atoi
extern _atol
extern _strtod
extern _strtol
extern _strtoul
extern _rand
extern _srand
extern _calloc
extern _free
extern _malloc
extern _realloc
extern _abort
extern _atexit
extern _exit
extern _getenv
extern _system
extern _bsearch
extern _qsort
extern _abs
extern _div
extern _labs
extern _ldiv
extern _mblen
extern _mbtowc
extern _wctomb
extern _mbstowcs
extern _wcstombs
extern _acos
extern _asin
extern _atan
extern _atan2
extern _cos
extern _sin
extern _tan
extern _cosh
extern _sinh
extern _tanh
extern _exp
extern _frexp
extern _ldexp
extern _log
extern _log10
extern _modf
extern _pow
extern _sqrt
extern _ceil
extern _fabs
extern _floor
extern _fmod
extern _const_start
extern _g_DrivePole
extern _g_Range
extern _g_SetIf
extern _g_Duty
extern _g_CwPulse
extern _g_CalIfaR1
extern _g_CalIfbR1
extern _g_CalIfbR2
extern _g_CalIfaR2
extern _g_CalIfbR3
extern _g_CalIfaR3
extern _const_end
extern _g_OnOff
extern _g_RsSend_CT
extern _rs_sending
extern _g_RsSend_Bf
extern _g_RsRecv_Bf
extern _g_RsRecv_CT
extern _rs_rceving
extern _rs_sd_flg
extern _rs_rx_buf
extern _rs_tx_buf
extern _t1tmf
extern _t1tmt
extern _set_daif
extern _select_ch
extern _range_out
extern _onoff_out
extern _duty_out
extern _mon_select
extern _sisyagonyuu
extern _dot
extern _atoin
extern _atoln
extern _system_init
extern _port_init
extern _busc_init
extern _intc_init
extern _itimer_init
extern _start_timer
extern _check_timer
extern _stop_timer
extern _wdt_init
extern _wdt_clr
extern _sci_bps
extern _rs_pointer_init
extern _rs_rs_cmd
extern _rs_er_cmd
extern _rs_cs_sts
extern _rs_dr_sts
extern _rs_cd_sts
extern _rs_ci_sts
extern _rs_232ttl
extern _rs_putcheck
extern _rs_txbufempty
extern _rs_putc
extern _rs_puts
extern _rs_putn
extern _rs_getcheck
extern _rs_getc
extern _rs_getch
extern _rs_gets
extern _rs_getn
extern _rs_txcont_job
extern _rs_job
extern _tx_job
extern _IntTimer
extern _IntERI0
extern _IntERI1
extern _IntERI2
extern _IntRXI0
extern _IntRXI1
extern _IntRXI2
extern _IntTXI0
extern _IntTXI1
extern _IntTXI2
extern _srom_puts
extern _srom_fill
extern _srom_gets
extern _rs_send_interrupt
extern _Set_WatchDog
extern _B8
extern _B16
extern _intmask
extern _e2prom_wt_pro
extern _e2prom_rd_pro
extern _rs_init
extern _rs_send
extern _rs_recv_err
extern _rs_recv
extern _rs_cmdcheck_job
extern _rs_inttx
extern _com_rcv_proc
extern _key_incheck
extern _rscomctl
extern _wait
extern _subAD
;
;
segment DATA_CONST ATR_CDATA
segment DATA ATR_DATA
segment BSS ATR_DATA
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -