亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? finite impulse response filter.txt

?? c6000的標準函數庫
?? TXT
字號:
*===============================================================================
*
*	TEXAS INSTRUMENTS, INC.
*
*	FIRCIRC
*
*	Revision Data: 03/27/97
*
*	USAGE 	This routine is C Callable and can be called as:
*
*		void fircirc(short y[], short x[], int n, short h[], int s, 
*			     int m, int size, int index)
*
*		y 	= output array
*		x 	= input array
*		n 	= number of coefficients (MULTIPLE of 4 >= 4)
*		h 	= coefficient array
*		s 	= output scaling factor
*		m 	= number of inputs (MULTIPLE of 2 >= 2)
*		size	= Block Size Factor for Circular Addressing (Block Size
*			  = 2^(size + 1))
*		index	= Initial Index
*
*		If routine is not to be used as a C callable function
*		then all instructions relating to stack should be removed.
*		Refer to comments of individual instructions.  You will also
*		need to initialize values for all of the values passed as these
*		are assumed to be in registers as defined by the calling 
*		convention of the compiler, (refer to the C compiler reference
*		guide).
*
*	C CODE 	This is the C equivalent of the assembly code without
*		restrictions.  Note that the assembly code is hand optimized and
*		restrictions may apply.
*
*		void fircirc(short y[], short x[], int n, short h[], int s,
*			     int m, int size, int index)
*			{
*			int		i, j;
*			Long40		y0;
*			Long40		round = (Long40) 1 << (s - 1);
*			for (j = 0; j < m; j++) {
*			    y0 = 0; 
*			    for (i = 0; i < n; i++)
*			        y0 += x[(i + j + index) % (1 << size)] * h[i];
*			    y[j] = y0 >> s;
*			    }
*			}
*
*	DESCRIPTION
*		The fircirc performs a Finite Impulse Response filter using
*		circular addressing w/ inital index and output scaling.  It
*		operates on 16-bit data with a 40-bit accumulate.  The final
*		output is scaled down by the scaling factor s.  The scaling
*		factor s is normaly set to 24 to give a 16 bit output.  The FIR
*		assumes	the number of filter coeficients is a multiple of 4 and
*		the number of output samples is a multiple of 2.  This routine
*		has no memory hits regardless of where x, h, and y arrays are
*		located in memory.  The filter has M input samples and N
*		coefficients.  The assembly routine performs 2 output samples at
*		a time.	The Block Size of the Circular Buffer given in Bytes is 
*		2^(SIZE + 1).
*
*	TECHNIQUES
*		The inner loop is unrolled four times thus the number of 
*		filter coefficients must be a multiple of four.  The outer
*		loop is unrolled twice so the number of output samples must
*		be a multiple of 2.
*
*		If an odd number of output samples is needed or possible, the
*		final store can either be removed or conditionally executed 
*		depending on whether M is even or odd.  This code would have to 
*		be added to the existing code.
*
*		The outer loop, like the inner loop, is software pipelined as
*		well.  e, o, and p in the comments of the individual 
*		instructions correspond to the epilogue, outer loop, and
*		prologue respectively.
*
*		Refer to FIR example in the optimizing assembly chapter of
*		the programmer's guide for more information.
*
*	ASSUMPTIONS
*		N MULTIPLE of 4 >= 4
*		M EVEN >= 2
*
*	MEMORY NOTE
*		This code has no memory hits regardless of where x and h are
*		located in memory.
*
*	CYCLES	M*(N + 11)/2 + 13
*
*===============================================================================
	.global _fircirc
	.text

_fircirc:
	STW	.D2	B10,	*B15--		; push B10 on the stack
||	MV	.L1X	B15,	A1		; copy stack pointer

	STW	.D2	A10,	*B15--[2]	; push A10 on the stack
||	STW	.D1	B11,	*--A1[2]	; push B11 on the stack

	STW	.D2	A11,	*B15--[2]	; push A11 on the stack
||	STW	.D1	B12,	*--A1[2]	; push B12 on the stack

*** BEGIN Benchmark Timing ***
B_START
	B	.S1	OUTLOOP
||	ADD	.D1	6,	A6,	A10	; n + 6 half array reset
||	SHL	.S2X	A10,	16,	B0	; set circular block size 
||	ADDAH	.D2	B4,	B10,	B4	; x += index
||	MV	.L1X	B3,	A0		; copy return address
||	MV	.L2	B8,	B1		; move m

	SHR	.S1	A6,	2,	A3	; n / 4
||	MV	.L2X	A10,	B10		; copy array reset
||	SET	.S2	B0,	8, 8,	B0	; set B4 (x) in circular mode
||	ADD	.L1X	2,	B6,	A5	; copy h
||	STW	.D2	A12,	*B15--[2]	; push A12 on the stack
||	STW	.D1	B13,	*--A1[2]	; push B13 on the stack

	ADD	.L1X	2,	B4,	A7	; copy x
||	ADD	.L2	B10,	2,	B14	; array reset
||	SET	.S2	B0,	6, 6,	B0	; set A7 (x) in circular mode
||	STW	.D2	A13,	*B15--[2]	; push A13 on the stack
||	STW	.D1	B14,	*--A1[2]	; push B15 on the stack

	ADDAH	.D1	A5,	A10,	A5	; compensate for first pass
||	ADDAH	.D2	B6,	B10,	B5	; compensate for first pass
||	MVC	.S2	B0,	AMR		; setup AMR

	ADDAH	.D1	A7,	A10,	A7	; compensate for first pass
||	ADDAH	.D2	B4,	B14,	B4	; compensate for first pass
||	MVK	.S2	1,	B2		; setup j loop priming

	ADD	.L2X	2,	A4,	B11	; copy y
||	STW	.D2	A15,	*B15--		; push A15 on the stack

LOOP:	; LOOP BEGINS HERE
  [!A1]	ADD	.L2X	A9,	B13:B12,B13:B12	; y1 += p00,		i=0
||[!A1]	ADD	.L1X	B9,	A13:A12,A13:A12	; y0 += p01,		i=0
||	MPY	.M2	B3,	B7,	B6	; p11 = x1 * h1,	i=1
||	MPY	.M1	A6,	A11,	A11	; p00 = x0 * h0,	i=1
||	LDH	.D1	*++A5[2],	B9	;** h1 = *h++,		i=0
||	LDH	.D2	*++B5[2],	A9	;** h0 = *h++,		i=0

  [!A1]	ADD	.L2	B6,	B13:B12,B13:B12	; y1 += p11,		i=0
||[!A1]	ADD	.L1	A6,	A13:A12,A13:A12	; y0 += p10,		i=1
||	MPY	.M1X	B3,	A9,	A15	;* p10 = x1 * h0,	i=0
||	MPY	.M2X	A15,	B9,	B9	;* p01 = x0 * h1,	i=0
||	LDH	.D2	*++B4[2],	B3	;** x1 = *x++,		i=1
||	LDH	.D1	*++A7[2],	A6	;** x0 = *x++,		i=1
||[A2]	SUB	.S1	A2,	1,	A2	; i++

  [A2]	B	.S1	LOOP			;* for i
||[!A1]	ADD	.L2X	A11,	B13:B12,B13:B12	; y1 += p00,		i=1
||[!A1]	ADD	.L1X	B7,	A13:A12,A13:A12	; y0 += p01,		i=1
||	MPY	.M2	B8,	B9,	B6	;* p11 = x1 * h1,	i=0
||	MPY	.M1	A15,	A9,	A9	;* p00 = x0 * h0,	i=0
||	LDH	.D1	*++A5[2],	B7	;** h1 = *h++,		i=1
||	LDH	.D2	*++B5[2],	A11	;** h0 = *h++		i=1
||[B0]	SUB	.S2	B0,	1,	B0	; decrement flushing count

  [!A1]	ADD	.L2	B6,	B13:B12,B13:B12	; y1 += p11,		i=1
||[B0]	ADD	.L1	A15,	A13:A12,A13:A12	;* y0 += p10,		i=0
||	MPY	.M2X	A6,	B7,	B7	;* p01 = x0 * h1,	i=1
||	MPY	.M1X	B8,	A11,	A6	;* p10 = x1 * h0,	i=1
||	LDH	.D2	*++B4[2],	B8	;*** x1 = *x++,		i=0
||	LDH	.D1	*++A7[2],	A15	;*** x0 = *x++,		i=0
||[A1]	SUB	.S1	A1,	1,	A1	; decrement priming

	; inner loop branch occurs here
OUTLOOP:
	LDH	.D2	*--B4[B14],	B3	;p x1 = *x++,		i=1

  [B1]	B	.S2	LOOP			;p for i
||	LDH	.D2	*++B4[2],	B8	;p x1 = *x++,		i=0
||	LDH	.D1	*--A7[A10],	A15	;p x0 = *x++,		i=0
||	MV	.L2X	A8,	B6		;o copy s
||	SUB	.L1	A8,	1,	A1	;o s - 1
||	SHR	.S1	A13:A12,A8,	A13:A12	;e y0 >>= s

	SHR	.S2	B13:B12,B6,	B13:B12	;e y1 >>= s
||	LDH	.D1	*--A5[A10],	B9	;p h1 = *h++,		i=0
||	LDH	.D2	*--B5[B10],	A9	;p h0 = *h++,		i=0

  [!B2]	STH	.D1	A12,	*A4++[2]	;e y[0] = y0
||[!B2]	STH	.D2	B12,	*B11++[2]	;e y[1] = y1
||	MVK	.S1	1,	A12		;o \ round = (Long40) 1
||	ZERO	.L1	A13			;o /
||	ZERO	.L2	B2			;o clear j loop priming

	LDH	.D2	*++B4[2],	B3	;p x1 = *x++,		i=1
||	LDH	.D1	*++A7[2],	A6	;p x0 = *x++,		i=1
||	SHL	.S1	A13:A12,A1,	A13:A12	;o y0 = round = (Long40) 1<<(s-1)
||	ADD	.L2X	1,	A3,	B0	;p setup flushing count

  [B1]	B	.S2	LOOP			;p for i
||	LDH	.D1	*++A5[2],	B7	;p h1 = *h++,		i=1
||	LDH	.D2	*++B5[2],	A11	;p h0 = *h++		i=1
||	MV	.L2X	A13,	B13		;o y1 = round

	LDH	.D2	*++B4[2],	B8	;p* x1 = *x++,		i=0
||	LDH	.D1	*++A7[2],	A15	;p* x0 = *x++,		i=0
||	MV	.L2X	A12,	B12		;o y1 = round
||[B1]	SUB	.S2	B1,	2,	B1	;p j++
||	MV	.L1	A3,	A2		;p i < n
||	MVK	.S1	1,	A1		;p i loop priming

B_END:
*** END Benchmark Timing ***

END:	LDW	.D2	*++B15,		A15	; pop A15 off the stack
||	MV	.L1X	B15,	A1		; copy stack pointer

	LDW	.D1	*++A1[3],	A13	; pop A13 off the stack
||	LDW	.D2	*++B15,		B14	; pop B14 off the stack

	LDW	.D1	*++A1[2],	A12	; pop A12 off the stack
||	LDW	.D2	*++B15[2],	B13	; pop B13 off the stack

	LDW	.D1	*++A1[2],	A11	; pop A11 off the stack
||	LDW	.D2	*++B15[2],	B12	; pop B12 off the stack
||	MV	.L2X	A0,	B3		; move return address

	LDW	.D1	*++A1[2],	A10	; pop A10 off the stack
||	LDW	.D2	*++B15[2],	B11	; pop B11 off the stack
||	B	.S2	B3

	LDW	.D2	*++B15[2],	B10	; pop B10 off the stack

	NOP 	4

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人黄色软件下载| 国产亚洲欧洲997久久综合| 欧美mv日韩mv| 亚洲摸摸操操av| 国内精品视频一区二区三区八戒| caoporn国产精品| 91精品国产综合久久久久久久久久| 国产拍揄自揄精品视频麻豆| 五月天久久比比资源色| 99久久精品国产毛片| 精品国产免费一区二区三区四区 | 亚洲色图色小说| 久久99热99| 欧美日韩精品是欧美日韩精品| 久久精品亚洲麻豆av一区二区 | 国产高清在线精品| 欧美一区二区三区在线观看 | 一区二区三区精品在线| 国产河南妇女毛片精品久久久| 91精品福利在线一区二区三区| 亚洲欧洲一区二区三区| 国产精品一级在线| 精品成人a区在线观看| 日精品一区二区| 精品视频999| 亚洲综合清纯丝袜自拍| 91猫先生在线| 国产精品国产三级国产a| 国产精品一区2区| 精品国产一区久久| 国产永久精品大片wwwapp | 日韩专区欧美专区| 欧美性大战久久久久久久 | 国产精品美女一区二区| 国产乱子轮精品视频| 久久综合九色综合97_久久久| 看片网站欧美日韩| 日韩一区二区三区电影在线观看| 日韩和欧美一区二区| 在线不卡a资源高清| 人妖欧美一区二区| 日韩一区二区三区免费观看| 老司机午夜精品| 久久亚洲欧美国产精品乐播| 国产精品一区二区视频| 国产精品欧美一区喷水| 99视频精品全部免费在线| 亚洲免费观看高清完整版在线| 91美女蜜桃在线| 五月综合激情网| 日韩一区二区在线观看视频| 精品一区二区免费在线观看| 久久欧美中文字幕| 成人av在线播放网站| 一区二区三区高清在线| 欧美另类videos死尸| 韩国精品在线观看| 国产精品久久久久精k8| 欧美午夜免费电影| 美女免费视频一区| 国产免费成人在线视频| 国产日产欧产精品推荐色| 99精品久久只有精品| 亚洲成精国产精品女| 日韩视频不卡中文| www.成人网.com| 丝袜美腿亚洲一区二区图片| 久久九九全国免费| 欧美综合色免费| 国产尤物一区二区在线| 亚洲三级视频在线观看| 日韩欧美国产一二三区| 99国产欧美另类久久久精品| 三级精品在线观看| 久久精品日韩一区二区三区| 欧美午夜寂寞影院| 国产激情一区二区三区四区| 亚洲国产精品尤物yw在线观看| 欧美成人女星排名| 在线观看亚洲a| 国产一区二区导航在线播放| 一区二区三区精品久久久| 久久久久久日产精品| 欧美日韩一区二区三区四区五区| 国产91精品欧美| 婷婷成人激情在线网| 国产精品毛片久久久久久 | 色狠狠色狠狠综合| 精品一区二区在线视频| 亚洲精品中文在线| 久久久不卡网国产精品一区| 欧美精品一二三四| 色一情一伦一子一伦一区| 国产在线播放一区二区三区| 午夜成人免费电影| 一区二区三区国产精华| 国产精品久久久久影院老司| 精品美女被调教视频大全网站| 欧美日韩国产综合视频在线观看| gogogo免费视频观看亚洲一| 国产精品夜夜爽| 久久99热狠狠色一区二区| 五月天激情小说综合| 亚洲一区二区三区免费视频| 亚洲欧美色一区| 日韩伦理av电影| 国产精品久久一级| 日本最新不卡在线| 亚洲一区在线看| 一区二区三区四区蜜桃| 亚洲欧美日韩国产成人精品影院| 欧美国产日韩精品免费观看| 久久久久久久久久久久电影| 精品盗摄一区二区三区| 精品噜噜噜噜久久久久久久久试看 | 免费看日韩a级影片| 同产精品九九九| 天天综合日日夜夜精品| 日韩电影在线观看一区| 免费观看日韩电影| 久久狠狠亚洲综合| 国产一区二区三区四区五区美女| 极品少妇一区二区三区精品视频| 美女www一区二区| 久久爱另类一区二区小说| 韩国av一区二区三区| 国产一区二区三区四区五区美女 | 国产精品18久久久| 国产成人三级在线观看| 成人精品免费看| xf在线a精品一区二区视频网站| 精品三级在线观看| 亚洲精品一区二区三区蜜桃下载| 国产午夜久久久久| 亚洲欧美一区二区视频| 亚洲国产日日夜夜| 视频在线观看国产精品| 国产揄拍国内精品对白| k8久久久一区二区三区| 欧美色爱综合网| 日韩欧美激情一区| 日本一区二区三区国色天香| 亚洲欧洲99久久| 水蜜桃久久夜色精品一区的特点| 久久99久久99精品免视看婷婷 | 久久久精品欧美丰满| 一区在线观看免费| 天天爽夜夜爽夜夜爽精品视频| 精品一区二区三区在线观看 | 青青草国产精品97视觉盛宴| 韩国欧美国产一区| 91免费视频观看| 7777精品伊人久久久大香线蕉完整版 | 国产麻豆精品在线观看| 99re热视频这里只精品| 91精品国产综合久久久久久久久久| 久久新电视剧免费观看| 一区二区日韩电影| 国产最新精品免费| 91久久精品一区二区三区| 精品国产免费视频| 夜夜揉揉日日人人青青一国产精品| 麻豆国产欧美日韩综合精品二区| 成人黄色在线视频| 91精品国产综合久久蜜臀| 精品一区二区三区欧美| 91丨九色porny丨蝌蚪| 精品电影一区二区| 亚洲成在线观看| 99视频精品在线| 久久综合九色欧美综合狠狠| 天堂蜜桃91精品| 91网站在线播放| 国产亚洲一区字幕| 午夜久久久久久| 91色.com| 国产精品免费视频一区| 久久99精品视频| 678五月天丁香亚洲综合网| 亚洲视频在线观看一区| 国产不卡高清在线观看视频| 制服.丝袜.亚洲.中文.综合| 亚洲激情图片一区| 成人av综合在线| 精品国产一区二区亚洲人成毛片| 亚洲午夜精品网| 91福利资源站| 亚洲桃色在线一区| 99热这里都是精品| 久久精品在这里| 国产在线精品不卡| 欧美一区二区三区不卡| 五月综合激情婷婷六月色窝| 91黄色在线观看| 亚洲综合精品久久| 在线影视一区二区三区| 一区二区三区资源| 在线观看成人免费视频| 亚洲精品老司机| 欧洲色大大久久|