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

📄 func.asm

📁 2407例程.rar
💻 ASM
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00       
*******************************************************
;	C:\tic2xx\c2000\cgtools\bin\dspac.exe -v2xx func.c C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\func.if 
;	dspopt NOT RUN
;	C:\tic2xx\c2000\cgtools\bin\dspcg.exe -o -v2xx -o C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\func.if C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\func.asm C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\func.tmp 
	.port
	.bss	_adc_res,16,1
	.file	"func.c"
	.file	"f2407_c.h"
	.globl	_portFF0F
	.globl	_portFFFF
	.file	"func.c"
	.globl	_port1000

	.sect	".cinit"
	.word	IS1,_adc_res
	.word	12
	.word	15
	.word	16
	.word	12
	.word	12
	.word	12
	.word	12
	.word	12
	.word	12
	.word	12
	.word	12
	.word	13
	.word	13
	.word	13
	.word	15
	.word	16
IS1	.set	16

	.sym	_adc_res,_adc_res,62,2,256,,16
	.globl	_adc_res
	.text

	.sym	_ini,_ini,32,2,0
	.globl	_ini

	.func	10
;>>>> 	void ini(void)
******************************************************
* FUNCTION DEF : _ini
******************************************************
_ini:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR3

	.line	5
;>>>> 	    *SCSR1 = 0x00FD;
	LARK	AR3,28696
	LACK	253
	SACL	*+
	.line	22
;>>>> 	    *SCSR2 = (*SCSR2 | 0x000B) & 0x000F;
	LACK	11
	OR	* 
	ANDK	15
	SACL	* 
	.line	34
;>>>> 	    *WDCR  = 0x00E8;
	LACK	232
	ADRK	16
	SACL	* ,AR0
	.line	45
;>>>> 	    WSGR = 0x0040;
	LACK	64
	SACL	* 
	OUT	* ,0ffffh,AR3
	.line	56
;>>>> 	    *MCRA = 0x0fc0;                     /* group A pins */
	ADRK	103
	SPLK	#4032,* 
	.line	76
;>>>> 	    *MCRB = 0xFE00;                     /* group B pins */
	ADRK	2
	SPLK	#65024,* 
	.line	96
;>>>> 	    *MCRC = 0x0000;                     /* group C pins */
	LACK	0
	ADRK	2
	SACL	* ,AR4
	.line	115
;>>>> 		*IMR = 0x0000;                      /* clear the IMR register */
	LARK	AR4,4
	SACL	* 
	.line	116
;>>>> 	   	*IFR = 0xffff;
	ADRK	2
	SPLK	#65535,* 
	.line	117
;>>>> 	    *IMR = 0x0001;
	LACK	1
	SBRK	2
	SACL	* ,AR5
	.line	120
;>>>> 	    *EVAIFRA = 0xFFFF;                  /* clear all EVA group A interrupts */
	LARK	AR5,29743
	SPLK	#65535,*+
	.line	121
;>>>> 	    *EVAIFRB = 0xFFFF;                  /* clear all EVA group B interrupts */
	SPLK	#65535,*+
	.line	122
;>>>> 	    *EVAIFRC = 0xFFFF;                  /* clear all EVA group C interrupts */
	SPLK	#65535,* ,AR4
	.line	123
;>>>> 	    *EVAIMRA = 0x0000;                  /* enable desired EVA group A interrupts */
	SBRK	4
	MAR	* ,AR5
	SBRK	5
	SAR	AR4,*+
	.line	124
;>>>> 	    *EVAIMRB = 0x0000;                  /* enable desired EVA group B interrupts ENABLE TIME2*/
	SAR	AR4,*+
	.line	125
;>>>> 	    *EVAIMRC = 0x0000;                  /* enable desired EVA group C interrupts */
	SAR	AR4,* 
	.line	127
;>>>> 	    *EVBIFRA = 0xFFFF;                  /* clear all EVB group A interrupts */
	LARK	AR5,29999
	SPLK	#65535,*+
	.line	128
;>>>> 	    *EVBIFRB = 0xFFFF;                  /* clear all EVB group B interrupts */
	SPLK	#65535,*+
	.line	129
;>>>> 	    *EVBIFRC = 0xFFFF;                  /* clear all EVB group C interrupts */
	SPLK	#65535,* 
	.line	130
;>>>> 	    *EVBIMRA = 0x0000;                  /* enable desired EVB group A interrupts */
	SBRK	5
	SAR	AR4,*+
	.line	131
;>>>> 	    *EVBIMRB = 0x0000;                  /* enable desired EVB group B interrupts */
	SAR	AR4,*+
	.line	132
;>>>> 	    *EVBIMRC = 0x0000;                  /* enable desired EVB group C interrupts */
	SAR	AR4,* ,AR1
EPI0_1:
	.line	133
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	142,000000000H,1

	.sym	_init_adc,_init_adc,32,2,0
	.globl	_init_adc

	.func	144
;>>>> 	void init_adc(void)
******************************************************
* FUNCTION DEF : _init_adc
******************************************************
_init_adc:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR3

	.line	3
;>>>> 		*T4CNT=0x0000;
	LARK	AR3,29957
	LACK	0
	SACL	* 
	.line	4
;>>>> 		*T4CON=0x170c;
	ADRK	3
	SPLK	#5900,*-
	.line	5
;>>>> 		*T4PR=0x75;
	LACK	117
	SACL	* 
	.line	6
;>>>> 		*GPTCONB=0x400;
	SBRK	7
	SPLK	#1024,* 
	.line	7
;>>>> 		*EVBIFRB=0xffff;
	ADRK	48
	SPLK	#65535,* ,AR4
	.line	8
;>>>> 		*ADCTRL1=0x10;
	LARK	AR4,28832
	LACK	16
	SACL	*+
	.line	9
;>>>> 		*ADCTRL2=0x8404;
	SPLK	#33796,*+
	.line	10
;>>>> 		*MAX_CONV=0x0F;
	LACK	15
	SACL	*+
	.line	11
;>>>> 		*CHSELSEQ1=0x3210;
	SPLK	#12816,*+
	.line	12
;>>>> 		*CHSELSEQ2=0x7654;
	SPLK	#30292,* 
	.line	13
;>>>> 		*CHSELSEQ2=0xba98; 
	SPLK	#47768,* 
	.line	14
;>>>> 		*CHSELSEQ2=0xfedc;  
	SPLK	#65244,* ,AR1
EPI0_2:
	.line	15
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	158,000000000H,1

	.sym	_adc_soc,_adc_soc,32,2,0
	.globl	_adc_soc

	.func	160
;>>>> 	void adc_soc(void)
******************************************************
* FUNCTION DEF : _adc_soc
******************************************************
_adc_soc:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR3

	.line	3
;>>>> 		*T4CON=*T4CON|0x40;
	LARK	AR3,29960
	LACK	64
	OR	* 
	SACL	* ,AR1
EPI0_3:
	.line	4
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	163,000000000H,1

	.sym	_int1,_int1,32,2,0
	.globl	_int1

	.func	165
;>>>> 	void interrupt int1(void)
;>>>> 		unsigned int i;
;>>>> 		switch(*PIVR)
;>>>> 			case 0x0004:		/*ADC interrupt*/
******************************************************
* FUNCTION DEF : _int1
******************************************************
_int1:
	CALL	I$$SAVE
	SAR	AR1,*
	LARK	AR0,2
	LAR	AR0,*0+

	.sym	_i,1,14,1,16
	B	L1
L2:
	.line	8
;>>>> 				asm("	clrc SXM");
	clrc SXM
	.line	9
;>>>> 				for(i=0;i<16;i++)
	LACK	0
	MAR	* ,AR2
	LARK	AR2,1
	MAR	*0+
	SACL	* 
	ZALS	* 
	SUBK	16
	BGEZ	L5
	RSXM ;;;
L3:
	.line	10
;>>>> 					adc_res[i]=*(RESULT0+i)>>6; 
	LAC	* ,AR0
	ADDK	28840
	SACL	* 
	LAR	AR3,* ,AR3
	LAC	* ,9,AR1
	SACH	* ,1,AR2
	LAC	* ,AR0
	ADLK	_adc_res+0,0
	SACL	* 
	LAR	AR3,* ,AR1
	LAC	* ,AR3
	SACL	* ,AR2
	.line	9
	LAC	* 
	ADDK	1
	SACL	* 
	ZALS	* 
	SUBK	16
	BLZ	L3
	.line	11
;>>>> 				break;
;>>>> 			default:
;>>>> 				;
	B	L5
L1:
	.line	4
	LARK	AR3,28702
	MAR	* ,AR3
	ZALS	* 
	SUBK	4
	BZ	L2
L5:
	.line	16
;>>>> 		*ADCTRL2|=0x4200;
	LARK	AR3,28833
	LACK	16896
	MAR	* ,AR3
	OR	* 
	SACL	* ,AR4
	.line	17
;>>>> 		*IFR|=0x0001;
	LARK	AR4,6
	LACK	1
	OR	* 
	SACL	* 
	.line	19
;>>>> 		asm(" CLRC INTM");
 CLRC INTM
EPI0_4:
	.line	20
	MAR	* ,AR1
	SBRK	2
	B	I$$REST,AR1   ;and return

	.endfunc	184,000000000H,2
*****************************************************
* UNDEFINED REFERENCES                              *
*****************************************************
	.global	I$$SAVE
	.global	I$$REST
	.end

⌨️ 快捷键说明

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