📄 start.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 + -