?? timer.asm
字號:
??CFILE (C:\H8S\LTMeas\LTDriver\Timer.c)
??CFILE (H8S2144.h)
??CFILE (C:\H8S\LTMeas\LTDriver\Timer.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\Timer.c)
??CFILE (extern.h)
??CFILE (C:\H8S\LTMeas\LTDriver\Timer.c)
segment TEXT ATR_CODE
public _itimer_init
_itimer_init:
PUSH.L ER6
MOV.L ER7,ER6
SUBS #4,ER7
??FUNCDEF(???itimer_init) ??VOID
??FUNCEND
??BEGINBLOCK(69)
??VAR ??SINT ??SYMBOL(???c) ??OFFSET(-2)
??VAR ??USHORT ??SYMBOL(???wk) ??OFFSET(-4)
??CLINE 73
MOV.W #H'5A00,R0
MOV.L #H'00FFFFEA,ER1
MOV.W R0,@ER1
??CLINE 74
MOV.B @H'00FFFFEA:8,R2L
EXTU.W R2
MOV.W R2,@(-4,ER6)
??CLINE 76
MOV.L #_str00000,ER3
PUSH.L ER3
JSR @_B16
ADDS.L #H'00000004,ER7
MOV.L #H'00FFFFEA,ER1
MOV.W R0,@ER1
??CLINE 87
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'0008,R0
BGE ?00002:8
??BEGINBLOCK(88)
??CLINE 89
MOV.W @(-2,ER6),R0
EXTS.L ER0
SHLL.L #H'00000002,ER0
MOV.L #_t1tmt,ER1
ADD.L ER0,ER1
XOR.L ER0,ER0
MOV.L ER0,@ER1
??CLINE 90
MOV.W @(-2,ER6),R1
EXTS.L ER1
SHLL.L ER1
MOV.L #_t1tmf,ER2
ADD.L ER1,ER2
MOV.W #H'0001,R1
MOV.W R1,@ER2
??ENDBLOCK(91)
BRA ?00000:8
?00002:
??ENDBLOCK(92)
??CLINE 92
_itimer_init_end:
MOV.L ER6,ER7
POP.L ER6
RTS
segment TEXT ATR_CODE
public _IntTimer
_IntTimer:
STM.L ER0-ER3,@-SP
STM.L ER4-ER6,@-SP
MOV.L ER7,ER6
SUBS #2,ER7
??FUNCDEF(???IntTimer) ??VOID
??FUNCEND
??BEGINBLOCK(105)
??VAR ??SINT ??SYMBOL(???c) ??OFFSET(-2)
??CLINE 117
MOV.W #H'5A68,R0
MOV.L #H'00FFFFEA,ER1
MOV.W R0,@ER1
??CLINE 121
MOV.B @H'00FFFFEA:8,R2L
EXTU.W R2
AND.W #H'007F,R2
OR.W #H'A500,R2
MOV.W R2,@ER1
??CLINE 123
XOR.W R2,R2
MOV.W R2,@(-2,ER6)
BRA ?00004:8
?00003:
MOV.W @(-2,ER6),R0
INC.W #H'0001,R0
MOV.W R0,@(-2,ER6)
?00004:
MOV.W @(-2,ER6),R0
CMP.W #H'0008,R0
BGE ?00005:8
??BEGINBLOCK(124)
??CLINE 125
MOV.W @(-2,ER6),R0
EXTS.L ER0
SHLL.L #H'00000002,ER0
MOV.L #_t1tmt,ER1
ADD.L ER0,ER1
MOV.L @ER1,ER0
CMP.L #H'00000000,ER0
BLS ?00006:8
??BEGINBLOCK(126)
??CLINE 127
MOV.W @(-2,ER6),R0
EXTS.L ER0
SHLL.L #H'00000002,ER0
MOV.L #_t1tmt,ER1
ADD.L ER0,ER1
MOV.L @ER1,ER0
DEC.L #H'00000001,ER0
MOV.L ER0,@ER1
??ENDBLOCK(128)
?00006:
??ENDBLOCK(129)
BRA ?00003:8
?00005:
??ENDBLOCK(136)
??CLINE 136
_IntTimer_end:
MOV.L ER6,ER7
LDM.L @SP+,ER4-ER6
LDM.L @SP+,ER0-ER3
RTE
segment TEXT ATR_CODE
public _start_timer
_start_timer:
PUSH.L ER6
MOV.L ER7,ER6
??FUNCDEF(???start_timer) ??VOID
??VAR ??SINT ??SYMBOL(???no) ??OFFSET(8)
??VAR ??ULONG ??SYMBOL(???time) ??OFFSET(10)
??FUNCEND
??BEGINBLOCK(150)
??CLINE 151
MOV.W @(+8,ER6),R0
EXTS.L ER0
SHLL.L #H'00000002,ER0
MOV.L #_t1tmt,ER1
ADD.L ER0,ER1
MOV.L @(+10,ER6),ER0
MOV.L ER0,@ER1
??CLINE 152
MOV.W @(+8,ER6),R0
EXTS.L ER0
SHLL.L ER0
MOV.L #_t1tmf,ER1
ADD.L ER0,ER1
MOV.W #H'0001,R0
MOV.W R0,@ER1
??ENDBLOCK(153)
??CLINE 153
_start_timer_end:
POP.L ER6
RTS
segment TEXT ATR_CODE
public _check_timer
_check_timer:
PUSH.L ER6
MOV.L ER7,ER6
??FUNCDEF(???check_timer) ??SINT
??VAR ??SINT ??SYMBOL(???no) ??OFFSET(8)
??FUNCEND
??BEGINBLOCK(165)
??CLINE 166
MOV.W @(+8,ER6),R0
EXTS.L ER0
SHLL.L #H'00000002,ER0
MOV.L #_t1tmt,ER1
ADD.L ER0,ER1
MOV.L @ER1,ER0
OR.L ER0,ER0
BNE ?00007:8
MOV.W @(+8,ER6),R0
EXTS.L ER0
SHLL.L ER0
MOV.L #_t1tmf,ER1
ADD.L ER0,ER1
MOV.W @ER1,R0
OR.W R0,R0
BEQ ?00007:8
??BEGINBLOCK(167)
??CLINE 168
MOV.W #H'0001,R0
BRA _check_timer_end:8
??ENDBLOCK(169)
BRA ?00008:8
?00007:
??BEGINBLOCK(171)
??CLINE 172
XOR.W R0,R0
??ENDBLOCK(173)
?00008:
??ENDBLOCK(174)
??CLINE 174
_check_timer_end:
POP.L ER6
RTS
segment TEXT ATR_CODE
public _stop_timer
_stop_timer:
PUSH.L ER6
MOV.L ER7,ER6
??FUNCDEF(???stop_timer) ??VOID
??VAR ??SINT ??SYMBOL(???no) ??OFFSET(8)
??FUNCEND
??BEGINBLOCK(186)
??CLINE 187
MOV.W @(+8,ER6),R0
EXTS.L ER0
SHLL.L #H'00000002,ER0
MOV.L #_t1tmt,ER1
ADD.L ER0,ER1
XOR.L ER0,ER0
MOV.L ER0,@ER1
??CLINE 188
MOV.W @(+8,ER6),R1
EXTS.L ER1
SHLL.L ER1
MOV.L #_t1tmf,ER2
ADD.L ER1,ER2
XOR.W R1,R1
MOV.W R1,@ER2
??ENDBLOCK(189)
??CLINE 189
_stop_timer_end:
POP.L ER6
RTS
segment TEXT ATR_CODE
public _wdt_init
_wdt_init:
PUSH.L ER6
MOV.L ER7,ER6
SUBS #2,ER7
??FUNCDEF(???wdt_init) ??VOID
??FUNCEND
??BEGINBLOCK(202)
??VAR ??USHORT ??SYMBOL(???wk) ??OFFSET(-2)
??CLINE 205
MOV.W #H'5A00,R0
MOV.L #H'00FFFFA8,ER1
MOV.W R0,@ER1
??CLINE 206
MOV.B @H'00FFFFA8:8,R2L
EXTU.W R2
MOV.W R2,@(-2,ER6)
??CLINE 208
MOV.L #_str00001,ER3
PUSH.L ER3
JSR @_B16
ADDS.L #H'00000004,ER7
MOV.L #H'00FFFFA8,ER1
MOV.W R0,@ER1
??ENDBLOCK(217)
??CLINE 217
_wdt_init_end:
MOV.L ER6,ER7
POP.L ER6
RTS
segment TEXT ATR_CODE
public _wdt_clr
_wdt_clr:
??FUNCDEF(???wdt_clr) ??VOID
??FUNCEND
??BEGINBLOCK(229)
??CLINE 230
MOV.W #H'5A00,R0
MOV.L #H'00FFFFA8,ER1
MOV.W R0,@ER1
??ENDBLOCK(231)
??CLINE 231
_wdt_clr_end:
RTS
??CFILE (C:\H8S\LTMeas\LTDriver\Timer.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 _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 _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 _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 _rs_send_enable
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_recv_job
extern _rs_send_job
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
_str00000: DC.B 031H,030H,031H,030H,030H,031H,030H,031H,030H,030H,031H,030H,030H,030H,031H,030H,0H
_str00001: DC.B 031H,030H,031H,030H,030H,031H,030H,031H,030H,031H,031H,030H,031H,031H,031H,031H,0H
segment DATA ATR_DATA
segment BSS ATR_DATA
??VAR ??ARRAY(8) ??SINT ??SYMBOL(???t1tmf) ??OFFSET(0)
_t1tmf:
DCB.B 16,0
??VAR ??ARRAY(8) ??ULONG ??SYMBOL(???t1tmt) ??OFFSET(16)
_t1tmt:
DCB.B 32,0
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -