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

📄 led.asm

📁 EVM2407板卡上的测试程序源码
💻 ASM
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00       
*******************************************************
;	C:\TIC2XX\C2000\CGTOOLS\BIN\DSPAC.EXE -v2xx led.c C:\WINDOWS\TEMP\led.if 
;	dspopt NOT RUN
;	C:\TIC2XX\C2000\CGTOOLS\BIN\DSPCG.EXE -o -v2xx -o C:\WINDOWS\TEMP\led.if C:\WINDOWS\TEMP\led.asm C:\WINDOWS\TEMP\led.tmp 
	.port
	.file	"led.c"
	.globl	_port40
	.globl	_LEDTest
	.globl	_delay
	.globl	_LEDflash
	.text

	.sym	_LEDTest,_LEDTest,32,2,0
	.globl	_LEDTest

	.func	8
;>>>> 	void LEDTest(unsigned int count)
******************************************************
* FUNCTION DEF : _LEDTest
******************************************************
_LEDTest:

LF1	.set	0

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

	.sym	_count,-3+LF1,14,9,16
	.sym	_i,1,12,1,16
	.sym	_t,2,12,1,16
	.line	2
;>>>> 		unsigned char i,t;
	.line	4
;>>>> 		for(;count!=0;count--)
	LARK	AR2,-3+LF1
	MAR	*0+
	LAC	* 
	BZ	L2
	ADRK	5-LF1
L1:
	.line	6
;>>>> 		for(t=0,i=1;t<8;i=i<<1,t++)
	LACK	0
	SACL	*-
	LACK	1
	SACL	*+
	ZALS	* 
	SUBK	8
	BGEZ	L4
	MAR	*-
L3:
	.line	8
;>>>> 			LED=~i;
	LAC	* ,AR1
	CMPL
	SACL	* 
	LAC	* ,AR0
	SACL	* 
	OUT	* ,040h,AR1
	.line	9
;>>>> 			delay(500);
	LACK	500
	SACL	*+
	CALL	_delay
	MAR	*-,AR2
	.line	6
	LARK	AR2,1
	MAR	*0+
	LAC	* ,1
	SACL	*+
	LAC	* 
	ADDK	1
	SACL	* 
	ZALS	*-
	SUBK	8
	BLZ	L3
L4:
	.line	4
	LARK	AR2,-3+LF1
	MAR	*0+
	LAC	* 
	SUBK	1
	SACL	* 
	LAC	* 
	ADRK	5-LF1
	BNZ	L1
L2:
	.line	12
;>>>> 		LED=0xffff;
	LACK	65535
	MAR	* ,AR0
	SACL	* 
	OUT	* ,040h,AR1
EPI0_1:
	.line	13
	SBRK	4
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	20,000000000H,3

	.sym	_delay,_delay,32,2,0
	.globl	_delay

	.func	23
;>>>> 	void delay(unsigned int period)
******************************************************
* FUNCTION DEF : _delay
******************************************************
_delay:

LF2	.set	0

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

	.sym	_period,-3+LF2,14,9,16
	.sym	_periodi,1,4,1,16
	.sym	_periodj,2,4,1,16
	.line	2
;>>>> 	    int periodi, periodj;
	.line	5
;>>>> 	    for(periodi=0; periodi<period; periodi++)
	LACK	0
	LARK	AR2,1
	MAR	*0+
	SACL	* 
	ZALS	* 
	SBRK	4-LF2
	SUBS	* 
	BGEZ	L6
	ADRK	5-LF2
	RSXM ;;;
L5:
	.line	7
;>>>> 	        for(periodj=0; periodj<period>>1; periodj++);
	LACK	0
	SACL	* 
	SBRK	5-LF2
	LAC	* ,14,AR1
	SACH	* ,1,AR2
	ADRK	5-LF2
	ZALS	* ,AR1
	SUBS	* 
	BGEZ	L8
	MAR	* ,AR2
L7:
	LAC	* 
	ADDK	1
	SACL	* 
	SBRK	5-LF2
	LAC	* ,14,AR1
	SACH	* ,1,AR2
	ADRK	5-LF2
	ZALS	* ,AR1
	SUBS	* ,AR2
	BLZ	L7
L8:
	.line	5
	MAR	* ,AR2
	MAR	*-
	LAC	* 
	ADDK	1
	SACL	* 
	ZALS	* 
	SBRK	4-LF2
	SUBS	* 
	ADRK	5-LF2
	BLZ	L5
L6:
EPI0_2:
	.line	9
	MAR	* ,AR1
	SBRK	4
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	31,000000000H,3

	.sym	_LEDflash,_LEDflash,32,2,0
	.globl	_LEDflash

	.func	33
;>>>> 	void LEDflash(unsigned int id)
******************************************************
* FUNCTION DEF : _LEDflash
******************************************************
_LEDflash:

LF3	.set	0

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

	.sym	_id,-3+LF3,14,9,16
	.line	2
;>>>> 		while(1)
L9:
	.line	6
;>>>> 			LED=id;
	LARK	AR2,-3+LF3
	MAR	*0+
	OUT	* ,040h,AR1
	.line	7
;>>>> 			delay(1500);
	LACK	1500
	SACL	*+
	CALL	_delay
	MAR	*-,AR0
	.line	8
;>>>> 			LED=0xffff;
	LACK	65535
	SACL	* 
	OUT	* ,040h,AR1
	.line	9
;>>>> 			delay(1500);
	LACK	1500
	SACL	*+
	CALL	_delay
	MAR	*-,AR2
	.line	10
	B	L9
	.endfunc	43,000000000H,1
	.end

⌨️ 快捷键说明

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