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

📄 start.asm

📁 上传一个带源代码的嵌入式实时多任务操作系统CMX
💻 ASM
字号:
; @(#)start.asm	1.2	98/04/15
;*****************************************************************************
;*
;* MODULE	: start.asm
;*
;* DESCRIPTION	: Generic C startup code for the entire C166 family
;*
;*	- Include cstartx.asm for CPU's based on 'extended architecture'
;*	  (e.g. C161x, C163, C164xx, C165, C167xx, ST10-262).
;*	  This is the default behavior.
;*	- Include cstart.asm for non-extended CPU's (e.g. SAB 80C166, GOLD).
;*	- Macros can be set on the command line of the macro pre-processor,
;*	  using the DEFINE() control. Syntax:  DEF( macro [, replacement] )
;*	  Example:			       
;*		m166 cstart.asm DEF(MODEL,LARGE) DEF(_CPU,161O) DEF(_EXT,1)
;*
;* NOTE		: When using EDE all the macros are automatically set by
;*		  the Project Options... dialog from the EDE menu.
;*
;* COPYRIGHTS	: 1997 TASKING, Inc.
;*
;*****************************************************************************

$CASE
$DEBUG
$NOLOCALS

@IF( ! @DEFINED( _CPU ) )	; If _CPU has not been defined
	@MATCH( _CPU, "167" )	; Assume C167
@ENDI

@IF( ! @DEFINED( _EXT ) )	; If _EXT has not been defined
	@SET( _EXT, 1 ) 	; Assume CPU is based on extended architecture
@ENDI

@IF( ! @DEFINED( @EVA ) )
	@SET( EVA, 1 )		; set to 1 when execution environment is
				; ROM/RAM monitor on eval board. Needed to:
				;  1)	force tiny model to execute with
				;	segmentation enabled.
				;  2)	do not clear monitor data in
				;	bit-addressable area.
				;  3)	run application with interrupts
				;	enabled, allowing the monitor to
				;	break it.
				;  4)   define symbols that can be used by
				;       a debugger to initialize the EVA167 
				;       before monitor or user program is
				;       downloaded.
				; By default the hardware is expected to be
				; configured for non-multiplexed bus mode to 
@ENDI				; get the maximum performance.

@IF( ! @DEFINED( @EX_AB ) )
	@SET( EX_AB, 0 )	; set to 1 if the function 'exit()' or
@ENDI				; 'abort()' is used.

@IF( ! @DEFINED( @FLOAT ) )
	@SET( FLOAT, 0 )	; set to 1 if floating point arithmetic is
@ENDI				; used.

@IF( ! @DEFINED( @BIT_INIT ) )
	@SET( BIT_INIT, 0 )	; disable initialization of bit variables at
@ENDI				; startup, set to 1 if "bit b = 1;" is used.

@IF( ! @DEFINED( @MUXBUS ) )
	@SET( MUXBUS, 0 )	; set to 1 for multiplexed bus.
@ENDI

@IF( @_EXT )			; Use extended architecture
$include(cstartx.asm)
@ELSE
$include(cstart.asm)
@ENDI

⌨️ 快捷键说明

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