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

📄 main.asm

📁 日立单片机H8S2144例程.包括AD,DA等程序(用于光源)但对于H8S2144使用者来说有很大的帮助.
💻 ASM
字号:
??CFILE (C:\H8S\LTMeas\LTDriver\Main.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\Main.c)
??CFILE (H8S2144.h)
??CFILE (C:\H8S\LTMeas\LTDriver\Main.c)
??CFILE (extern.h)
??CFILE (C:\H8S\LTMeas\LTDriver\Main.c)
??CFILE (data.h)
??CFILE (C:\H8S\LTMeas\LTDriver\Main.c)
	segment	TEXT ATR_CODE
public	_main
_main:
	PUSH.L	ER6
	MOV.L	ER7,ER6
	SUB.L	#10,ER7
                         
??FUNCDEF(???main) ??VOID
??FUNCEND
??BEGINBLOCK(30)
??VAR ??SINT ??SYMBOL(???stat) ??OFFSET(-2)
??VAR ??UCHAR ??SYMBOL(???ichr) ??OFFSET(-3)
??VAR ??SLONG ??SYMBOL(???IF) ??OFFSET(-8)
??VAR ??USHORT ??SYMBOL(???addrcheck) ??OFFSET(-10)
??CLINE 35
	JSR	@_system_init
??CLINE 36
	JSR	@_busc_init
??CLINE 38
	JSR	@_port_init
??CLINE 39
	JSR	@_intc_init
??CLINE 40
	JSR	@_itimer_init
??CLINE 41
	XOR.B	R0L,R0L
	MOV.L	#H'0004C062,ER1
	MOV.B	R0L,@ER1
??CLINE 42
	XOR.W	R2,R2
	PUSH.W	R2
	JSR	@_rs_232ttl
	ADDS.L	#H'00000002,ER7
??CLINE 43
	MOV.L	#H'00002580,ER0
	PUSH.L	ER0
	XOR.W	R1,R1
	PUSH.W	R1
	JSR	@_sci_bps
	ADDS.L	#H'00000002,ER7
	ADDS.L	#H'00000004,ER7
??CLINE 44
	XOR.W	R0,R0
	PUSH.W	R0
	JSR	@_intmask
	ADDS.L	#H'00000002,ER7
??CLINE 49
	JSR	@_init_mem
??CLINE 52
	JSR	@_AD_IF
	EXTS.L	ER0
	MOV.L	ER0,@(-8,ER6)
??CLINE 53
	XOR.W	R1,R1
	PUSH.W	R1
	MOV.W	#H'0001,R2
	PUSH.W	R2
	JSR	@_set_daif
	ADDS.L	#H'00000004,ER7
??CLINE 64
	XOR.B	R0L,R0L
	MOV.B	R0L,@(-3,ER6)
??CLINE 65
	MOV.L	#H'00FFFFC1,ER1
	MOV.B	R0L,@ER1
??ENDBLOCK(80)
??CLINE 80
_main_end:

	MOV.L	ER6,ER7
	POP.L	ER6
	RTS

	segment	TEXT ATR_CODE
public	_init_mem
_init_mem:
	PUSH.L	ER6
	MOV.L	ER7,ER6
	SUBS	#4,ER7
                           
??FUNCDEF(???init_mem) ??SINT
??FUNCEND
??BEGINBLOCK(84)
??VAR ??SSHORT ??SYMBOL(???i) ??OFFSET(-2)
??VAR ??SSHORT ??SYMBOL(???j) ??OFFSET(-4)
??CLINE 88
	XOR.W	R0,R0
	MOV.W	R0,@_g_RsSend_CT
??CLINE 89
	MOV.W	R0,@_rs_sending
??CLINE 90
	MOV.W	R0,@_g_RsRecv_CT
??CLINE 92
	XOR.W	R1,R1
	MOV.W	R1,@_rs_rceving
??CLINE 93
	MOV.W	R1,@_rs_sd_flg
??CLINE 96
	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
	CMP.W	#H'000A,R0
	BGE	?00002
??BEGINBLOCK(97)
??CLINE 98
	MOV.W	@(-4,ER6),R0
	EXTS.L	ER0
	SHLL.L	ER0
	MOV.L	#_g_DrivePole,ER1
	ADD.L	ER0,ER1
	XOR.W	R0,R0
	MOV.W	R0,@ER1
??CLINE 99
	MOV.W	@(-4,ER6),R1
	EXTS.L	ER1
	SHLL.L	ER1
	MOV.L	#_g_Range,ER2
	ADD.L	ER1,ER2
	MOV.W	#H'0001,R1
	MOV.W	R1,@ER2
??CLINE 100
	MOV.W	R0,@(-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'0004,R0
	BGE	?00005
??BEGINBLOCK(101)
??CLINE 102
	MOV.W	@(-4,ER6),R0
	EXTS.L	ER0
	SHLL.L	#H'00000002,ER0
	SHLL.L	ER0
	MOV.L	#_g_SetIf,ER1
	ADD.L	ER0,ER1
	MOV.W	@(-2,ER6),R0
	EXTS.L	ER0
	SHLL.L	ER0
	ADD.L	ER0,ER1
	MOV.W	#H'000A,R0
	MOV.W	R0,@ER1
??CLINE 103
	MOV.W	@(-4,ER6),R1
	EXTS.L	ER1
	SHLL.L	#H'00000002,ER1
	SHLL.L	ER1
	MOV.L	#_g_Duty,ER2
	ADD.L	ER1,ER2
	MOV.W	@(-2,ER6),R1
	EXTS.L	ER1
	SHLL.L	ER1
	ADD.L	ER1,ER2
	MOV.W	#H'0064,R1
	MOV.W	R1,@ER2
??CLINE 104
	MOV.W	@(-4,ER6),R2
	EXTS.L	ER2
	SHLL.L	#H'00000002,ER2
	SHLL.L	ER2
	MOV.L	#_g_CwPulse,ER3
	ADD.L	ER2,ER3
	MOV.W	@(-2,ER6),R2
	EXTS.L	ER2
	SHLL.L	ER2
	ADD.L	ER2,ER3
	XOR.W	R2,R2
	MOV.W	R2,@ER3
??CLINE 105
	MOV.W	@(-4,ER6),R3
	EXTS.L	ER3
	SHLL.L	#H'00000002,ER3
	SHLL.L	ER3
	MOV.L	#_g_CalIfaR1,ER4
	ADD.L	ER3,ER4
	MOV.W	@(-2,ER6),R3
	EXTS.L	ER3
	SHLL.L	ER3
	ADD.L	ER3,ER4
	MOV.W	#H'03E8,R3
	MOV.W	R3,@ER4
??CLINE 106
	MOV.W	@(-4,ER6),R4
	EXTS.L	ER4
	SHLL.L	#H'00000002,ER4
	SHLL.L	ER4
	MOV.L	#_g_CalIfaR2,ER0
	ADD.L	ER4,ER0
	MOV.W	@(-2,ER6),R4
	EXTS.L	ER4
	SHLL.L	ER4
	ADD.L	ER4,ER0
	MOV.W	R3,@ER0
??CLINE 107
	MOV.W	@(-4,ER6),R0
	EXTS.L	ER0
	SHLL.L	#H'00000002,ER0
	SHLL.L	ER0
	MOV.L	#_g_CalIfaR3,ER4
	ADD.L	ER0,ER4
	MOV.W	@(-2,ER6),R0
	EXTS.L	ER0
	SHLL.L	ER0
	ADD.L	ER0,ER4
	MOV.W	R3,@ER4
??CLINE 108
	MOV.W	@(-4,ER6),R0
	EXTS.L	ER0
	SHLL.L	#H'00000002,ER0
	SHLL.L	ER0
	MOV.L	#_g_CalIfbR1,ER4
	ADD.L	ER0,ER4
	MOV.W	@(-2,ER6),R0
	EXTS.L	ER0
	SHLL.L	ER0
	ADD.L	ER0,ER4
	MOV.W	R2,@ER4
??CLINE 109
	MOV.W	@(-4,ER6),R0
	EXTS.L	ER0
	SHLL.L	#H'00000002,ER0
	SHLL.L	ER0
	MOV.L	#_g_CalIfbR2,ER4
	ADD.L	ER0,ER4
	MOV.W	@(-2,ER6),R0
	EXTS.L	ER0
	SHLL.L	ER0
	ADD.L	ER0,ER4
	MOV.W	R2,@ER4
??CLINE 110
	MOV.W	@(-4,ER6),R0
	EXTS.L	ER0
	SHLL.L	#H'00000002,ER0
	SHLL.L	ER0
	MOV.L	#_g_CalIfbR3,ER4
	ADD.L	ER0,ER4
	MOV.W	@(-2,ER6),R0
	EXTS.L	ER0
	SHLL.L	ER0
	ADD.L	ER0,ER4
	MOV.W	R2,@ER4
??CLINE 111
	MOV.W	@(-4,ER6),R0
	EXTS.L	ER0
	SHLL.L	#H'00000002,ER0
	SHLL.L	ER0
	MOV.L	#_g_OnOff,ER4
	ADD.L	ER0,ER4
	MOV.W	@(-2,ER6),R0
	EXTS.L	ER0
	SHLL.L	ER0
	ADD.L	ER0,ER4
	MOV.W	R2,@ER4
??ENDBLOCK(112)
	JMP	@?00003
?00005:
??ENDBLOCK(114)
	JMP	@?00000
?00002:
??ENDBLOCK(115)
??CLINE 115
_init_mem_end:

	MOV.L	ER6,ER7
	POP.L	ER6
	RTS

??CFILE (C:\H8S\LTMeas\LTDriver\Main.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 _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 _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
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 _DAout
extern _AD_IF
;
;
	segment	DATA_CONST ATR_CDATA

	segment	DATA ATR_DATA

	segment	BSS ATR_DATA

	end

⌨️ 快捷键说明

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