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

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

?? this routine performs the bit-reversal of the input array x.txt

?? c6000的標準函數庫
?? TXT
字號:
TEXAS INSTRUMENTS, INC.		
*
*	AUTOCORRELATION
*
*	Revision Date:  04/16/97
*	
*	USAGE	This routine is C Callable and can be called as:
*		
*		int autcor(short ac[], short sd[], int N, int M)
*
*		ac[] --- Resulting array of autocorrelation 
*               sd[] --- Input array of autocorrelation
*		N    --- Length of Input array vector (sd[]) - M (MULTIPLE of 8)
*		M    --- Length of autocorrelation (MULTIPLE of 2)
*
*		If routine is not to be used as a C callable function then
*		you 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.  Note that
*		the assembly code is hand optimized and restrictions may
*		apply.
*
*		void autcor(short ac[],short sd[], int N, int M)
*		{
*		int i,k,sum;
*
*		for (i = 0; i < M; i++){
*		sum = 0;
*			for (k = M; k < N+M; k++)
*				sum += sd[k] * sd[k-i];
*			ac[i] = (sum >> 15);
*			}
*		}
*
*
*	DESCRIPTION
*
*		This routine performs the autocorrelation of the input array sd.
*		It is assumed that the length of the input array, sd, is a
*		multiple of 8 and the length of the output array, ac, is a 		*		multiple of 2.  The assembly routine performs 2 output samples
*		at a time.  This is typically used in vselp code.
*		
*	TECHNIQUES
*
*		The inner loop is unrolled eight times thus the length of 
*		the input array must be a multiple of eight.  The outer
*		loop is unrolled twice so the length of output array must
*		be a multiple of 2.
*
*		The outer loop is conditionally executed in parallel with the
*		inner loop.  This allows for a zero overhead outer loop.
*	
*	ASSUMPTIONS
*
*         	N is a multiple of 8 
*		M is a multiple of 2
*		sd[0] is on a word boundary
*		
*	MEMORY NOTE
*
*		One memory hit occurs every fourth outer loop cycle (2Nth inner
*		loop cycle) or M/4 times.
*
*	CYCLES
*
*		(N/2)*M + 16 + M/4
*
*================================================================================

********* ASSEMBLY CODE: *******************
	.global _autcor
	.text
_autcor:

	SUB	.L1x	B15,4,A9

	STW	.D1	A10,*A9--[2]	; push A10 on stack 
||	STW	.D2	B10,*B15--[2]	; push B10 on stack

	STW	.D1	A11,*A9--[2]	; push A11 on stack
||	STW	.D2	B11,*B15--[2]	; push B11 on stack

	STW	.D1	A12,*A9--[2]	; push A12 on stack
||	STW	.D2	B12,*B15--[2]	; push B12 on stack

*** BEGIN Benchmark Timing ***
B_START:
	SHL	.S1	A6,1,A14	; for inner lp setup; N Hwords
||	MPY	.M2X	A6,B6,B0	; N*M
||	STW	.D1	A13,*A9--[2]	; push A13 on stack
||	STW	.D2	B13,*B15--[2]	; push B13 on stack

	ADD	.L2X	2,A4,B14	; a[i+1] other reg file
||	ADDAH	.D2	B4,B6,B3	; sd[k] & sd[k+1]
||	MV	.L1X	B3,A13		; store return pointer
||	STW	.D1	A14,*A9--[2]	; push A14 on stack

	MV	.L1X	B3,A3		; sd[k] & sd[k+1]
||	SUB	.L2	B3,4,B4		; sd[k-i-2] & sd[k-i-1]
||	SHR	.S1	A6,3,A0		; for inner lp setup; N/8
||	STW	.D1	A15,*A9		; push A15 on stack
||	STW	.D2	B14,*B15	; push B14 on stack

	LDW	.D1	*A3++[2],A5	; sd[k] & sd[k+1]
||	MV	.L1	A3,A15		; sd[k-i] & sd[k-i+1]
||	MV	.S1	A0,A1		; Set inner loop count

	LDW	.D2	*B4++[2],B5	; sd[k-i-2]& sd[k-i-1]
||	LDW	.D1	*A15++[2],A6	; sd[k-i]& sd[k-i+1]
||	SHL	.S2X	A6,1,B1		; for inner lp setup; N Hwords
||	MPY	.M1	A8,0,A8		; initialize to zero
||	MPY	.M2	B9,0,B9		; initialize to zero
||	MVK	.S1	1,A2		; initialize count
||	ZERO	.L2	B2		; initialize to zero
||	ADD	.L1	A0,-1,A0	;

	LDW	.D2	*++B3[1],B6	; sd[k+2] & sd[k+3]
||	MVK	.S1	1,A2		; initialize priming cnt
||	MPY	.M1	A7,0,A7		; initialize to zero
||	MPY	.M2	B11,0,B11	; initialize to zero
||	ZERO	.D1	A5		; initialize to zero
||	ZERO	.L2	B6		; initialize to zero
||	SUB	.L1X	0,B10,A11	; initialize to zero (1st cycle 1st)
||	SUB	.S2	0,B8,B12	; initialize to zero (1st cycle 1st)

LOOP1:
	ADD	.L1X	B10,A11,A11	; tmp_aca2 +s= p2a2
|| [A2] ADD	.L2	B8,B12,B8	; tmp_acb0 +s= p2b0
||	MPY	.M1	A5,A6,A9	; p2a4 = sd[k+4]*sd[k-i+4]
||	MPYLH	.M2X	A5,B7,B8	; p2b4 = sd[k+4]*sd[k-i+3]
||	LDW	.D2	*B4++[2],B7	;*sd[k-i+2]&sd[k-i+3]
||[!A2] SHR	.S2	B12,15,B13	; (0x0000ffffL & (tmp_acb >> 16)

	ADD	.L1X	B11,A11,A11	; tmp_aca3 +s= p2a3
||	ADD	.L2X	A7,B8,B12	; tmp_acb1 +s= p2b1
||	MPY	.M2	B6,B7,B10	; p2a6 = sd[k+6]*sd[k-i+6]
||	MPYHL	.M1	A5,A6,A7	; p2b5 = sd[k+5]*sd[k-i+4]
||	LDW	.D1	*A3++[2],A5	;* sd[k+4] & sd[k+5]
||[!A1] ADD	.S1	A0,1,A1		; reset inner lp cntr
||[!B2]	SHR	.S2	B0,4,B0		; M*N/16
||[!B2]	ADDAW	.D2	B3,2,B3		; sd[k+2] & sd[k+3]

	ADD	.L2X	A8,B12,B12	; tmp_acb2 +s= p2b2
||	ADD	.L1	A9,A11,A9	; tmp_aca4 +s= p2a4
||	MPYH	.M2	B6,B7,B11	; p2a7 = sd[k+7]*sd[k-i+7]
||	MPYLH	.M1X	B6,A6,A8	; p2b6 = sd[k+6]*sd[k-i+5]
||[!A2] STH	.D2	B13,*B14++[2]	; ac[0][i+1]=(tmp_acb>> 16)
||	LDW	.D1	*A15++[2],A6	;*sd[k-i+4]& sd[k-i+5]
|| [B0] B	.S2	LOOP1		; Branch inner most loop
|| [A1] ADD	.S1	-1,A1,A1	; dec lp cntr

	ADD	.L2	B9,B12,B12	; tmp_acb3 +s= p2b3
|| [B2]	ADD	.L1	A10,A9,A11	; tmp_aca5 +s= p2a5
||	MPYHL	.M2	B6,B7,B9	; p2b7 = sd[k+7]*sd[k-i+6]
||	MPYH	.M1	A5,A6,A10	;* p2a1 = sd[k+1]*sd[k-i+1]
||	LDW	.D2	*B3++[2],B6	;* sd[k+6] & sd[k+7]
|| [B2]	SUB	.S1	A1,A0,A2	; dec lp cntr
||[!A2] STH	.D1	A12,*A4++[2]	; ac[0][i] =(tmp_aca >> 16)

	ADD	.L1X	B10,A11,A11	; tmp_aca6 +s= p2a6
||	ADD	.L2	B8,B12,B8	; tmp_acb4 +s= p2b4
||	MPY	.M1	A5,A6,A9	;* p2a0 = sd[k]*sd[k-i]
||	MPYLH	.M2X	A5,B5,B8	;* p2b0 = sd[k]*sd[k-i-1]
||	LDW	.D2	*B4,B7		;*sd[k-i+6]&sd[k-i+7]
||[!A1] SUB	.S2	B4,B1,B4	; reset ptr
||[!A1] SUB	.S1	A15,A14,A15	; reset ptr
||[!A1] SUB	.D1	A3,A14,A3	; reset ptr

	ADD	.L1X	B11,A11,A11	; tmp_aca7 +s= p2a7
||	ADD	.L2X	A7,B8,B12	; tmp_acb5 +s= p2b5
||	MPY	.M2	B6,B7,B10	;* p2a2 = sd[k+2]*sd[k-i+2]
||	MPYHL	.M1	A5,A6,A7	;* p2b1 = sd[k+1]*sd[k-i]
||	LDW	.D1	*A3++[2],A5	;** sd[k] & sd[k+1]
||[!A1] SUB	.D2	B3,B1,B3	; reset ptr
||[!A1] SUB	.S2	B4,4,B4		; reset ptr
||[!A1] SUB	.S1	A15,4,A15	; reset ptr

	ADD	.L2X	A8,B12,B12	; tmp_acb6 +s= p2b6
|| [A2] ADD	.L1	A9,A11,A9	;* tmp_aca0 +s= p2a0
||	MPYH	.M2	B6,B7,B11	;* p2a3 = sd[k+3]*sd[k-i+3]
||	MPYLH	.M1X	B6,A6,A8	;* p2b2 = sd[k+2]*sd[k-i+1]
||	LDW	.D2	*B4++[2],B5	;**sd[k-i-2]&sd[k-i-1]
||	LDW	.D1	*A15++[2],A6	;**sd[k-i]& sd[k-i+1]
||[!A2] SHR	.S1	A11,15,A12	; (0x0000ffffL & (tmp_aca >> 16)
||[!B2] MVK	.S2	1,B2		;

	ADD	.L2	B9,B12,B12	; tmp_acb7 +s= p2b7
||	ADD	.L1	A10,A9,A11	;* tmp_aca1 +s= p2a1
||	MPYHL	.M2	B6,B7,B9	;* p2b3 = sd[k+3]*sd[k-i+2]
||	MPYH	.M1	A5,A6,A10	;* p2a5 = sd[k+5]*sd[k-i+5]
||	LDW	.D2	*B3++[2],B6	;** sd[k+2] & sd[k+3]
|| [B0] ADD	.S2	-1,B0,B0	; dec outer lp cntr
					
; LOOP1 ENDS HERE

	SHR	.S2	B12,15,B13	; (0x0000ffffL & (tmp_acb >> 16)

	STH	.D1	A12,*A4		; ac[0][i] =(tmp_aca >> 16)
||	STH	.D2	B13,*B14	; ac[0][i+1]=(tmp_acb>> 16)
||	SUB	.L1x	B15,12,A4	;

B_END:
*** END Benchmark Timing ***

	LDW	.D1	*A4++[2], A15	; pop A15 off stack
||	LDW	.D2	*B15++[2], B14	; pop B14 off stack

	LDW	.D1	*A4++[2], A14	; pop A14 off stack
||	LDW	.D2	*B15++[2], B13	; pop B13 off stack

	LDW	.D1	*A4++[2], A13	; pop A13 off stack
||	LDW	.D2	*B15++[2], B12	; pop B12 off stack
||	MV	.L2x	A13,B3		; get return pointer

	LDW	.D1	*A4++[2], A12	; pop A12 off stack
||	LDW	.D2	*B15++[2], B11	; pop B11 off stack

	LDW	.D1	*A4++[2], A11	; pop A11 off stack
||	LDW	.D2	*B15, B10	; pop B10 off stack
||	B	.S2	B3		; Return from call

	LDW	.D1	*A4,A10		; pop A10

	NOP		4

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区在| 亚洲美女免费视频| 色综合天天做天天爱| 九九视频精品免费| 久草中文综合在线| 精品一区二区三区日韩| 久久狠狠亚洲综合| 国产一区二区91| 91同城在线观看| 成人午夜在线免费| 国产99久久久国产精品潘金网站| 麻豆精品视频在线观看视频| 午夜精品久久一牛影视| 手机精品视频在线观看| 免费成人av在线播放| 激情成人综合网| 国产传媒日韩欧美成人| 成人精品电影在线观看| 色综合天天视频在线观看 | www.亚洲色图.com| hitomi一区二区三区精品| 不卡免费追剧大全电视剧网站| 久久精品国产亚洲5555| 日韩一区二区在线播放| 成人免费视频在线观看| 一区二区三区蜜桃网| 舔着乳尖日韩一区| 久久99蜜桃精品| 成人动漫一区二区在线| 欧洲精品在线观看| 精品理论电影在线观看 | 国产精品88888| 99re这里只有精品视频首页| 欧美另类videos死尸| 精品国产一区二区三区不卡 | 精品午夜一区二区三区在线观看| 丁香婷婷综合五月| 欧美日韩视频不卡| 国产精品水嫩水嫩| 日日夜夜精品免费视频| 97精品国产97久久久久久久久久久久| 日本高清成人免费播放| 日韩三级高清在线| 亚洲精品精品亚洲| 国产精品99久久久久久有的能看| 92精品国产成人观看免费| 日韩欧美精品在线视频| 一区二区三区小说| 国产91清纯白嫩初高中在线观看 | 免费国产亚洲视频| 91一区二区在线| 精品盗摄一区二区三区| 亚洲综合视频网| 成人免费高清在线| 日韩午夜av电影| 亚洲裸体xxx| 欧美精品在线观看一区二区| 欧美xxxxxxxx| 亚洲国产视频一区二区| 大白屁股一区二区视频| 日韩美女在线视频| 日本网站在线观看一区二区三区| aaa国产一区| 亚洲国产精品高清| 国产一区二区三区| 欧美α欧美αv大片| 日韩成人av影视| 777久久久精品| 亚洲国产视频一区二区| 91视频.com| 亚洲丝袜美腿综合| 99视频一区二区| 国产精品卡一卡二| 成人av动漫在线| 国产欧美一区二区在线| 国产不卡在线一区| 久久久久久久久久久久电影| 七七婷婷婷婷精品国产| 精品美女被调教视频大全网站| 天天综合日日夜夜精品| 色噜噜偷拍精品综合在线| 国产精品乱人伦| 成人开心网精品视频| 中文字幕在线不卡| 99精品视频免费在线观看| 91国产精品成人| 18成人在线视频| 91蜜桃网址入口| 亚洲一区二区免费视频| 欧美日韩专区在线| 日本不卡视频在线| 久久先锋影音av鲁色资源网| 国产福利不卡视频| 亚洲精选视频在线| 在线播放一区二区三区| 久久精品99久久久| 国产欧美一区二区精品性| 成人av午夜影院| 亚洲国产精品久久一线不卡| 91精品国产一区二区三区蜜臀| 看电影不卡的网站| 国产精品久久久久三级| 在线一区二区观看| 精品一区二区成人精品| 亚洲欧洲一区二区在线播放| 欧美四级电影网| 国产麻豆一精品一av一免费 | 国产精品传媒视频| 精品一区二区三区视频在线观看| 久久综合成人精品亚洲另类欧美 | 中文欧美字幕免费| 日本韩国欧美国产| 韩国成人精品a∨在线观看| 国产精品人人做人人爽人人添| 欧美视频中文字幕| 国产精品77777| 亚洲h精品动漫在线观看| 2021中文字幕一区亚洲| 色婷婷综合五月| 国产高清在线精品| 免费在线看一区| 亚洲欧美综合另类在线卡通| 欧美一级生活片| 美脚の诱脚舐め脚责91| 国产欧美日韩一区二区三区在线观看 | 中文字幕一区二区三区蜜月| 欧美人妇做爰xxxⅹ性高电影| 国内久久婷婷综合| 亚洲国产精品尤物yw在线观看| 久久精品人人做| 91精品在线免费观看| 一本到高清视频免费精品| 国产一区二区剧情av在线| 亚洲成人1区2区| 亚洲欧洲一区二区三区| 久久久综合九色合综国产精品| 在线观看av一区二区| 北条麻妃一区二区三区| 国产露脸91国语对白| 久久精品国产99久久6| 亚洲午夜视频在线| 亚洲乱码日产精品bd| 亚洲国产精华液网站w| 久久精品在线免费观看| 精品国产污网站| 欧美男男青年gay1069videost| 一本大道av伊人久久综合| gogo大胆日本视频一区| 成人在线综合网| 成人aa视频在线观看| 成人一区在线看| 国产成人精品免费| 国产成人午夜电影网| 国内精品国产成人国产三级粉色| 玖玖九九国产精品| 老司机精品视频在线| 精彩视频一区二区三区| 久久精品国产网站| 国产精品一区二区视频| 国产精品一二三四五| 国产精品一二三四区| 成人听书哪个软件好| 91在线播放网址| 91精品福利视频| 在线不卡的av| 欧美va亚洲va香蕉在线| 久久久久九九视频| 国产精品网站在线观看| 亚洲欧洲色图综合| 一区二区三区在线免费观看 | 精品国产乱码久久久久久闺蜜| 欧美日韩国产系列| 看电视剧不卡顿的网站| 午夜激情一区二区| 午夜电影网一区| 美女网站视频久久| 国产精品一二三四| 91视频国产观看| 91精品国产91久久久久久一区二区 | 免费在线观看日韩欧美| 精品无人码麻豆乱码1区2区| 成人三级伦理片| 欧美伊人久久久久久久久影院 | 亚洲三级在线免费| 亚洲一区二区3| 国产在线看一区| 日本精品一级二级| 欧美视频在线观看一区二区| 欧美日韩二区三区| 久久午夜老司机| 亚洲精选一二三| 精品一区二区久久久| 91影院在线免费观看| 欧美tk丨vk视频| 亚洲天堂av一区| 国产一区二区三区免费| 欧美性色综合网| 国产精品国产三级国产普通话三级| 五月天久久比比资源色| 丁香啪啪综合成人亚洲小说|