wsin1.asm

来自「文件为美军4800bps语音压缩编码标准在TI的DSP芯片TMS320C5X上的」· 汇编 代码 · 共 58 行

ASM
58
字号
;	.data
;SINCOR	.INT 0EAABH,111H,0FFF9H
	;----------
WSIN1
	SACB
	LDP #STATUS
	SST #0,STATUS
	SST #1,STATUS+1
	LAMM AR0
	PUSH
	;==============
	LACB
	RETCD EQ          ;if(a==0) return 0;
	SFL		  ;ax0=(int)a<<2;
	SFL
	SACL ACCBUF
	SACB
	LACC #15
	SAMM TREG1
	SQRA ACCBUF	;TREG0=a
	PAC
	SATL		;ACC>>15
	SACL ACCBUF	;ACCBUF=((long)ax0*ax0)>>15;	//1.15
	LACC #2
	SAMM BRCR
	LAR AR0,#SINCOR
	MAR *,AR0
; for(i=0;i<3;i++)
; {   p32=(ax0*accb)>>15; ax0=p32; p32*=fscor[i]; acc+=(p32>>15);}
	RPTB WSIN1_1-1
	  MPY ACCBUF
	  PAC
	  SATL
	  SAMM TREG0	;pow(ax0,n)->TREG0, ACCBUF=(ax0*ax0)>>15
	  MPY *+
	  PAC
	  SATL
	  ADDB
	  SACB
WSIN1_1
	;=============
	LST #0,STATUS
	LST #1,STATUS+1
	POP
	SAMM AR0
	LACB
	RET
;=====================
;	if(a==0) return 0;
;	ax0=(int)a<<2;
;	accb=((long)ax0*ax0)>>15;	//1.15
;	acc=ax0;
;	for(i=0;i<3;i++)
;	 {   p32=ax0*accb;  p32>>=15;   ax0=p32;
;	     p32*=fscor[i]; p32>>=15;   acc+=p32;	 }
;	return (float)acc;
;--------------------------

⌨️ 快捷键说明

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