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

📄 boot2407.asm

📁 一些TI的DSP2047上的我写的程序
💻 ASM
字号:
;--------------------------------------------------------*/
;   WQ21ST SOFTWARE	STUDIO.			                  	 */
;--------------------------------------------------------*/
;
;
;    This was chosen as a starting point
;
;
;   This module contains the following definitions :
;
;         __stack    - Stack memory area
;         _c_int0    - Boot function
;         _var_init  - Function which processes initialization tables
;
;    filename:    Boot2407.asm
;    original:	  07/25/2001   by: WQ
;    last update: 08/18/2000   by: WQ

     
     ;****.global can be used as .def or .ref identifier as needed **** andrew; 
     
;	.global  _c_int0, cinit
;	.global  _main, _abort
;	.global .bss, end    
	 
	.def 	_c_int0 
	.def	_enable_int
	.def	_disable_int
	
;	.ref 	cinit
	.ref   _main
;	.ref	_abort   
	.ref	_bad_trap   
	

;;;;;


WD_CNTL 	.set	07029h		;WD Control reg
WD_CNTR 	.set	07023h		;WD Counter reg
WD_KEY		.set	07025h		;WD Key reg


;-----------------------------------------------------------------------------
; M A C R O - Definitions
;-----------------------------------------------------------------------------
SBIT0		.macro	DMA, MASK	;Clear bit Macro
		LACC	DMA
		AND	#(0FFFFh-MASK)
		SACL	DMA
		.endm

SBIT1		.macro	DMA, MASK	;Set bit Macro
		LACC	DMA
		OR	#MASK
		SACL	DMA
		.endm

KICK_DOG	.macro			;Watchdog reset macro
		LDP	#00E0h
		SPLK	#05555h, WD_KEY
		SPLK	#0AAAAh, WD_KEY
		LDP	#0h
		.endm


     


;
; Declare the stack.  Size is determined by the linker option -stack
;
__stack:        .usect  ".stack",64          


;
; FUNCTION DEF : _c_int0
;
;   1) Set up stack
;   2) Set up proper status
;   3) If "cinit" is not -1, init global variables
;   4) call users' program
;
;
_c_int0:                            ; entry point from reset vector

       SETC    INTM                 ;Disable interrupts
;
; Initialize status bit fields *NOT* initialized at reset                   
;
       CLRC    XF                   ; turn off xf bit
       CLRC    SXM                  ;Clear Sign Extension Mode
       CLRC    OVM                  ;Reset Overflow Mode
       CLRC    CNF                  ;Config Block B0 to Data mem.

       LDP     #0E0h
       SPLK    #0068h,WD_CNTL       ;Disable the WTD
       KICK_DOG                     ;Clr the WTDCOUTER and Flag   andrew 
                
       
;
;  Set up initial stack and frame pointers
; 
SET_UP_STACK:
	LRLK    AR0,__stack             ; set up frame pointer
	LRLK    AR1,__stack             ; set up stack pointer
                        
                
	                                 ;the ARx in this CMD must be AR1
	B    _main,AR1   
	;CALL    _abort,AR1              ; to never return...
     
    B	_bad_trap,AR1                ; to never return...
     
    RET
    
_enable_int:
    
    CLRC	INTM
	RET  
	
_disable_int:
    
    SETC	INTM
	RET 

⌨️ 快捷键说明

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