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

📄 ster_window16.s

📁 关于DVD的MPEG2用的DSP代码,在DSP的实现MPEG的压缩,解压算法.
💻 S
字号:
;************************************************************************
; (c)1996 Copyright LuxSonor, Inc. All rights reserved
;
; Revision 1.0
;
;	
;	Module:	 Windowing test code
;
;	Initial version:	Chialun Lu 1/24/97
;	Modified:			Cecile Foret 2/11/97
;				Jinshi Huang 12/1/98 for LS388/LS500
;	Calling	:			none
;	Called by:			fir16.S
;	Return:				none
;	Param in:			r5= start point for matched sequence
;						r6= start point for goal sequence
;						r7= start point for output sequence 
;	Temp reg:	
;	AGR  reg:	
;	Localarea buffer:
;	Register for return adress=r11
;************************************************************************

	.nolist
#include "regdef2.h"
#include "memory2.h"
	.list
	

	.data
	.global SUB_ster_windowing


SUB_ster_windowing:

;********* set up the pointers ******************************************
	movi	AGRAdr0,window0		; ptr on window, decrement
	movi	AGRSiz0, 0xffff		; linear buffer
	movi	AGRInc0, 0xfffe		; Decrement
	nop			; work around for interrupt bug
	nop			; work around for interrupt bug
	
	movi	r0, window1			; ptr on window, increment
	mov		AGRAdr1, r7			; ptr on output sequence 

	movi	AGRSiz1, 0xffff		; linear buffer
	movi	AGRInc1, 2*2		; increment: skip one channel on two	

#ifdef	EFFECT
	mov		AGRAdr5, r5			; a5 = pos1+length+deltac+0x1000
	movi	AGRInc5, 1*2		; increment of one sample
	movi	AGRSiz5, 0xffff		; linear buffer

	mov		AGRAdr4, r6			; a4 = pos1+N+deltap+0x1000
	movi	AGRSiz4, 0xffff		; linear buffer 
	movi	AGRInc4, 1*2		; increment of one sample
#else	//EFFECT
	mov		AGRAdr3, r5			; a3 = pos1+length+deltac+0x1000
	movi	AGRInc3, 1*2		; increment of one sample
	movi	AGRSiz3, 0xffff		; linear buffer

	mov		AGRAdr2, r6			; a2 = pos1+N+deltap+0x1000
	movi	AGRSiz2, 0xffff		; linear buffer 
	movi	AGRInc2, 1*2		; increment of one sample
#endif	//EFFECT
	
;**************************************
;***** desable interrupt mask *********
	    movi    TrapReg, 0x0
		nop
		nop

;**************************************
;**************************************
	

;********* do the windowing ********************************************

	loop	0,window_1			; loop 256 times !!
mult1:
#ifdef	EFFECT
	mulhf	r2,i4,a0(-2)	
	movhf	r4, l0
	maddhf	r2,r4,a5(2)
	nop
#else
	mulhf	r2,i2,a0(-2)	
	movhf	r4, l0
	maddhf	r2,r4,a3(2)
#endif	//EFFECT
	rndhf	i1, r2
	addi	r0, 2				; increments ptr on output sequence 

window_1:

;**************************************
;***** enable interrupt mask **********
	    movi    TrapReg, 0x24
;**************************************
;**************************************
	
	j		r11







⌨️ 快捷键说明

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