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

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

?? fir16_emac.s

?? freescale MAC DSP的算法庫(FFT
?? S
?? 第 1 頁 / 共 2 頁
字號:
;--== Next input samples loading	==--
	move.w	(a0), d2				;iCurX0 = *pX;
	movea.l	a0, a4					;pCurX = pX;
	lea		2(a0), a0				;pX++;
	
;--== Next coefficients loading	==--
	move.l	a6, a3					;pCurCoef = pIirCoef;
	move.l	(a3), d4				;iCurA0 = *pCurCoef;
	lea		2(a3), a3				;pCurCoef++;
	
;--== Input samples and first coefficient multiplications ==--
	mac.w	d4.u, d2.l, <<, ACC0	;iOut0 = iCurA0 * iCurX0
	
;--== The count of inner loops calculation ==-- 
	move.l	d6, d5					;
	sub.l	d7, d5					;j = tmp - i;

	ble		.EndIn1TailH			;while(j > 0)
									;{
	btst.l	#0, d5
	beq		.ForIn1TailH
		
;--== This part is executed only if j is odd ==--	
;--== Next coefficients loading	==--
	move.w	(a3)+, d4				;iCurA0 = *pCurCoef++;
	
;--== Next input sample loading	==--
	move.w	-(a4), d2				;iCurX = *--pCurX;
	
;--== Input samples and first coefficient multiplications ==--
	mac.w	d4.l, d2.l, <<, ACC0	;iOut0 += iCurA0 * iCurX0
	
	subq.l	#1, d5
	beq		.EndIn1TailH

.ForIn1TailH:
	
;--== Next coefficients loading	==--
	move.l	(a3)+, d4				;iCurA0 = *pCurCoef++; iCurA1 = *pCurCoef++;
	
;--== Next input samples loading	==--
	move.l	-(a4), d2				;iCurX0 = *--pCurX;iCurX1 = *--pCurX;

;--== Two multiplications for each output sample ==--
	mac.w	d4.u, d2.l, <<, ACC0	;iOut0 += iCurA0 * iCurX0
	mac.w	d4.l, d2.u, <<, ACC0	;iOut0 += iCurA1 * iCurX1
	
	subq.l	#2, d5 					;j-= 2;
	bgt		.ForIn1TailH			;} // while(j > 0)
	
.EndIn1TailH:	
	
	move.l	12(a2), d5				;if(pIIR->iIirHistoryCount)
	beq		.EndInHTail				;{

;--== The count of inner loops calculation ==-- 
	move.l	d7, d5					;j = i

	ble		.EndInHTail				;if(j > 0)
									;{

;--== Current history buffer pointer initialization==--
	move.l  8(a2), a4				;pCurHustory = pIirHistory + tmp * 2
	adda.l	d6, a4					;
	adda.l	d6, a4					;while(j > 0)
									;{
	
	btst.l	#0, d5
	beq		.ForInHTail
;--== This part is executed only if j is odd ==--	
;--== Next coefficient loading	==--
	move.w	(a3)+, d4				;iCurA0 = *pCurCoef++;
	
;--== Next input sample loading	==--
	move.w	-(a4), d2				;iCurX = *--pCurX;
	
	mac.w	d4.l, d2.l, <<, ACC0	;iOut0 += iCurA0 * iCurX0
	
	subq.l	#1, d5
	beq		.EndInHTail
	
.ForInHTail:
	
;--== Next coefficients loading	==--
	move.l	(a3)+, d4				;iCurA0 = *pCurCoef++;iCurA1 = *pCurCoef++;
	
;--== Next input samples loading	==--
	move.l	-(a4), d2				;iCurX0 = *--pCurHistory;iCurX1 = *--pCurHistory;
	
--== Two multiplications for each output sample ==--
	mac.w	d4.u, d2.l, <<, ACC0	;iOut0 += iCurA0 * iCurX0
	mac.w	d4.l, d2.u, <<, ACC0	;iOut0 += iCurA1 * iCurX1
	
	subq.l	#2, d5					;j -= 2;
	bgt		.ForInHTail				;}//while (j > 0)
	
.EndInHTail:						;}//if(pIIR->iIirHistoryCount)

	
;--==Storing computed sample into the memory==--
	
	movclr.l	ACC0, d0			;*pY++ = iOut0;
;#ifndef __FRACT_M	
;	swap	d0						;
;#endif	
	move.w	d0, (a1)+				;
	
	subq.l	#1, d7					;i -= 1;
	bgt		.BegTailH				;}
	
.EndTailH:							;}//if(i)

;---====== Begin of cycle of getting Y[N+1]..Y[n] (N = (pIIR->iIirCoefCount - 1) / 2)======---
	move.l	4(a2), d6				;tmp = IIR->iIirCoefCount;
	
	move.l	76(a7), d7				;i = n;
	
	subq.l	#1, d6					;tmp--;
	sub.l	d6, d7					;i -= tmp;
	 		
	asr.l	#2, d7					;i /= 4;
	
	beq		.BegTail2				;while(i != 0)
									;{
;--==Y[N+1]..Y[k] computation, where k is (N + 1) + ((n - N - 1) % 4)
		
.BegD4E:								;Begin of inner loop 
	
;--== Next input samples loading ==--
	move.l	(a0), d2				;iCurX0 = pX[0]; iCurX1 = pX[1];
	move.l	4(a0), d3				;iCurX2 = pX[2]; iCurX3 = pX[3];
	movea.l	a0, a4					;pCurX = pX;
	lea		8(a0), a0				;pX += 4;
		
	move.l	a6, a3					;pCurCoef = pIirCoef;
;--== Next coefficient loading	==--
	move.w	(a3)+, d4				;iCurA0 = *pCurCoef;
	
;--== Input samples and first coefficient multiplications ==--
	mac.w	d4.l, d2.u, <<, ACC0	;iOut0 = iCurA0 * iCurX0
	mac.w	d4.l, d2.l, <<, ACC1	;iOut1 = iCurA0 * iCurX1
	mac.w	d4.l, d3.u, <<, ACC2	;iOut2 = iCurA0 * iCurX2
	mac.w	d4.l, d3.l, <<, ACC3	;iOut3 = iCurA0 * iCurX3
	
;--== The count of inner loops calculation ==-- 
	move.l	d6, d5					;j = tmp
	btst	#0, d5					;
	beq		.ForIn1EBeg				;if(j & 1)
									;{
	
;--== This multiplications executed only when j is odd ==--
;--== Next coefficient loading	==--
	move.w	(a3)+, d4				;iCurA0 = *pCurCoef++;
	
	move.w	d2, d3					;iCurX3 = iCurX2;
	move.w	-(a4), d2				;iCurX2 = iCurX1;
	swap	d2						;iCurX1 = iCurX0;
	swap	d3						;iCurX0 = *--pCurHistory;
	
	mac.w	d4.l, d2.u, <<, ACC0	;iOut0 += iCurA0 * iCurX0
	mac.w	d4.l, d2.l, <<, ACC1	;iOut1 += iCurA0 * iCurX1
	mac.w	d4.l, d3.u, <<, ACC2	;iOut2 += iCurA0 * iCurX2
	mac.w	d4.l, d3.l, <<, ACC3	;iOut3 += iCurA0 * iCurX3
		
	subq.l	#1, d5					;j -= 1;
	beq		.EndIn1E				;}

.ForIn1EBeg:

;--== Next coefficients loading	==--
	move.l	(a3)+, d4				;iCurA0 = *pCurCoef++; iCurA1 = *pCurCoef++;

.ForIn1E:
	subq.l	#2, d5					;for(;j >= 0; j -=2)
	blt		.EndIn1E				;{
	
;--== Three first input samples and coefficients multiplication ==--
	mac.w	d4.u, d2.u, <<, ACC1	;iOut1 += iCurA0 * iCurX0
	mac.w	d4.u, d2.l, <<, ACC2	;iOut2 += iCurA0 * iCurX1
	mac.w	d4.u, d3.u, <<, ACC3	;iOut3 += iCurA0 * iCurX2
	
;--== Loading two next input samples ==--	
	move.l	d2, d3					;iCurX3 = iCurX1; 	iCurX2 = iCurX0;
	move.l	-(a4), d2				;iCurX1 = *--pCurX; iCurX0 = *--pCurX;	
	
;--== Fourth input sample and coefficient multiplication ==--
	mac.w	d4.u, d2.l, <<, ACC0	;iOut0 += iCurA0 * iCurX1
	
;--== Next Four input sample and coefficients multiplication ==--
	mac.w	d4.l, d2.u, <<, ACC0	;iOut0 += iCurA1 * iCurX0
	mac.w	d4.l, d2.l, <<, ACC1	;iOut1 += iCurA1 * iCurX1
	mac.w	d4.l, d3.u, <<, ACC2	;iOut2 += iCurA1 * iCurX2
;--== Last mac instruction with next coefficients loading ==--
	mac.w	d4.l, d3.l, <<, (a3)+, d4, ACC3	;iOut3 += iCurA1 * iCurX3
											;iCurA0 = *pCurCoef++;iCurA1 = *pCurCoef++;
	
	bra		.ForIn1E				;}
	
.EndIn1E:	
	
;--==Storing computed samples into the memory==--
	
	movclr.l	ACC0, d0			;*pY++ = iOut0
;#ifndef __FRACT_M	
;	swap	d0						;
;#endif	
	move.w	d0, (a1)+				;
	
	movclr.l	ACC1, d0			;*pY++ = iOut1
;#ifndef __FRACT_M	
;	swap	d0						;
;#endif	
	move.w	d0, (a1)+				;
	
	movclr.l	ACC2, d2			;*pY++ = iOut2
;#ifndef __FRACT_M	
;	swap	d2						;
;#endif	
	move.w	d2, (a1)+				;

	movclr.l	ACC3, d0			;*pY++ = iOut3
;#ifndef __FRACT_M	
;	swap	d0						;
;#endif	
	move.w	d0, (a1)+				;

	subq.l	#1, d7					;i --;
	bne		.BegD4E					;}
	
.EndD4E:
;---=Computation of N % 4 last output samples==--
.BegTail2:

	move.l	4(a2), d6				;tmp = IIR->iIirCoefCount;
	move.l	76(a7), d7				;i = n;
	
	subq.l	#1, d6					;tmp--;
	sub.l	d6, d7					;i -= tmp;
	 		
	andi.l	#3, d7					;i &= 3;
	
	beq		.EndTail2				;while(i)
									;{
.BegOutTail2:
	
;--== Next input samples loading	==--
	move.w	(a0), d2				;iCurX0 = *pX;
	movea.l	a0, a4					;pCurX = pX;
	lea		2(a0), a0				;pX++;
	
	move.l	a6, a3					;pCurCoef = pIirCoef;
;--== Next coefficient loading	==--
	move.l	(a3), d4				;iCurA0 = *pCurCoef;
	lea		2(a3), a3				;pCurCoef++;
	
;--== Input samples and first coefficient multiplications ==--
	mac.w	d4.u, d2.l, <<, ACC0	;iOut0 += iCurA0 * iCurX0
	
;--== The count of inner loops calculation ==-- 
	move.l	d6, d5					;j = tmp;

	btst.l	#0, d5
	beq		.ForInTail2
		
;--== This part is executed only if j is odd ==--	
;--== Next coefficients loading	==--
	move.w	(a3)+, d4				;iCurA0 = *pCurCoef++; iCurA1 = *pCurCoef++;
	
;--== Next input samples loading	==--
	move.w	-(a4), d2				;iCurX = *--pCurX;
	
	mac.w	d4.l, d2.l, <<, ACC0	;iOut0 += iCurA0 * iCurX0
	subq.l	#1, d5
	beq		.EndInTail2
			
.ForInTail2:							;do{
	
;--== Next coefficients loading	==--
	move.l	(a3)+, d4				;iCurA0 = *pCurCoef++; iCurA1 = *pCurCoef++;
	
;--== Next input samples loading	==--
	move.l	-(a4), d2				;iCurX0 = *--pCurX;iCurX1 = *--pCurX;
	
;--== Two multiplications for each output sample ==--
	mac.w	d4.u, d2.l, <<, ACC0	;iOut0 += iCurA0 * iCurX0
	mac.w	d4.l, d2.u, <<, ACC0	;iOut0 += iCurA1 * iCurX1
	
	subq.l	#2, d5					;j--;
	bne		.ForInTail2				;}while(j);
	
.EndInTail2:	
	
;--==Storing computed sample into the memory==--
	movclr.l	ACC0, d0			;*pY++ = iOut0;
;#ifndef __FRACT_M	
;	swap	d0						;
;#endif	
	move.w	d0, (a1)+				;
	
	subq.l	#1, d7					;i--;
	bne		.BegOutTail2			;}//while(i)
	
.EndTail2:

;--==Filling history buffer==--

	move.l	8(a2), a3				;pCurHistory = IIR->pIirHistory;
	move.l	4(a2), d0				;i = IIR->iIirCoefCount;
	subq.l	#1, d0					;i--;
	move.l	d0, 12(a2)				;IIR->iIirHistoryCount = i;
	adda.l	d0, a3					;pCurHistory += i;
	adda.l	d0, a3					;
									;do{
.NextHist:
	move.w	-(a0), -(a3)			;*--pCurHistory = *--pX;
	
	subq.l	#1, d0					;i ++;
	bne		.NextHist				;}while(i);
	
;--==Restoring old MAC status register==--
	move.l	d1, MACSR
	
	movem.l	(a7), d0-d7/a0-a6 		
	lea		60(a7), a7				
	rts

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品日韩一区| 欧美电影在哪看比较好| 欧美激情在线看| 欧美日韩国产美| 成人精品国产一区二区4080| 亚洲亚洲人成综合网络| 久久综合五月天婷婷伊人| 91精品国产综合久久精品 | 日韩精品五月天| 久久麻豆一区二区| 欧美一级日韩免费不卡| 欧美亚洲国产一卡| 国产黄色成人av| 秋霞成人午夜伦在线观看| 亚洲欧洲精品一区二区三区| 久久日韩精品一区二区五区| 91亚洲资源网| 91黄色免费网站| 日韩精品一区二区三区蜜臀 | 日韩精品成人一区二区在线| 亚洲免费视频中文字幕| 狠狠色丁香久久婷婷综合_中| 国产精品的网站| 亚洲乱码国产乱码精品精的特点 | 91麻豆高清视频| 93久久精品日日躁夜夜躁欧美| 男人操女人的视频在线观看欧美| 日韩电影在线免费| 国产精品综合一区二区三区| 国产不卡免费视频| 91精品在线麻豆| 欧美精品一区二区在线观看| 久久综合九色综合久久久精品综合| 97精品久久久午夜一区二区三区| 色综合色综合色综合色综合色综合| 91啦中文在线观看| 欧美剧情片在线观看| 欧美专区日韩专区| 欧美一区二区高清| 国产欧美1区2区3区| 日本成人在线一区| 97se亚洲国产综合在线| 欧美精品第1页| 国产精品亲子伦对白| 亚洲国产精品99久久久久久久久| 亚洲另类春色校园小说| 韩国一区二区三区| 91国产成人在线| 欧美极品aⅴ影院| 日精品一区二区三区| 久久久久久麻豆| 国产精品毛片高清在线完整版| 日韩av在线播放中文字幕| av激情综合网| 3d动漫精品啪啪1区2区免费| 亚洲视频免费观看| 极品美女销魂一区二区三区免费| 99久久精品免费观看| 久久久青草青青国产亚洲免观| 亚洲一区二区在线免费看| 蜜臀av一区二区三区| 91蜜桃视频在线| 国产精品欧美一区二区三区| 麻豆91免费观看| 欧美在线免费播放| 亚洲一本大道在线| 欧美男男青年gay1069videost | 国产盗摄女厕一区二区三区| 在线播放日韩导航| 亚洲国产欧美在线人成| 欧美日韩国产大片| 亚洲欧美日韩在线不卡| 91久久精品一区二区三| 亚洲精品国产精华液| 亚洲免费在线电影| 91福利国产精品| 亚欧色一区w666天堂| 久久se这里有精品| 欧美激情一二三区| 91久久奴性调教| 亚洲成人精品一区二区| 日韩视频在线一区二区| 激情综合色丁香一区二区| 国产精品自拍三区| 久久精品亚洲麻豆av一区二区| 国产河南妇女毛片精品久久久| 中文字幕亚洲一区二区av在线| 国产一区二区三区免费播放| 亚洲欧美色一区| 欧美日韩在线观看一区二区 | 亚洲777理论| 国产欧美综合在线| 欧美浪妇xxxx高跟鞋交| 成人国产精品视频| 一区二区三区波多野结衣在线观看| 成人精品一区二区三区四区| 日本不卡免费在线视频| 亚洲精品国产精华液| 午夜影视日本亚洲欧洲精品| 国产麻豆成人传媒免费观看| 亚洲国产精品自拍| 精品黑人一区二区三区久久| 亚洲成av人片观看| 欧美日韩国产小视频在线观看| 国产精品美女久久久久久久久 | 久久久久国产精品麻豆ai换脸| 91精品国产综合久久久久| 欧美伊人久久久久久久久影院| 国产精品色噜噜| 亚洲最大的成人av| 视频一区中文字幕| 国产成人综合网| 欧美偷拍一区二区| 欧美日韩一区二区三区视频 | 欧美色综合网站| 一本大道久久a久久综合| 成人精品一区二区三区四区| 99久久久无码国产精品| 麻豆久久一区二区| 全部av―极品视觉盛宴亚洲| 日韩影院免费视频| 国产免费观看久久| 精品国产免费视频| 日韩欧美国产电影| 久久免费精品国产久精品久久久久| 精品福利视频一区二区三区| 欧美一区在线视频| 久久天天做天天爱综合色| 日韩欧美视频在线| 久久精品人人做| 亚洲欧美另类久久久精品| 中文字幕欧美激情一区| 日韩视频国产视频| 久久免费看少妇高潮| 中文字幕免费不卡| 亚洲美女区一区| 亚洲欧美日韩在线播放| 亚洲动漫第一页| 免费久久精品视频| 国产成人激情av| 国产69精品久久777的优势| 99精品久久久久久| 91精品91久久久中77777| 欧美在线观看视频一区二区| 欧美喷潮久久久xxxxx| 26uuuu精品一区二区| 日韩欧美国产wwwww| 美女视频网站久久| 国产成人精品影视| 国产精品一卡二| 国内成人精品2018免费看| 久久精品一区二区三区不卡牛牛 | 国产欧美精品在线观看| 国产精品久久久久影视| 亚洲成人先锋电影| 91毛片在线观看| 国产亚洲精品资源在线26u| 国产一区不卡视频| 欧美一区二区私人影院日本| 国产精品久久久久久久第一福利| 一区二区三区精密机械公司| 亚洲精品视频在线看| 成人动漫精品一区二区| 26uuu另类欧美| 黑人巨大精品欧美黑白配亚洲| 午夜a成v人精品| 欧美精品成人一区二区三区四区| 亚洲人亚洲人成电影网站色| 国产精品中文有码| 精品视频999| 亚洲一区二区三区爽爽爽爽爽| 国产aⅴ精品一区二区三区色成熟| 日韩一区二区免费在线观看| 一区二区三区四区亚洲| 一本色道久久加勒比精品| 亚洲精品福利视频网站| 一本色道久久加勒比精品| 中文字幕一区二区三区乱码在线| 日韩国产高清在线| 日韩欧美国产wwwww| 国产一本一道久久香蕉| 欧美精品自拍偷拍动漫精品| 久久久久久99久久久精品网站| 国产电影精品久久禁18| 一区在线观看视频| 欧美午夜视频网站| 免费成人美女在线观看| 国产欧美日韩视频在线观看| 色综合中文字幕国产| 亚洲精品久久嫩草网站秘色| 91精品国产综合久久小美女| 同产精品九九九| 日韩视频免费观看高清完整版在线观看| 精品一区二区三区久久| 亚洲精品久久嫩草网站秘色| 国模套图日韩精品一区二区 | 一区二区三区精品视频在线| 在线亚洲一区观看| 国产黄色91视频| 三级在线观看一区二区|