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

📄 conio.asm

📁 Texas-Instrument C2000 Series DSP example programs
💻 ASM
📖 第 1 页 / 共 2 页
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Beta Version 6.63       
*******************************************************
;	C:\DSP\2XX\DSPTOOLS\CGT\6.63B\dspac.exe -v2xx -i..\h ..\source\conio.c C:\WINDOWS\TEMP\conio.if 
;	C:\DSP\2XX\DSPTOOLS\CGT\6.63B\dspopt.exe -v2xx -s -O2 C:\WINDOWS\TEMP\conio.if C:\WINDOWS\TEMP\conio.opt 
;	C:\DSP\2XX\DSPTOOLS\CGT\6.63B\dspcg.exe -v2xx -o -n -o -n -o C:\WINDOWS\TEMP\conio.opt C:\WINDOWS\TEMP\conio.asm C:\WINDOWS\TEMP\conio.tmp 
	.port
	.file	"..\source\conio.c"
	.file	"c:\dsp\2xx\dsptools\cgt\6.63b\stdlib.h"
	.sym	_size_t,0,14,13,16
	.sym	_wchar_t,0,4,13,16
	.globl	_atoi
	.globl	_atol
	.globl	_atof
	.globl	_strtod
	.globl	_strtol
	.globl	_strtoul

	.stag	__div_t,32
	.member	_quot,0,4,8,16
	.member	_rem,16,4,8,16
	.eos
	.sym	_div_t,0,8,13,32,__div_t

	.stag	__ldiv_t,64
	.member	_quot,0,5,8,32
	.member	_rem,32,5,8,32
	.eos
	.sym	_ldiv_t,0,8,13,64,__ldiv_t
	.globl	_div
	.globl	_ldiv
	.globl	_rand
	.globl	_srand
	.globl	_calloc
	.globl	_free
	.globl	_malloc
	.globl	_minit
	.globl	_realloc
	.globl	_abort
	.globl	_exit
	.globl	_atexit
	.globl	_abs
	.globl	_labs
	.globl	_qsort
	.globl	_bsearch
	.globl	_getenv
	.globl	_ti_sprintf
	.file	"c:\dsp\2xx\dsptools\cgt\6.63b\math.h"
	.globl	_asin
	.globl	_acos
	.globl	_atan
	.globl	_atan2
	.globl	_ceil
	.globl	_cos
	.globl	_cosh
	.globl	_exp
	.globl	_fabs
	.globl	_floor
	.globl	_fmod
	.globl	_frexp
	.globl	_ldexp
	.globl	_log
	.globl	_log10
	.globl	_modf
	.globl	_pow
	.globl	_sin
	.globl	_sinh
	.globl	_sqrt
	.globl	_tan
	.globl	_tanh
	.file	"..\h\sci.h"
	.globl	_SCI_Init
	.globl	_kbhit
	.globl	_SCI_Getc
	.globl	_SCI_Sendc
	.globl	_SCI_Rdy_to_Send
	.file	"..\h\conio.h"
	.globl	_getch
	.globl	_putch
	.globl	_clrscr
	.globl	_sendstr_PMEM
	.globl	_sendstr_DMEM
	.globl	_getline
	.globl	_getlong
	.globl	_atol_F240
	.globl	_read_PMEM
	.file	"..\source\conio.c"
	.text

	.sym	_getch,_getch,36,2,0
	.globl	_getch

	.func	52
;>>>> 	int getch(void)
;>>>> 	int c;
******************************************************
* FUNCTION DEF : _getch
******************************************************
_getch:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LAR	AR0,*+

*
* AR5	assigned to variable  c
*
L2:
***	-----------------------g2:
*** 55	-----------------------    if ( (c = SCI_Getc()) == (-1) ) goto g2;
	.line	4
;>>>> 	    while (-1 == (c = SCI_Getc()));
	CALL	_SCI_Getc,AR1
	MAR	* ,AR0
	SACL	* 
	LAR	AR5,* 
	SAR	AR5,*
	SSXM
	LAC	* ,AR1
	SUBK	-1
	BZ	L2
*** 56	-----------------------    return c;
	.line	5
;>>>> 	    return c;
	MAR	* ,AR0
	SAR	AR5,*
	LAC	* 
EPI0_1:
	.line	6
	MAR	* ,AR1
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	57,000000000H,1

	.sym	_putch,_putch,32,2,0
	.globl	_putch

	.func	63
;>>>> 	void putch(int c)
******************************************************
* FUNCTION DEF : _putch
******************************************************
_putch:

LF2	.set	0

	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LAR	AR0,*+,AR2

	.sym	_c,-3+LF2,4,9,16
	.line	2
L4:
***	-----------------------g2:
*** 65	-----------------------    if ( SCI_Sendc(c) == (-1) ) goto g2;
	.line	3
;>>>> 	    while (-1 == SCI_Sendc(c));
	LARK	AR2,-3+LF2
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	CALL	_SCI_Sendc
	MAR	*-,AR2
	SSXM
	SUBK	-1
	BZ	L4
***  	-----------------------    return;
EPI0_2:
	.line	4
	MAR	* ,AR1
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	66,000000000H,1

	.sym	_clrscr,_clrscr,32,2,0
	.globl	_clrscr

	.func	72
;>>>> 	void clrscr(void)
******************************************************
* FUNCTION DEF : _clrscr
******************************************************
_clrscr:
	POPD	*+

*** 74	-----------------------    sendstr_PMEM("\033c");
	.line	3
;>>>> 	    sendstr_PMEM("\x1b\x63"); /* ESC-c */
	LRLK	AR3,SL0
	SAR	AR3,*+
	CALL	_sendstr_PMEM
	MAR	*-
*** 75	-----------------------    sendstr_PMEM("\017");
	.line	4
;>>>> 	    sendstr_PMEM("\x0f");
	LRLK	AR3,SL1
	SAR	AR3,*+
	CALL	_sendstr_PMEM
	MAR	*-
***  	-----------------------    return;
EPI0_3:
	.line	5
	SBRK	1
	PSHD	*
	RET

	.endfunc	76,000000000H,1

	.sym	_sendstr_PMEM,_sendstr_PMEM,32,2,0
	.globl	_sendstr_PMEM

	.func	88
;>>>> 	void sendstr_PMEM(char *x)
******************************************************
* FUNCTION DEF : _sendstr_PMEM
******************************************************
_sendstr_PMEM:

LF4	.set	0

	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,2
	LAR	AR0,*0+
;	<save register vars>
	SAR	AR6,*+,AR2

	.sym	_x,-3+LF4,20,9,16
*
* AR6	assigned to parameter x
*
	.sym	_buffer,1,4,1,16
	.line	2
;>>>> 	   char buffer;
	LARK	AR2,-3+LF4
	MAR	*0+
	LAR	AR6,* 
*** 92	-----------------------    goto g3;
	.line	5
;>>>> 	   buffer = read_PMEM(x);
;>>>> 	   while(buffer)
	B	L7
L5:
***	-----------------------g1:
*** 96	-----------------------    if ( SCI_Sendc(buffer) == (-1) ) goto g1;
	.line	9
;>>>> 	      while(-1 == SCI_Sendc(buffer));
	LARK	AR2,1
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	CALL	_SCI_Sendc
	MAR	*-,AR2
	SSXM
	SUBK	-1
	BZ	L5
*** 98	-----------------------    ++x;
	.line	11
;>>>> 	        x++;
	MAR	* ,AR6
	MAR	*+
L7:
***	-----------------------g3:
*** 99	-----------------------    if ( buffer = read_PMEM(x) ) goto g1;
	.line	12
;>>>> 	        buffer = read_PMEM(x);
	MAR	* ,AR1
	SAR	AR6,*+
	CALL	_read_PMEM
	MAR	*-,AR2
	LARK	AR2,1
	MAR	*0+
	SACL	* 
	BNZ	L5
***  	-----------------------    return;
EPI0_4:
	.line	15
	MAR	* ,AR1
;	<restore register vars>
	MAR	*-
	LAR	AR6,*
	SBRK	3
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	102,000000040H,2

	.sym	_sendstr_DMEM,_sendstr_DMEM,32,2,0
	.globl	_sendstr_DMEM

	.func	114
;>>>> 	void sendstr_DMEM(char *x)
******************************************************
* FUNCTION DEF : _sendstr_DMEM
******************************************************
_sendstr_DMEM:

LF5	.set	0

	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LAR	AR0,*+
;	<save register vars>
	SAR	AR6,*+,AR2

	.sym	_x,-3+LF5,20,9,16
*
* AR6	assigned to parameter x
*
	.line	2
	LARK	AR2,-3+LF5
	MAR	*0+
	LAR	AR6,* ,AR6
*** 116	-----------------------    if ( !*x ) goto g3;
	.line	3
;>>>> 	   while(*x)
	LAC	* 
	BZ	EPI0_5
L9:
***	-----------------------g2:
*** 118	-----------------------    if ( SCI_Sendc(*x) == (-1) || *(++x) ) goto g2;
	.line	5
;>>>> 	      while(-1 == SCI_Sendc(*x));
;>>>> 	        x++;
	LAC	* ,AR1
	SACL	*+
	CALL	_SCI_Sendc
	MAR	*-,AR6
	SSXM
	SUBK	-1
	BZ	L9
	MAR	*+
	LAC	* 
	BNZ	L9
***	-----------------------g3:
***  	-----------------------    return;
EPI0_5:
	.line	10
	MAR	* ,AR1
;	<restore register vars>
	MAR	*-
	LAR	AR6,*
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	123,000000040H,1

	.sym	_getlong,_getlong,37,2,0
	.globl	_getlong

	.func	132
;>>>> 	long getlong(char *text, long deflt, long lowlimit, long highlimit)
******************************************************
* FUNCTION DEF : _getlong
******************************************************
_getlong:

LF6	.set	0

	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,13
	LAR	AR0,*0+
;	<save register vars>
	SAR	AR6,*+,AR2

	.sym	_text,-3+LF6,20,9,16
	.sym	_deflt,-5+LF6,5,9,32
	.sym	_lowlimit,-7+LF6,5,9,32
	.sym	_highlimit,-9+LF6,5,9,32
*
* AR6	assigned to parameter text
*
	.sym	_val,1,5,1,32
	.sym	_buf,3,52,1,160,,10
	.line	2
;>>>> 	    char buf[10];
;>>>> 	    long val;
;>>>> 	    do
	LARK	AR2,-3+LF6
	MAR	*0+
	LAR	AR6,* ,AR1
L12:
***	-----------------------g2:
*** 139	-----------------------    sendstr_PMEM(text);
	.line	8
;>>>> 	        sendstr_PMEM(text);
	SAR	AR6,*+
	CALL	_sendstr_PMEM
	MAR	*-
*** 140	-----------------------    sendstr_PMEM("[");
	.line	9
;>>>> 	        sendstr_PMEM("[");
	LRLK	AR3,SL2
	SAR	AR3,*+
	CALL	_sendstr_PMEM
	MAR	*-,AR3
*** 141	-----------------------    ltoa(lowlimit, &buf);
	.line	10
;>>>> 	        ltoa(lowlimit, buf);
	LARK	AR3,3
	MAR	*0+,AR1
	SAR	AR3,*+,AR2
	LARK	AR2,-7+LF6
	MAR	*0+
	ZALS	*+
	ADDH	* ,AR1
	SACL	*+
	SACH	*+
	CALL	_ltoa
	SBRK	3
*** 142	-----------------------    sendstr_DMEM(&buf);
	.line	11
;>>>> 	        sendstr_DMEM(buf);
	MAR	* ,AR3
	LARK	AR3,3
	MAR	*0+,AR1
	SAR	AR3,*+
	CALL	_sendstr_DMEM
	MAR	*-
*** 143	-----------------------    sendstr_PMEM(",");
	.line	12
;>>>> 	        sendstr_PMEM(",");
	LRLK	AR3,SL3
	SAR	AR3,*+
	CALL	_sendstr_PMEM
	MAR	*-,AR3
*** 144	-----------------------    ltoa(highlimit, &buf);
	.line	13
;>>>> 	        ltoa(highlimit, buf);
	LARK	AR3,3
	MAR	*0+,AR1
	SAR	AR3,*+,AR2
	LARK	AR2,-9+LF6
	MAR	*0+
	ZALS	*+
	ADDH	* ,AR1
	SACL	*+
	SACH	*+
	CALL	_ltoa
	SBRK	3
*** 145	-----------------------    sendstr_DMEM(&buf);
	.line	14
;>>>> 	        sendstr_DMEM(buf);
	MAR	* ,AR3
	LARK	AR3,3
	MAR	*0+,AR1
	SAR	AR3,*+
	CALL	_sendstr_DMEM
	MAR	*-
*** 146	-----------------------    sendstr_PMEM("]");
	.line	15
;>>>> 	        sendstr_PMEM("]");
	LRLK	AR3,SL4
	SAR	AR3,*+
	CALL	_sendstr_PMEM
	MAR	*-
*** 147	-----------------------    sendstr_PMEM("<");
	.line	16
;>>>> 	        sendstr_PMEM("<");
	LRLK	AR3,SL5
	SAR	AR3,*+
	CALL	_sendstr_PMEM
	MAR	*-,AR3
*** 148	-----------------------    ltoa(deflt, &buf);
	.line	17
;>>>> 	        ltoa(deflt, buf);
	LARK	AR3,3
	MAR	*0+,AR1
	SAR	AR3,*+,AR2
	LARK	AR2,-5+LF6
	MAR	*0+
	ZALS	*+
	ADDH	* ,AR1
	SACL	*+
	SACH	*+
	CALL	_ltoa
	SBRK	3
*** 149	-----------------------    sendstr_DMEM(&buf);
	.line	18
;>>>> 	        sendstr_DMEM(buf);
	MAR	* ,AR3
	LARK	AR3,3
	MAR	*0+,AR1
	SAR	AR3,*+
	CALL	_sendstr_DMEM
	MAR	*-
*** 150	-----------------------    sendstr_PMEM(">: ");
	.line	19
;>>>> 	        sendstr_PMEM(">: ");
	LRLK	AR3,SL6
	SAR	AR3,*+
	CALL	_sendstr_PMEM
	MAR	*-
*** 151	-----------------------    getline(&buf, 10);
	.line	20
;>>>> 	        getline(buf,10);
	LACK	10

⌨️ 快捷键说明

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