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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? iir16_mac.s.list

?? freescale MAC DSP的算法庫(FFT
?? LIST
?? 第 1 頁 / 共 2 頁
字號:
                             ;*********************************************
                             ;* Freescale Semiconductor Inc.
                             ;* (c) Copyright 2001 Freescale Semiconductor Inc.
                             ;* ALL RIGHTS RESERVED.
                             ;*********************************************
                             ;* FILE NAME: iir16.s
                             ;*********************************************
                             ;!! These functions are "hand coded" in assembler and
                             ;!! the C source is used as comments for short and clear description.
                             ;!! C code used only for more clear andestending what assembler code do, where it is possible.
                                                .section     .text            ;-=Locate the code in the ".text" section.=-
                                                .align       4                
                                                .xdef        _IIR16_MAC       
                             ;******************************************************
                             ;* NAME: void IIR16( struct tIirStruct *pIIR, Frac16* pX, Frac16* pY, unsigned int n)
                             ;*
                             ;* DESCRIPTION: Computes a Infinite Impulse Response (IIR) filter for a array of 16-bit fractional data values.
                             ;******************************************************
                             ;* Used registers:
                             ;*	a2       pIIR	- Pointer to a data structure containing private data for the IIR filter
                             ;*	68(a7)   pX		- Pointer to the input array of n data elements
                             ;*	72(a7)   pY		- Pointer to the output array of n data elements
                             ;*	d6       n		- Length of the input and output vectors
                             ;*	d2       k		- Counter for inner loop
                             ;*	d1       i		- Counter for outer loop
                             ;*	d0       N		- Length of coefficients array(N<=n)
                             ;*	a0       pCurY	- Pointer to the current Y
                             ;*	a1       pCurX	- Pointer to the current X
                             ;*	a3       pCurCoef	- Pointer to the current coefficient -> {a0,a1,b1,a2,b2...}
                             ;*	a4       pCurHistory - Pointer to the current element of history buffer
                             ;*	a5       pPredY  	- Pointer to the previous Y
                             ;*	acc      output	- Accumulator
                             ;******************************************************
                             _IIR16_MAC                                       
                             ;---=Saving values of used registers=---
0x00000000: 4fefffc4                            lea          -60(a7),a7       
0x00000004: 48d77fff                            movem.l      d0-d7/a0-a6,(a7) 
                             ;---=Most useful parameters are moved from stack to registers.=---	
0x00000008: 2c2f004c                            move.l       76(a7),d6        ;	n				- Length of the input and output vectors
0x0000000c: 206f0048                            move.l       72(a7),a0        ; 	pCurY=pY;			- Pointer to the current Y.
0x00000010: 246f0040                            move.l       64(a7),a2        ; 	-=N=pIIR->iIirCoefCount/2+1;=-
0x00000014: 202a0004                            move.l       4(a2),d0         
0x00000018: e288                                lsr.l        #1,d0            
0x0000001a: 5280                                addq.l       #1,d0            
                             ;---====== Begin of cycle of getting Y[1]..Y[N-1] ======---
0x0000001c: 7201                                moveq        #1,d1            ; 	for(i=1;i<N;i++)	        -=Begin of outer loop (number 1)=-
                             .FORi1                                           
0x0000001e: b280                                cmp.l        d0,d1            ;                               -=Comparing "i" with "N"
0x00000020: 64000070                            bcc          .ENDFORi1        ; 	{                         -=If (i=>N) then jump to .ENDFORi1=-
0x00000024: a13c00000000                        move.l       #0,acc           ;	output=0;                 -=Accumulator initialization=-
0x0000002a: 2c6f0044                            move.l       68(a7),a6        ; 	pCurX=pX+i-1;		  -=Current sample pointer initialization=-
0x0000002e: 43f61a00                            lea          (0,a6,d1.l*2),a1 
0x00000032: 2c6f0048                            move.l       72(a7),a6        ; 	pPredY=pY+i-2;            -=Previous Y pointer initialization=-
0x00000036: 4bf61afe                            lea          (-2,a6,d1.l*2),a5 
                                                                              ;---== Begin of cycle Getting Y[i] ==---
0x0000003a: 2652                                move.l       (a2),a3          ; 	pCurCoef=pIIR->pIirCoef;  -=Current coefficient pointer initialization=-
                                                                              ;-=output=*pCurX--*(*pCurCoef++);=-
0x0000003c: 3621                                move.w       -(a1),d3         ;                               -=Getting current sample=-
0x0000003e: 381b                                move.w       (a3)+,d4         ;                               -=Getting current coefficient=-
0x00000040: a8030200                            mac.w        d3.l,d4.l,<<     ;                               -=Getting first iteration of inner loop=-
0x00000044: 7401                                moveq        #1,d2            ; 	for(k=1;k<i;k++)          -=Begin of inner loop=-
0x00000046: 281b                                move.l       (a3)+,d4         ;                               -=Getting next current coefficient=-
                             .FORk1                                           ; 	{
0x00000048: b481                                cmp.l        d1,d2            ;                               -=Comparing "k" with "i"=-
0x0000004a: 64000012                            bcc          .ENDFORk1        ;                               -=If (k=>i) then jump to .ENDFORk1=-
                                                                              ;-=use move long, parallel filling register,
                                                                              ;  predecriment and post increment and use left shifting to get fractional multiplication=-	
                                                                              ;-=output+=*pCurX--*(*pCurCoef++);=-
0x0000004e: 3621                                move.w       -(a1),d3         ;                               -=Getting next current sample=-
0x00000050: a8030280                            mac.w        d3.l,d4.u,<<     ;                               -=First MAC=-
                                                                              ;-=output+=*pPredY--*(*pCurCoef++);=-
0x00000054: 3625                                move.w       -(a5),d3         ;                               -=Getting previous Y=-
0x00000056: a89b4203                            mac.w        d3.l,d4.l,<<,(a3)+,d4 ;                            -=Second MAC and getting next current coefficient=-
0x0000005a: 5282                                addq.l       #1,d2            ;                               -=Incrementing "k"=-
0x0000005c: 60ea                                bra          .FORk1           ;                               -=Jumping to .FORk1=-
                             .ENDFORk1                                        ; 	}
                             ;---==Testing that History Buffer is filled => this is not first calling of this function==--	
0x0000005e: 4aaa000c                            tst.l        12(a2)           ; 	if(pIIR->iIirHistoryCount>0)    -=Testing that pFIR->iFirHistoryCount>0=-
0x00000062: 67000024                            beq          .ENDFORk2        ; 	{                               -=If (pFIR->iFirHistoryCount=0) then jump to .ENDFORk2=-
0x00000066: 2c6a0008                            move.l       8(a2),a6         ; 	pCurHistory=pIIR->pIirHistory+pIIR->iIirHistoryCount-1;
0x0000006a: 2e2a000c                            move.l       12(a2),d7        
0x0000006e: 49f67a00                            lea          (0,a6,d7.l*2),a4 
0x00000072: 2401                                move.l       d1,d2            ; 	for(k=i;k<N;k++)                -=Begin of inner loop=-
                             .FORk2                                           
0x00000074: b480                                cmp.l        d0,d2            ;                                     -=Comparing "k" with "N"=-
0x00000076: 64000010                            bcc          .ENDFORk2        ; 	{                               -=If (k=>N) then jump to .ENDFORk2=-
                                                                              ;-=use move long, parallel filling register,
                                                                              ;  predecriment and post increment and use left shifting to get fractional multiplication=-

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜av一区二区三区| 欧美国产97人人爽人人喊| 欧美激情一区二区| 日韩成人伦理电影在线观看| 色综合天天综合网天天狠天天 | 麻豆一区二区在线| 91久久精品国产91性色tv| 国产精品亲子乱子伦xxxx裸| 乱中年女人伦av一区二区| 欧美日韩国产免费| 亚洲最大的成人av| 在线视频国产一区| 亚洲综合色噜噜狠狠| 日本高清不卡视频| 洋洋成人永久网站入口| 色综合天天综合狠狠| 亚洲精品久久嫩草网站秘色| 91原创在线视频| 悠悠色在线精品| 91久久精品午夜一区二区| 亚洲五月六月丁香激情| 欧美人牲a欧美精品| 日韩精品电影在线观看| 欧美大片日本大片免费观看| 捆绑调教一区二区三区| 久久综合五月天婷婷伊人| 国模娜娜一区二区三区| 国产欧美日韩另类视频免费观看| 国产成人午夜精品5599| 中文字幕在线免费不卡| 色菇凉天天综合网| 日韩成人av影视| 久久亚洲影视婷婷| 99精品久久99久久久久| 亚洲成人www| 久久久久久久久久看片| 一本色道久久综合亚洲aⅴ蜜桃| 亚洲一区在线观看免费| 精品国产乱码久久久久久1区2区| 国产乱国产乱300精品| 亚洲精品日日夜夜| 欧美一区二区三区系列电影| 丁香激情综合国产| 日本强好片久久久久久aaa| 欧美国产亚洲另类动漫| 欧美高清性hdvideosex| 国产高清不卡二三区| 亚洲成av人片在线观看无码| 久久久国产一区二区三区四区小说 | 91精品国产色综合久久不卡蜜臀| 国产在线精品一区二区| 国产精品久线在线观看| 日韩区在线观看| 欧美天天综合网| jlzzjlzz欧美大全| 国内精品免费**视频| 天天综合网 天天综合色| 国产精品美女久久久久久久久久久| 欧美日韩国产区一| 在线观看一区日韩| 97se亚洲国产综合在线| 国产麻豆精品theporn| 免费成人美女在线观看.| 亚洲一区成人在线| 亚洲免费在线看| 中文字幕一区av| 中文字幕久久午夜不卡| 亚洲精品在线一区二区| 欧美电影免费提供在线观看| 欧美顶级少妇做爰| 欧美片在线播放| 欧美日韩情趣电影| 午夜伊人狠狠久久| 在线中文字幕一区二区| 一级特黄大欧美久久久| 中文字幕一区在线| 伊人性伊人情综合网| 亚洲一区二区三区中文字幕 | 久久婷婷久久一区二区三区| 精品欧美乱码久久久久久1区2区| 日韩欧美色综合| 久久综合五月天婷婷伊人| 精品福利二区三区| 国产欧美一区二区精品性| 国产精品每日更新| 亚洲国产cao| 青青草91视频| 国产成人免费在线视频| 国产精品卡一卡二卡三| av一区二区久久| 欧美影视一区在线| 欧美一区二区视频在线观看2020| 亚洲精品一区二区三区福利 | 免费观看在线综合| 国产精品中文字幕欧美| 成人小视频免费在线观看| 色综合久久久久久久久| 日韩欧美一区二区在线视频| 国产欧美日韩激情| 亚洲国产精品久久不卡毛片 | 欧美一区二区视频观看视频| 国产亚洲精品超碰| 亚洲成人免费影院| 麻豆成人91精品二区三区| 日本成人在线视频网站| 国产91精品精华液一区二区三区| 欧美日韩一区在线| 国产女人18毛片水真多成人如厕| 一二三区精品福利视频| 国产一区二区三区久久久 | 97se亚洲国产综合自在线不卡| 91精品国产91久久久久久最新毛片| 中文字幕va一区二区三区| 日韩精品一级中文字幕精品视频免费观看| 国产精品911| 精品99一区二区| 视频在线观看一区| 欧美视频一区二区在线观看| 国产精品女上位| 国产精品一二三四| 欧美大度的电影原声| 日本不卡的三区四区五区| 亚洲国产欧美在线| 日韩欧美一级在线播放| 亚洲另类春色校园小说| 国产精品456露脸| 国产欧美日韩在线看| 国产综合色在线视频区| 欧美精品一区二| 国产在线精品一区二区夜色| 欧美成人精品1314www| 日本欧美久久久久免费播放网| 欧美性大战久久| 五月天亚洲精品| 欧美日韩黄色一区二区| 亚洲成国产人片在线观看| 欧美日韩一级二级| 夜夜嗨av一区二区三区| 这里只有精品免费| 精品在线亚洲视频| 国产日产欧美精品一区二区三区| 国产麻豆欧美日韩一区| 日韩一区精品视频| 欧美老年两性高潮| 美女免费视频一区二区| 欧美经典一区二区三区| 91网站在线播放| 热久久免费视频| 欧美国产一区二区在线观看 | 欧美一区二区三区免费大片| 精品中文字幕一区二区| 国产精品国产精品国产专区不蜜 | aa级大片欧美| 偷窥少妇高潮呻吟av久久免费 | 日韩一区精品视频| 国产日韩精品一区二区三区在线| 91在线视频观看| 午夜电影久久久| 久久精品视频一区二区三区| 91首页免费视频| 免费成人av资源网| 中文子幕无线码一区tr| 91精品国产入口| 91亚洲精品一区二区乱码| 久久精品久久综合| 一区二区三区欧美| 久久亚洲一区二区三区明星换脸 | 成人午夜激情片| 秋霞午夜av一区二区三区| 亚洲老司机在线| 日本一区二区动态图| 精品欧美一区二区在线观看| 欧美三级韩国三级日本一级| 成人国产一区二区三区精品| 蜜臀av性久久久久蜜臀aⅴ流畅 | 成人免费视频视频| 怡红院av一区二区三区| 亚洲欧洲美洲综合色网| 久久久国产精品不卡| 2021国产精品久久精品| 91精品在线观看入口| 51精品秘密在线观看| 久久久久久久久久看片| 欧美成va人片在线观看| 欧美久久久一区| 51精品久久久久久久蜜臀| 欧美精品久久一区| 欧美一级夜夜爽| 欧美一区二区福利视频| 欧美一区二区三区不卡| 欧美一二区视频| 欧美v日韩v国产v| www激情久久| 久久亚洲春色中文字幕久久久| 久久91精品国产91久久小草| 亚洲男人的天堂在线观看| 日韩你懂的在线观看| 欧美xxxxx牲另类人与| wwww国产精品欧美| 国产午夜三级一区二区三|