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

📄 sio.asm

📁 dsp320lf2407上的相关程序文件
💻 ASM
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00       
*******************************************************
;	C:\tic2xx\c2000\cgtools\bin\dspac.exe -v2xx SIO.c C:\DOCUME~1\jjd\LOCALS~1\Temp\SIO.if 
;	dspopt NOT RUN
;	C:\tic2xx\c2000\cgtools\bin\dspcg.exe -o -v2xx -o C:\DOCUME~1\jjd\LOCALS~1\Temp\SIO.if C:\DOCUME~1\jjd\LOCALS~1\Temp\SIO.asm C:\DOCUME~1\jjd\LOCALS~1\Temp\SIO.tmp 
	.port
	.file	"SIO.c"
	.file	"f2407_c.h"
	.globl	_portFF0F
	.globl	_portFFFF
	.file	"SIO.c"
	.globl	_data_rec
	.globl	_delay
	.text

	.sym	_assic,_assic,46,2,0
	.globl	_assic

	.func	7
;>>>> 	unsigned int assic(unsigned int source)
******************************************************
* FUNCTION DEF : _assic
******************************************************
_assic:

LF1	.set	0

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

	.sym	_source,-3+LF1,14,9,16
	.line	2
;>>>> 		switch(source)
	B	L1
L2:
	.line	5
;>>>> 			case 0x000a:return(0x0041);
	LACK	65
	B	EPI0_1
L3:
	.line	6
;>>>> 			case 0x000b:return(0x0042);
	LACK	66
	B	EPI0_1
L4:
	.line	7
;>>>> 			case 0x000c:return(0x0043);
	LACK	67
	B	EPI0_1
L5:
	.line	8
;>>>> 			case 0x000d:return(0x0044);
	LACK	68
	B	EPI0_1
L6:
	.line	9
;>>>> 			case 0x000e:return(0x0045);
	LACK	69
	B	EPI0_1
L7:
	.line	10
;>>>> 			case 0x000f:return(0x0046);
	LACK	70
	B	EPI0_1
L8:
	.line	11
;>>>> 			default:return(source+0x30);
	MAR	* ,AR2
	LARK	AR2,-3+LF1
	MAR	*0+
	ZALS	* 
	ADDK	48
	ANDK	0FFFFh
	B	EPI0_1
L1:
	.line	3
	MAR	* ,AR2
	LARK	AR2,-3+LF1
	MAR	*0+
	ZALS	* 
	SUBK	10
	BZ	L2
	SUBK	1
	BZ	L3
	SUBK	1
	BZ	L4
	SUBK	1
	BZ	L5
	SUBK	1
	BZ	L6
	SUBK	1
	BZ	L7
	B	L8
EPI0_1:
	.line	13
	MAR	* ,AR1
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	19,000000000H,1

	.sym	_sio_write_data,_sio_write_data,32,2,0
	.globl	_sio_write_data

	.func	22
;>>>> 	void sio_write_data(unsigned int addr,unsigned data)
******************************************************
* FUNCTION DEF : _sio_write_data
******************************************************
_sio_write_data:

LF2	.set	0

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

	.sym	_addr,-3+LF2,14,9,16
	.sym	_data,-4+LF2,14,9,16
	.line	2
	.line	3
;>>>> 		enable();
	CALL	_enable
	.line	4
;>>>> 		*SCITXBUF=0x001b;
	LARK	AR3,28761
	LACK	27
	MAR	* ,AR3
	SACL	* 
L10:
	.line	5
;>>>> 	   	while((*SCICTL2&0x0080)==0);
	LARK	AR3,28756
	BIT	* ,8
	BBZ	L10
	.line	7
;>>>> 	   	*SCITXBUF=0x0057;
	LACK	87
	ADRK	5
	SACL	* 
L11:
	.line	8
;>>>> 	   	while((*SCICTL2&0x0080)==0);
	LARK	AR3,28756
	BIT	* ,8
	BBZ	L11
	.line	10
;>>>> 	   	*SCITXBUF=assic(addr/0x1000);
	RSXM
	MAR	* ,AR2
	LARK	AR2,-3+LF2
	MAR	*0+
	LAC	* ,3,AR1
	SACH	*+,1
	CALL	_assic
	MAR	*-,AR3
	LARK	AR3,28761
	SACL	* 
L12:
	.line	11
;>>>> 	   	while((*SCICTL2&0x0080)==0);
	LARK	AR3,28756
	BIT	* ,8
	BBZ	L12
	.line	13
;>>>> 	   	addr=addr%0x1000;
	LACK	4095
	MAR	* ,AR2
	LARK	AR2,-3+LF2
	MAR	*0+
	AND	* 
	SACL	* 
	.line	15
;>>>> 	   	*SCITXBUF=assic(addr/0x0100);
	RSXM
	LAC	* ,7,AR1
	SACH	*+,1
	CALL	_assic
	MAR	*-,AR3
	LARK	AR3,28761
	SACL	* 
L13:
	.line	16
;>>>> 	   	while((*SCICTL2&0x0080)==0);
	LARK	AR3,28756
	BIT	* ,8
	BBZ	L13
	.line	18
;>>>> 	   	addr=addr%0x0100;
	LACK	255
	MAR	* ,AR2
	LARK	AR2,-3+LF2
	MAR	*0+
	AND	* 
	SACL	* 
	.line	20
;>>>> 	   	*SCITXBUF=assic(addr/0x0010);
	RSXM
	LAC	* ,11,AR1
	SACH	*+,1
	CALL	_assic
	MAR	*-,AR3
	LARK	AR3,28761
	SACL	* 
L14:
	.line	21
;>>>> 	   	while((*SCICTL2&0x0080)==0);
	LARK	AR3,28756
	BIT	* ,8
	BBZ	L14
	.line	23
;>>>> 	   	addr=addr%0x0010;
	LACK	15
	MAR	* ,AR2
	LARK	AR2,-3+LF2
	MAR	*0+
	AND	* 
	SACL	* ,AR1
	.line	25
;>>>> 	   	*SCITXBUF=assic(addr);
	SACL	*+
	CALL	_assic
	MAR	*-,AR3
	LARK	AR3,28761
	SACL	* 
L15:
	.line	26
;>>>> 	   	while((*SCICTL2&0x0080)==0);
	LARK	AR3,28756
	BIT	* ,8
	BBZ	L15
	.line	28
;>>>> 	   	*SCITXBUF=assic(data/0x1000);
	RSXM
	MAR	* ,AR2
	LARK	AR2,-4+LF2
	MAR	*0+
	LAC	* ,3,AR1
	SACH	*+,1
	CALL	_assic
	MAR	*-,AR3
	LARK	AR3,28761
	SACL	* 
L16:
	.line	29
;>>>> 	   	while((*SCICTL2&0x0080)==0);
	LARK	AR3,28756
	BIT	* ,8
	BBZ	L16
	.line	31
;>>>> 	   	data=data%0x1000;
	LACK	4095
	MAR	* ,AR2
	LARK	AR2,-4+LF2
	MAR	*0+
	AND	* 
	SACL	* 
	.line	33
;>>>> 	   	*SCITXBUF=assic(data/0x0100);
	RSXM
	LAC	* ,7,AR1
	SACH	*+,1
	CALL	_assic
	MAR	*-,AR3
	LARK	AR3,28761
	SACL	* 
L17:
	.line	34
;>>>> 	   	while((*SCICTL2&0x0080)==0);
	LARK	AR3,28756
	BIT	* ,8
	BBZ	L17
	.line	36
;>>>> 	   	data=data%0x0100;
	LACK	255
	MAR	* ,AR2
	LARK	AR2,-4+LF2
	MAR	*0+
	AND	* 
	SACL	* 
	.line	38
;>>>> 	   	*SCITXBUF=assic(data/0x0010);
	RSXM
	LAC	* ,11,AR1
	SACH	*+,1
	CALL	_assic
	MAR	*-,AR3
	LARK	AR3,28761
	SACL	* 
L18:
	.line	39
;>>>> 	   	while((*SCICTL2&0x0080)==0);
	LARK	AR3,28756
	BIT	* ,8
	BBZ	L18
	.line	41
;>>>> 	   data=data%0x0010;
	LACK	15
	MAR	* ,AR2
	LARK	AR2,-4+LF2
	MAR	*0+
	AND	* 
	SACL	* ,AR1
	.line	43
;>>>> 	   	*SCITXBUF=assic(data);
	SACL	*+
	CALL	_assic
	MAR	*-,AR3
	LARK	AR3,28761
	SACL	* 
L19:
	.line	44
;>>>> 	   	while((*SCICTL2&0x0080)==0);
	LARK	AR3,28756
	BIT	* ,8
	BBZ	L19
	.line	46
;>>>> 	   	*SCITXBUF=0x000d;
	LACK	13
	ADRK	5
	SACL	* 
L20:
	.line	47
;>>>> 	   	while((*SCICTL2&0x0080)==0);
	LARK	AR3,28756
	BIT	* ,8
	BBZ	L20
EPI0_2:
	.line	50
	MAR	* ,AR1
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	71,000000000H,1

	.sym	_sio_read_data,_sio_read_data,32,2,0
	.globl	_sio_read_data

	.func	75
;>>>> 	void sio_read_data(unsigned int addr,unsigned int num_data)
******************************************************
* FUNCTION DEF : _sio_read_data
******************************************************
_sio_read_data:

LF3	.set	0

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

	.sym	_addr,-3+LF3,14,9,16
	.sym	_num_data,-4+LF3,14,9,16
	.line	2
	.line	4
;>>>> 		enable();
	CALL	_enable
	.line	5
;>>>> 		*SCITXBUF='';
	LARK	AR3,28761
	LACK	0
	MAR	* ,AR3
	SACL	* 
	.line	7
;>>>> 		*SCITXBUF=0x001b;
	LACK	27
	SACL	* 
L21:
	.line	8
;>>>> 	   	while((*SCICTL2&0x0080)==0);
	LARK	AR3,28756
	BIT	* ,8
	BBZ	L21
	.line	10
;>>>> 	   	*SCITXBUF=0x0052;
	LACK	82
	ADRK	5
	SACL	* 
L22:
	.line	11
;>>>> 	   	while((*SCICTL2&0x0080)==0);
	LARK	AR3,28756
	BIT	* ,8
	BBZ	L22
	.line	13
;>>>> 	   	*SCITXBUF=assic(addr/0x1000);
	RSXM
	MAR	* ,AR2
	LARK	AR2,-3+LF3
	MAR	*0+
	LAC	* ,3,AR1
	SACH	*+,1
	CALL	_assic
	MAR	*-,AR3
	LARK	AR3,28761
	SACL	* 
L23:
	.line	14
;>>>> 	   	while((*SCICTL2&0x0080)==0);
	LARK	AR3,28756
	BIT	* ,8
	BBZ	L23
	.line	16
;>>>> 	   	addr=addr%0x1000;
	LACK	4095
	MAR	* ,AR2
	LARK	AR2,-3+LF3
	MAR	*0+
	AND	* 
	SACL	* 
	.line	18
;>>>> 	   	*SCITXBUF=assic(addr/0x0100);
	RSXM
	LAC	* ,7,AR1
	SACH	*+,1
	CALL	_assic
	MAR	*-,AR3
	LARK	AR3,28761
	SACL	* 
L24:
	.line	19
;>>>> 	   	while((*SCICTL2&0x0080)==0);
	LARK	AR3,28756
	BIT	* ,8
	BBZ	L24
	.line	21
;>>>> 	   	addr=addr%0x0100;
	LACK	255
	MAR	* ,AR2
	LARK	AR2,-3+LF3
	MAR	*0+
	AND	* 
	SACL	* 
	.line	23
;>>>> 	   	*SCITXBUF=assic(addr/0x0010);
	RSXM
	LAC	* ,11,AR1
	SACH	*+,1
	CALL	_assic
	MAR	*-,AR3
	LARK	AR3,28761
	SACL	* 
L25:
	.line	24
;>>>> 	   	while((*SCICTL2&0x0080)==0);
	LARK	AR3,28756
	BIT	* ,8
	BBZ	L25
	.line	26
;>>>> 	   	addr=addr%0x0010;
	LACK	15
	MAR	* ,AR2
	LARK	AR2,-3+LF3
	MAR	*0+
	AND	* 
	SACL	* ,AR1
	.line	28
;>>>> 	   	*SCITXBUF=assic(addr);
	SACL	*+
	CALL	_assic
	MAR	*-,AR3
	LARK	AR3,28761
	SACL	* 
L26:
	.line	29
;>>>> 	   	while((*SCICTL2&0x0080)==0);
	LARK	AR3,28756
	BIT	* ,8
	BBZ	L26
	.line	31
;>>>> 	   	num_data=num_data%0x1000;
	LACK	4095
	MAR	* ,AR2
	LARK	AR2,-4+LF3
	MAR	*0+
	AND	* 
	SACL	* 
	.line	33
;>>>> 	   	*SCITXBUF=assic(num_data/0x0100);
	RSXM
	LAC	* ,7,AR1
	SACH	*+,1
	CALL	_assic
	MAR	*-,AR3
	LARK	AR3,28761
	SACL	* 
L27:
	.line	34
;>>>> 	   	while((*SCICTL2&0x0080)==0);
	LARK	AR3,28756
	BIT	* ,8
	BBZ	L27
	.line	36
;>>>> 	   	num_data=num_data%0x0100;
	LACK	255
	MAR	* ,AR2
	LARK	AR2,-4+LF3
	MAR	*0+
	AND	* 
	SACL	* 
	.line	38
;>>>> 	   	*SCITXBUF=assic(num_data/0x0010);
	RSXM
	LAC	* ,11,AR1
	SACH	*+,1
	CALL	_assic
	MAR	*-,AR3
	LARK	AR3,28761
	SACL	* 
L28:
	.line	39
;>>>> 	   	while((*SCICTL2&0x0080)==0);
	LARK	AR3,28756
	BIT	* ,8
	BBZ	L28
	.line	41
;>>>> 	    num_data=num_data%0x0010;
	LACK	15
	MAR	* ,AR2
	LARK	AR2,-4+LF3
	MAR	*0+
	AND	* 
	SACL	* ,AR1
	.line	43
;>>>> 	   	*SCITXBUF=assic(num_data);
	SACL	*+
	CALL	_assic
	MAR	*-,AR3
	LARK	AR3,28761
	SACL	* 
L29:
	.line	44
;>>>> 	   	while((*SCICTL2&0x0080)==0);
	LARK	AR3,28756
	BIT	* ,8
	BBZ	L29
	.line	46
;>>>> 	   	*SCITXBUF=0x000d;
	LACK	13
	ADRK	5
	SACL	* 
L30:
	.line	47
;>>>> 	   	while((*SCICTL2&0x0080)==0);
	LARK	AR3,28756
	BIT	* ,8
	BBZ	L30
	.line	50
;>>>> 	  delay(60000);
	MAR	* ,AR1
	LACK	60000
	SACL	*+
	CALL	_delay
	MAR	*-
EPI0_3:
	.line	54
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	128,000000000H,1
*****************************************************
* UNDEFINED REFERENCES                              *
*****************************************************
	.global	_enable
	.end

⌨️ 快捷键说明

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