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

📄 wgetcor.asm

📁 文件为美军4800bps语音压缩编码标准在TI的DSP芯片TMS320C5X上的实时实现源代码。
💻 ASM
字号:
;	.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
;----AR1->(long)COR[11]**,  AR0->SIGNAL[240]
;----used AR7,AR6,AR2,SPM 0,
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--
	 lacc #HFLEN_1
	 sacl IBUF
	LAR AR7,#10		;REPEAT COUNT
	SPM 3
	;------------ARP=0
	;-------Begin calculating c0
	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
	rpt IBUF
	  MAC #SIGNAL+120,*+
	APAC			;(AR6) values sum ACC+=PREG*(2**shift)
	;SFR			;ACC>>=1
	ADDB			;ACC+=ACCB
	;----------------
	SUB #256
	BCND GLT256,LEQ		;JUMP IF C0<256
	;-----IF C0>=256-----------
	;----GET C----------
	ADD #256
	MAR *,AR1
	SACL *+   		;ARP=1
	SACH *+,0,AR6		;ARP=6
	;-----------------
	lacc IBUF
	sub #1
	sacl IBUF
	MAR *-,AR2		;AR6--,120-i
	MAR *+,AR7		;AR2++,*signal++
	MAR *-,AR0
	LAMM AR2
	SAMM AR0
	;LAR AR0,AR2		;AR2->AR0 ,ARP=0
	B COR_256
	;----IF C0<256-----------
GLT256
	SPM 0
	LAR AR0,#SIGNAL
	;--------------------ARP=0
COR_256
	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
	rpt IBUF
	  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
	;-----------------
	lacc IBUF
	sub #1
	sacl IBUF
	MAR *-,AR2		;AR6--,120-i
	MAR *+,AR7		;AR2++,*signal++
	LAR AR0,AR2		;AR2->AR0 ,ARP=7
	;LAMM AR2
	;SAMM AR0
	BANZ COR_256,*-,AR0
	SPM 0
	RET

⌨️ 快捷键说明

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