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

📄 system.asm

📁 dsp tmslf2407a 汇编,c的原代码,包括i2c,scitimer,fir等的很多程序.
💻 ASM
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00       
*******************************************************
;	C:\tic2xx\c2000\cgtools\bin\dspac.exe -v2xx system.c C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\system.if 
;	dspopt NOT RUN
;	C:\tic2xx\c2000\cgtools\bin\dspcg.exe -o -v2xx -o C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\system.if C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\system.asm C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\system.tmp 
	.port
	.bss	_globalLevel,1,1
	.file	"system.c"
	.file	"f2407regs_c.h"
	.globl	_IMR
	.globl	_GREG
	.globl	_IFR
	.globl	_IMRADDR
	.globl	_PIRQR0
	.globl	_PIRQR1
	.globl	_PIRQR2
	.globl	_PIACKR0
	.globl	_PIACKR1
	.globl	_PIACKR2
	.globl	_SCSR1
	.globl	_SCSR2
	.globl	_DINR
	.globl	_PIVR
	.globl	_WDCNTR
	.globl	_WDKEY
	.globl	_WDCR
	.globl	_SPICCR
	.globl	_SPICTL
	.globl	_SPISTS
	.globl	_SPIBRR
	.globl	_SPIEMU
	.globl	_SPIRXBUF
	.globl	_SPITXBUF
	.globl	_SPIDAT
	.globl	_SPIPRI
	.globl	_SCICCR
	.globl	_SCICTL1
	.globl	_SCIHBAUD
	.globl	_SCILBAUD
	.globl	_SCICTL2
	.globl	_SCIRXST
	.globl	_SCIRXEMU
	.globl	_SCIRXBUF
	.globl	_SCITXBUF
	.globl	_SCIPRI
	.globl	_XINT1CR
	.globl	_XINT2CR
	.globl	_PADATDIR
	.globl	_PBDATDIR
	.globl	_PCDATDIR
	.globl	_PDDATDIR
	.globl	_PEDATDIR
	.globl	_PFDATDIR
	.globl	_MCRA
	.globl	_MCRB
	.globl	_MCRC
	.globl	_ADCCTRL1
	.globl	_ADCCTRL2
	.globl	_MAXCONV
	.globl	_CHSELSEQ1
	.globl	_CHSELSEQ2
	.globl	_CHSELSEQ3
	.globl	_CHSELSEQ4
	.globl	_AUTOSEQSR
	.globl	_RESULT0
	.globl	_RESULT1
	.globl	_RESULT2
	.globl	_RESULT3
	.globl	_RESULT4
	.globl	_RESULT5
	.globl	_RESULT6
	.globl	_RESULT7
	.globl	_RESULT8
	.globl	_RESULT9
	.globl	_RESULT10
	.globl	_RESULT11
	.globl	_RESULT12
	.globl	_RESULT13
	.globl	_RESULT14
	.globl	_RESULT15
	.globl	_CALIBRATION
	.globl	_MDER
	.globl	_TCR
	.globl	_RCR
	.globl	_MCR
	.globl	_BCR2
	.globl	_BCR1
	.globl	_ESR
	.globl	_GSR
	.globl	_CEC
	.globl	_CANIFR
	.globl	_CANIMR
	.globl	_LAM0H
	.globl	_LAM0L
	.globl	_LAM1H
	.globl	_LAM1L
	.globl	_MSGID0L
	.globl	_MSGID0H
	.globl	_MSGCTRL0
	.globl	_MBX0A
	.globl	_MBX0B
	.globl	_MBX0C
	.globl	_MBX0D
	.globl	_MSGID1L
	.globl	_MSGID1H
	.globl	_MSGCTRL1
	.globl	_MBX1A
	.globl	_MBX1B
	.globl	_MBX1C
	.globl	_MBX1D
	.globl	_MSGID2L
	.globl	_MSGID2H
	.globl	_MSGCTRL2
	.globl	_MBX2A
	.globl	_MBX2B
	.globl	_MBX2C
	.globl	_MBX2D
	.globl	_MSGID3L
	.globl	_MSGID3H
	.globl	_MSGCTRL3
	.globl	_MBX3A
	.globl	_MBX3B
	.globl	_MBX3C
	.globl	_MBX3D
	.globl	_MSGID4L
	.globl	_MSGID4H
	.globl	_MSGCTRL4
	.globl	_MBX4A
	.globl	_MBX4B
	.globl	_MBX4C
	.globl	_MBX4D
	.globl	_MSGID5L
	.globl	_MSGID5H
	.globl	_MSGCTRL5
	.globl	_MBX5A
	.globl	_MBX5B
	.globl	_MBX5C
	.globl	_MBX5D
	.globl	_GPTCONA
	.globl	_T1CNT
	.globl	_T1CMPR
	.globl	_T1PR
	.globl	_T1CON
	.globl	_T2CNT
	.globl	_T2CMPR
	.globl	_T2PR
	.globl	_T2CON
	.globl	_COMCONA
	.globl	_ACTRA
	.globl	_DBTCONA
	.globl	_CMPR1
	.globl	_CMPR2
	.globl	_CMPR3
	.globl	_CAPCONA
	.globl	_CAPFIFOA
	.globl	_CAP1FIFO
	.globl	_CAP2FIFO
	.globl	_CAP3FIFO
	.globl	_CAP1FBOT
	.globl	_CAP2FBOT
	.globl	_CAP3FBOT
	.globl	_EVAIMRA
	.globl	_EVAIMRB
	.globl	_EVAIMRC
	.globl	_EVAIFRA
	.globl	_EVAIFRB
	.globl	_EVAIFRC
	.globl	_GPTCONB
	.globl	_T3CNT
	.globl	_T3CMPR
	.globl	_T3PR
	.globl	_T3CON
	.globl	_T4CNT
	.globl	_T4CMPR
	.globl	_T4PR
	.globl	_T4CON
	.globl	_COMCONB
	.globl	_ACTRB
	.globl	_DBTCONB
	.globl	_CMPR4
	.globl	_CMPR5
	.globl	_CMPR6
	.globl	_CAPCONB
	.globl	_CAPFIFOB
	.globl	_CAP4FIFO
	.globl	_CAP5FIFO
	.globl	_CAP6FIFO
	.globl	_CAP4FBOT
	.globl	_CAP5FBOT
	.globl	_CAP6FBOT
	.globl	_EVBIMRA
	.globl	_EVBIMRB
	.globl	_EVBIMRC
	.globl	_EVBIFRA
	.globl	_EVBIFRB
	.globl	_EVBIFRC
	.globl	_WSGR
	.file	"global.h"
	.globl	_port8001
	.file	"system.c"
	.globl	_globalLevel
	.globl	_ledVlu
	.globl	_bPowerUp
	.globl	_deviceAddr
	.globl	_cfgdata
	.globl	_pcdata
	.globl	_nothing
	.globl	_initSystem
	.globl	_disable
	.globl	_enable
	.globl	_systemDelay
	.text

	.sym	_nothing,_nothing,32,2,0
	.globl	_nothing

	.func	19
;>>>> 	void interrupt nothing()
******************************************************
* FUNCTION DEF : _nothing
******************************************************
_nothing:
	CALL	I$$SAVE
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

	.line	3
;>>>> 		asm(" clrc INTM");
 clrc INTM
EPI0_1:
	.line	4
	SBRK	1
	B	I$$REST,AR1   ;and return

	.endfunc	22,000000000H,1

	.sym	_initSystem,_initSystem,32,2,0
	.globl	_initSystem

	.func	23
;>>>> 	void initSystem()
******************************************************
* FUNCTION DEF : _initSystem
******************************************************
_initSystem:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

	.line	3
;>>>> 		asm(" setc INTM");
 setc INTM
	.line	4
;>>>> 		asm(" clrc SXM");
 clrc SXM
	.line	5
;>>>> 		asm(" clrc OVM");
;>>>> 	//	asm(" clrc CNF");        
 clrc OVM
	.line	8
;>>>> 		SCSR1 = 0x81fe;	/* clkin = 10M,clkout = 40M*/ 
	LDPK	_SCSR1
	SPLK	#-32258,_SCSR1
	.line	9
;>>>> 		IMR = 0x00;
	LACK	0
	LDPK	_IMR
	SACL	_IMR
	.line	10
;>>>> 		IFR = 0xFFFF;
	LDPK	_IFR
	SPLK	#-1,_IFR
	.line	12
;>>>> 		LB_0;UB_0;	// high,low byte selected
	LACK	65519
	LDPK	_MCRC
	AND	_MCRC
	SACL	_MCRC
	LACK	4096
	LDPK	_PEDATDIR
	OR	_PEDATDIR
	SACL	_PEDATDIR
	LACK	65519
	AND	_PEDATDIR
	SACL	_PEDATDIR
	LACK	65527
	LDPK	_MCRC
	AND	_MCRC
	SACL	_MCRC
	LACK	2048
	LDPK	_PEDATDIR
	OR	_PEDATDIR
	SACL	_PEDATDIR
	LACK	65527
	AND	_PEDATDIR
	SACL	_PEDATDIR
	.line	13
;>>>> 		A15_0;A16_0;A17_0;CS_RAM_1;cs_flash_1;//added after debugging
	LACK	32767
	LDPK	_MCRA
	AND	_MCRA
	SACL	_MCRA
	LALK	1,15
	LDPK	_PBDATDIR
	OR	_PBDATDIR
	SACL	_PBDATDIR
	LACK	65407
	AND	_PBDATDIR
	SACL	_PBDATDIR
	LACK	65471
	LDPK	_MCRB
	AND	_MCRB
	SACL	_MCRB
	LACK	1024
	LDPK	_PCDATDIR
	OR	_PCDATDIR
	SACL	_PCDATDIR
	LACK	65531
	AND	_PCDATDIR
	SACL	_PCDATDIR
	LACK	65471
	LDPK	_MCRA
	AND	_MCRA
	SACL	_MCRA
	LACK	16384
	LDPK	_PADATDIR
	OR	_PADATDIR
	SACL	_PADATDIR
	LACK	65471
	AND	_PADATDIR
	SACL	_PADATDIR
	LACK	63487
	LDPK	_MCRC
	AND	_MCRC
	SACL	_MCRC
	LACK	2056
	LDPK	_PFDATDIR
	OR	_PFDATDIR
	SACL	_PFDATDIR
	LACK	64511
	LDPK	_MCRC
	AND	_MCRC
	SACL	_MCRC
	LACK	1028
	LDPK	_PFDATDIR
	OR	_PFDATDIR
	SACL	_PFDATDIR
	.line	14
;>>>> 	   	Check_SST_39VF400A();	//added after debugging 
	CALL	_Check_SST_39VF400A
	.line	15
;>>>> 	   	readAllCfg();       	//added after debugging	
	CALL	_readAllCfg
	.line	16
;>>>> 	   	globalLevel = cfgdata[25] >> 8;
	RSXM
	LDPK	_cfgdata+25
	LAC	_cfgdata+25,7
	LDPK	_globalLevel
	SACH	_globalLevel,1
	.line	17
;>>>> 	   	if( (cfgdata[80]&0xff) == 0xAA )	//add watchdog
	LACK	255
	LDPK	_cfgdata+80
	AND	_cfgdata+80
	SUBK	170
	BNZ	L1
	.line	19
;>>>> 	   		WDCR = 0xaf;    		// enable watchdog 
	LACK	175
	LDPK	_WDCR
	SACL	_WDCR
	.line	20
;>>>> 			SCSR2 |= 0x20 ;	
;>>>> 	   	else					//no watchdog
	LACK	32
	LDPK	_SCSR2
	OR	_SCSR2
	SACL	_SCSR2
	B	L2
L1:
	.line	24
;>>>> 	   		SCSR2 |= 0x00;			//WD OVERRIDE = 1 
	.line	25
;>>>> 			WDCR = 0xe8;			// WDDIS = 1,clr wd,disable watchdog  
	LACK	232
	LDPK	_WDCR
	SACL	_WDCR
L2:
	.line	28
;>>>> 	   	externRam_init( );
	CALL	_externRam_init
	.line	29
;>>>> 		feedWatchDog();
	CALL	_feedWatchDog
	.line	30
;>>>> 		deviceAddr = readAddr( );//读设备地址 
	CALL	_readAddr
	LDPK	_deviceAddr
	SACL	_deviceAddr
	.line	32
;>>>> 	   	initIo( );
	CALL	_initIo
	.line	33
;>>>> 		initTimer3();    
	CALL	_initTimer3
	.line	34
;>>>> 		simInit();
	CALL	_simInit
	.line	35
;>>>> 		feedWatchDog();
	CALL	_feedWatchDog
	.line	36
;>>>> 		serialPortInit();	 
	CALL	_serialPortInit
	.line	37
;>>>> 		feedWatchDog();
	CALL	_feedWatchDog
	.line	38
;>>>> 		setX9c503ToLowest();
	CALL	_setX9c503ToLowest
	.line	39
;>>>> 		Pcf8583IoInit();//i2c 
	CALL	_Pcf8583IoInit
	.line	40
;>>>> 		ledOptInit();    // 273_clk,273_clr as ioport 
	CALL	_ledOptInit
	.line	41
;>>>> 		bPowerUp = 1;
	LACK	1
	LDPK	_bPowerUp
	SACL	_bPowerUp
	.line	42
;>>>> 		ledVlu = 0x00;	/* close 5 leds,opt out disable*/
	LACK	0
	LDPK	_ledVlu
	SACL	_ledVlu
	.line	43
;>>>> 	   	LedOptOut();
	CALL	_LedOptOut
	.line	44
;>>>> 		initRfPara();  
	CALL	_initRfPara
	.line	45
;>>>> 		enable();
;>>>> 	//	judgePower();
	CALL	_enable
EPI0_2:
	.line	47
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	69,000000000H,1

	.sym	_disable,_disable,32,2,0
	.globl	_disable

	.func	70
;>>>> 	void inline disable()
******************************************************
* FUNCTION DEF : _disable
******************************************************
_disable:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

	.line	3
;>>>> 		asm(" setc INTM");
 setc INTM
EPI0_3:
	.line	4
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	73,000000000H,1

	.sym	_enable,_enable,32,2,0
	.globl	_enable

	.func	74
;>>>> 	void inline enable()
******************************************************
* FUNCTION DEF : _enable
******************************************************
_enable:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

	.line	3
;>>>> 		asm(" clrc INTM");
 clrc INTM
EPI0_4:
	.line	4
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	77,000000000H,1

	.sym	_systemDelay,_systemDelay,32,2,0
	.globl	_systemDelay

	.func	79
;>>>> 	void systemDelay(uchar n) 
******************************************************
* FUNCTION DEF : _systemDelay
******************************************************
_systemDelay:

LF5	.set	0

	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,3
	LAR	AR0,*0+,AR2

	.sym	_n,-3+LF5,12,9,16
	.sym	_i,1,12,1,16
	.sym	_j,2,12,1,16
	.line	2
;>>>> 		uchar i,j;
	.line	4
;>>>> 		for(i=0;i<n;i++)	
	LACK	0
	LARK	AR2,1
	MAR	*0+
	SACL	* 
	ZALS	* 
	SBRK	4-LF5
	SUBS	* 
	BGEZ	L4
	MAR	* ,AR1
L3:
	.line	6
;>>>> 			feedWatchDog();
	CALL	_feedWatchDog,AR1
	.line	7
;>>>> 			for(j=0;j<10000;j++)
	LACK	0
	MAR	* ,AR2
	LARK	AR2,2
	MAR	*0+
	SACL	* 
	ZALS	* 
	SUBK	10000
	BGEZ	L6
L5:
	.line	9
;>>>> 				j=j;
	LAC	* 
	SACL	* 
	.line	7
	LAC	* 
	ADDK	1
	SACL	* 
	ZALS	* 
	SUBK	10000
	BLZ	L5
L6:
	.line	4
	MAR	*-
	LAC	* 
	ADDK	1
	SACL	* 
	ZALS	* 
	SBRK	4-LF5
	SUBS	* ,AR1
	BLZ	L3
L4:
EPI0_5:
	.line	12
	MAR	* ,AR1
	SBRK	4
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	90,000000000H,3

	.sym	_globalLevel,_globalLevel,12,2,16
	.globl	_globalLevel
*****************************************************
* UNDEFINED REFERENCES                              *
*****************************************************
	.global	I$$SAVE
	.global	I$$REST
	.global	_Check_SST_39VF400A
	.global	_readAllCfg
	.global	_externRam_init
	.global	_feedWatchDog
	.global	_readAddr
	.global	_initIo
	.global	_initTimer3
	.global	_simInit
	.global	_serialPortInit
	.global	_setX9c503ToLowest
	.global	_Pcf8583IoInit
	.global	_ledOptInit
	.global	_LedOptOut
	.global	_initRfPara
	.end

⌨️ 快捷键说明

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