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

📄 cor1.asm

📁 文件为美军4800bps语音压缩编码标准在TI的DSP芯片TMS320C5X上的实时实现源代码。
💻 ASM
字号:
	.version        50
	.mmregs
	.bss T1,1
	.bss T2,1
	.BSS COR,11*2		;COR[11] long type
	.bss SIGNAL,240
FLEN	.SET 240
HFLEN   .SET 120	;FLEN/2
HFLEN_1 .SET 120-1

	.data

S0	.copy "s_10.dat"		;240 signal values
TCOR	.COPY "C_10.DAT"

	.text

	CALL C50_INIT
	call GETCOR
here:	NOP
	B here
	.include "c50_init.asm"
GETCOR
	LDP #0
	SPLK #S0,BMAR
	MAR *,AR0
	lar ar0,#SIGNAL		;AR0->SIGNAL
	RPT #239
	  BLPD BMAR,*+		;S0[]->SIGNAL[240]
	;-------------------
	LAR AR0,#SIGNAL
	LAR AR1,#COR		;AR1->COR,AR0->SIGNAL
	LAR AR2,AR0
	LAR AR6,#HFLEN_1	;120-i,AR6--
	LAR AR7,#10		;REPEAT COUNT
	SPM 3
	;--------------------ARP=0
GETCOR0
	ZAP
	RPT #HFLEN_1
	  MAC #SIGNAL,*+
	APAC			;120 values sum ACC+=PREG*(2**shift)
	SFR			;ACC>>=1
	SACB			;ACC->ACCB
	;-----------
	ZAP
	RPT AR6			;AR6->RPTC
	  MAC #SIGNAL+120,*+
	APAC			;120 values sum ACC+=PREG*(2**shift)
	SFR			;ACC>>=1
	ADDB			;ACC+=ACCB
	;----GET C----------
	MAR *,AR1
	SACL *+   		;ARP=1
	SACH *+,0,AR6		;ARP=6
	;-----------------
	MAR *-,AR2		;AR6--,120-i
	MAR *+,AR7		;AR2++,*signal++
	LAR AR0,AR2		;AR2->AR0 ,ARP=7
	BANZ GETCOR0,*-,AR0

;  for (i = 0; i < n; i++)
;  {  for (*(c+i) = 0.0, k = i+1; k < idim; k++)
;     *(c+i) += *(rar+k) * *(rar+k-i-1);  }
   ;---------------
;  for (i = 0; i < n; i++)
;  {  for (acc=0l,*(c+i) = 0.0, k = i+1; k < idim/2; k++)
;    { // *(c+i) += *(rar+k) * *(rar+k-i-1);
;	ax0=rar[k];
;	ax1=rar[k-i-1];
;	p32=(long)ax0*ax1;
;	acc+=(p32>>shift6);
;    }
;    c[i]=(float)(acc>>shift1);

;    for (acc=0l, k = idim/2; k < idim; k++)
;    { // *(c+i) += *(rar+k) * *(rar+k-i-1);
;	ax0=rar[k];
;	ax1=rar[k-i-1];
;	p32=(long)ax0*ax1;
;	acc+=(p32>>shift6);
;    }
;    c[i]=c[i]+(float)(acc>>shift1);

	RET
	.end

⌨️ 快捷键说明

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