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

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

?? cfft32c.asm

?? TMS320F2812 FFT 源碼,包括詳細(xì)的應(yīng)用文檔
?? ASM
?? 第 1 頁 / 共 2 頁
字號(hào):
;========================================================================
;
; File Name     : cfft.asm
; 
; Originator    : Advanced Embeeded Control
;                 Texas Instruments Inc.
; 
; Description   : This file contain source code for complex FFT
;               
; Date          : 26/02/2002 (dd/mm/yyyy)
;========================================================================    
; Routine Type  : C Callable
; Description   :
; void FFTC_calc(FFTxxxx_handle) 
; This function implements complex FFT using radix-2 DIT algo
; 
; void FFT128C_init(void)
; This function copies the Twiddle factors from load time address to 
; its run time address
;========================================================================
; COMPLEX FFT MODULES               
;-----------------------------------------------------------------------
;    typedef struct {                
;       long *ipcbptr;
;       long *tfptr;               
;       int size;
;       int nrstage;             
;       long *magptr;
;       long *winptr; 
;       long peakmag;
;       int peakfrq;          
;       void (*init)(void);          
;       void (*izero)(void *);          
;       void (*calc)(void *);           
;       void (*mag)(void *);            
;       void (*win)(void *);              
;       }FFTxxxC;                        
;                                             
;========================================================================

                .include "sel_q.asm"
                .def    _CFFT32_calc

COS45K_LSW      .set    799Bh
COS45K_MSW      .set    5A82h
;===============================================================================
; FFT - Computation Routine  (FFT128R_calc)
;===============================================================================
;   * This routine takes the 128 point complex data sequence, in bit reversed form  
;   * It implements Decimation in time FFT algorithm
;   * Performs inplace computation
;   * Output in-order data "IPCB"----> Xr(0),Xi(0),Xr(1),Xi(1)...Xr(127)&Xi(127)
;===============================================================================            
;----------------------------------------------------
; MACRO 'ZEROI'     
; Number of WORDS/Number of Cycles 12
; USAGE: Called if the TWIDDLE FACTOR: 1
; 
; P=PR+jPI, Q=QR+jQI, W=WR-jWI
; P'=P+W*Q and Q'=P-W*Q
;
; POINTERS AT ENTRY
; AR6->(PR,PI,PR+1,PI+1,PR+2,PI+2,....)
; AR2->(QR,QI,QR+1,QI+1,QR+2,QR+2,....)
; COMPUTATION PERFORMED: INPLACE COMPUTATION
; AR6   ->      PR'=(PR+QR)/2 
; AR2   ->      QR'=(PR-QR)/2
; AR6+1 ->      PI'=(PI+QI)/2
; AR2+1 ->      QI'=(PI-QI)/2
; PR and PR', PI and PI', QR and QR', QI and QI' are
; stored in the same locations
; POINTERS AT EXIT
; AR6->(PR+1,PI+1,....) 
; AR2->(QR+1,QI+1,....)
;------------------------------------------------------
;                                                   (Content of REG after exec.)
ZEROI   .macro                      ;                   AR6     AR2              
            MOVL    ACC,*XAR6       ; ACC:=PR           PR      QR  
            SFR     ACC,#1          ; ACC:=PR/2         PR      QR
            MOVL    P,*XAR2         ; P=QR              PR      QR
            ADDL    ACC,P<<PM       ; ACC=PR+QR/2       PR      QR
            MOVL    *XAR6++,ACC     ; PR':=(PR+QR)/2    PI      QR  
            SUBL    ACC,P           ; ACC:=(PR-QR)/2    PI      QR  
            MOVL    *XAR2++,ACC     ; QR':=(PR-QR)/2    PI      QI  

            MOVL    ACC,*XAR6       ; ACC:=PI           PI      QI  
            SFR     ACC,#1          ; ACC:=PI/2         PI      QI
            MOVL    P,*XAR2         ; P=QI              PI      QI
            ADDL    ACC,P<<PM       ; ACC:=(PI+QI)/2    PI      QI 
            MOVL    *XAR6++,ACC     ; PI':=(PI+QI)/2    PR+1    QI  
            SUBL    ACC,P           ; ACC:=(PI-QI)/2    PR+1    QI  
            MOVL    *XAR2++,ACC     ; QR':=(PI-QI)/2    PR+1    QR+1     
        .endm

;----------------------------------------------------
; MACRO 'PBY2I'     
; Number of WORDS/Number of Cycles 12
; USAGE: Called if the TWIDDLE FACTOR: -j 
; 
; P=PR+jPI, Q=QR+jQI, W=WR-jWI
; P'=P+W*Q and Q'=P-W*Q
;
; POINTERS AT ENTRY
; AR6->(PR,PI,PR+1,PI+1,PR+2,PI+2,....)
; AR2->(QR,QI,QR+1,QI+1,QR+2,QR+2,....)
; COMPUTATION PERFORMED: INPLACE COMPUTATION
; AR6   ->      PR'=(PR+QI)/2 
; AR2   ->      QR'=(PR-QI)/2
; AR6+1 ->      PI'=(PI-QR)/2
; AR2+1 ->      QI'=(PI+QR)/2
; PR and PR', PI and PI', QR and QR', QI and QI' are
; stored in the same locations 
; POINTERS AT EXIT
; AR6->(PR+1,PI+1,....) 
; AR2->(QR+1,QI+1,....)
;------------------------------------------------------         
;                                                   (Content of REG after exec.)
PBY2I   .macro                      ;                   AR6     AR2  
            
            MOVL    XAR5,*XAR2++    ; XAR5=QR           PR      QI
            MOVL    ACC,*XAR6       ; ACC:=PR           PR      QI
            SFR     ACC,#1          ; ACC:=PR/2         PR      QI
            MOVL    P,*XAR2         ; P:=QI             PR      QI
            ADDL    ACC,P<<PM       ; ACC:=(PR+QI)/2    PR      QI  
            MOVL    *XAR6++,ACC     ; PR':=(PR+QI)/2    PI      QI     
            SUBL    ACC,P           ; ACC:=(PR-QI)/2    PI      QI     
            MOVL    *--XAR2,ACC     ; QR':=(PR-QI)/2    PI      QR
            ADDB    XAR2,#2         ;                   PI      QI
            
            MOVL    ACC,*XAR6       ; ACC:=PI           PI      QI
            SFR     ACC,#1          ; ACC:=PI/2         PI      QI
            MOVL    P,XAR5          ; P=QR              PI      QI
            SUBL    ACC,P<<PM       ; ACC=(PI-QR)/2     PI      QI
            MOVL    *XAR6++,ACC     ; ACC:=(PI-QR)/2    PR+1    QI    
            ADDL    ACC,P           ; ACC:=(PI+QR)/2    PR+1    QI 
            MOVL    *XAR2++,ACC     ; QI':=(PI+QR)/2    PR+1    QR+1
                              
        .endm  

;----------------------------------------------------
; MACRO 'PBY4I'          SPM set to 1bit right shift, XT=w
; Number of WORDS/Number of Cycles 16
; USAGE: Called if the TWIDDLE FACTOR: COS(45)-jSIN(45)=0.707-j0.707 
; 
; P=PR+jPI, Q=QR+jQI, W=WR-jWI
; P'=P+W*Q and Q'=P-W*Q
;
; POINTERS AT ENTRY
; TREG=W=|SIN(45)|=|COS(45)|=05a82h
; AR6->(PR,PI,PR+1,PI+1,PR+2,PI+2,....)
; AR2->(QR,QI,QR+1,QI+1,QR+2,QR+2,....)
; CALCULATION PERFORMED: INPLACE COMPUTATION
; AR6   ->      PR'=(PR+QI*W+QR*W)/2  
; AR2   ->      QR'=(PR-QI*W-QR*W)/2
; AR6+1 ->      PI'=(PI+QI*W-QR*W)/2
; AR2+1 ->      QI'=(PI-QI*W+QR*W)/2
; PR and PR', PI and PI', QR and QR', QI and QI' are
; stored in the same locations
; POINTERS AT EXIT
; AR6->(PR+1,PI+1,....) 
; AR2->(QR+1,QI+1,....)
;------------------------------------------------------         
;                                                           (Content of REG after exec.)
PBY4I   .macro                      ;                       PREG    AR6  AR2         
                                    ;                       -       PR   QR 
            MOVL    ACC,*XAR6       ; ACC=PR                -       PR   QR  
            SFR     ACC,#1          ; ACC=PR/2              -       PR   QR  
            QMPYL   P,XT,*XAR2      ; PREG=W*QR/2           W*QR/2  PR   QR  
            SUBL    ACC,P           ; ACC=(PR-W*QR)/2       W*QR/2  PR   QR
            MOVL    XAR5,P          ; XAR5=W*QR/2
            QMPYL   P,XT,*+XAR2[2]  ; ACC=(PR-W*QR)/2       W*QI/2  PR   QR
            SUBL    ACC,P           ; ACC=(PR-W*QI-W*QR)/2  W*QI/2  PR   QR 
            MOVL    *XAR2++,ACC     ; QR'=(PR-W*QI-W*QR)/2  W*QI/2  PR   QI
            NEG     ACC             ; ACC=-(PR-W*QI-W*QR)/2 W*QI/2  PR   QI
            ADDL    *XAR6++,ACC     ; PR'=(PR+W*QI+W*QR)/2  W*QI/2  PI   QI

            MOVL    ACC,*XAR6       ; ACC=PI                W*QI/2  PI   QI
            SFR     ACC,#1          ; ACC=PI/2              W*QI/2  PI   QI
            SUBL    ACC,P           ; ACC=(PI-W*QI)/2       W*QI/2  PI   QI
            ADDL    ACC,XAR5        ; ACC=(PI-W*QI+W*QR)/2  W*QR/2  PI   QI
            MOVL    *XAR2++,ACC     ; QI'=(PI-W*QI+W*QR)/2  W*QR/2  PI   QR+1
            NEG     ACC             ; ACC=-(PI-W*QI+W*QR)/2 W*QR/2  PI   QR+1
            ADDL    *XAR6++,ACC     ; PI'=(PI+W*QI-W*QR)/2  W*QR/2  PR+1 QR+1           
        .endm


;----------------------------------------------------
; MACRO 'P3BY4I'    SPM set to 1bit right shift, XT=w    
; Number of WORDS/Number of Cycles 16
; USAGE: Called if the TWIDDLE FACTOR: COS(90+45)-jSIN(90+45)=-0.707-j0.707 
; 
; P=PR+jPI, Q=QR+jQI, W=WR-jWI
; P'=P+W*Q and Q'=P-W*Q
;
; POINTERS AT ENTRY 
; TREG=W=|SIN(135)|=|COS(135)|=05a82h
; AR6->(PR,PI,PR+1,PI+1,PR+2,PI+2,....)
; AR2->(QR,QI,QR+1,QI+1,QR+2,QR+2,....)
; CALCULATION PERFORMED: INPLACE COMPUTATION
; AR6   ->      PR'=(PR+QI*W-QR*W)/2  
; AR2   ->      QR'=(PR-QI*W+QR*W)/2
; AR6+1 ->      PI'=(PI-QI*W-QR*W)/2
; AR2+1 ->      QI'=(PI+QI*W+QR*W)/2
; PR and PR', PI and PI', QR and QR', QI and QI' are
; stored in the same locations 
; POINTERS AT EXIT
; AR6->(PR+1,PI+1,....) 
; AR2->(QR+1,QI+1,....)
;------------------------------------------------------         
;                                                           (Content of REG after exec.)
P3BY4I  .macro                      ;                       AR5     PREG    AR6  AR2 
                                    ;                       -       PR   QR 
            MOVL    ACC,*XAR6       ; ACC=PR                -       PR   QR  
            SFR     ACC,#1          ; ACC=PR/2              -       PR   QR  
            QMPYL   P,XT,*XAR2      ; PREG=W*QR/2           W*QR/2  PR   QR 
            ADDL    ACC,P           ; ACC=(PR+W*QR)/2       W*QR/2  PR   QR
            MOVL    XAR5,P          ; XAR5=W*QR/2           W*QR/2  PR   QR
            QMPYL   P,XT,*+XAR2[2]  ; ACC=(PR+W*QR)/2       W*QI/2  PR   QR
            SUBL    ACC,P           ; ACC=(PR-W*QI+W*QR)/2  W*QI/2  PR   QR 
            MOVL    *XAR2++,ACC     ; QR'=(PR-W*QI+W*QR)/2  W*QI/2  PR   QI
            NEG     ACC             ; ACC=-(PR-W*QI+W*QR)/2 W*QI/2  PR   QI
            ADDL    *XAR6++,ACC     ; PR'=(PR+W*QI-W*QR)/2  W*QI/2  PI   QI

            MOVL    ACC,*XAR6       ; ACC=PI                W*QI/2  PI   QI
            SFR     ACC,#1          ; ACC=PI/2              W*QI/2  PI   QI
            ADDL    ACC,P           ; ACC=(PR+W*QI)/2       W*QI/2  PI   QI
            ADDL    ACC,XAR5        ; ACC=(PI+W*QI+W*QR)/2  W*QR/2  PI   QI
            NOP     *,ARP2
            MOVL    *0++,ACC        ; QI'=(PI+W*QI+W*QR)/2  W*QR/2  PI   QR+1
            NEG     ACC             ; ACC=-(PI+W*QI+W*QR)/2 W*QR/2  PI   QR+1
            ADDL    *XAR6,ACC       ; PI'=(PI-W*QI-W*QR)/2  W*QR/2  PI   QR+1
            NOP     *0++            ;                       W*QR/2  PR+1 QR+1
        .endm  


;----------------------------------------------------
; MACRO 'BFLY'       SPM set to 1bit right shift
; Number of WORDS/Number of Cycles 21
; USAGE: General Butterfly RADIX 2 -> TWIDDLE FACTOR W=WR-jWI 
; 
; P=PR+jPI, Q=QR+jQI, W=WR-jWI
; P'=P+W*Q and Q'=P-W*Q
;
; REGISTER USED: XAR0,XAR2,XAR3,XAR4,XAR5,XAR6,ACC,XT,P 
;
; POINTERS AT ENTRY
; AR6->(PR,PI,PR+1,PI+1,PR+2,PI+2,....)
; AR2->(QR,QI,QR+1,QI+1,QR+2,QR+2,....)
; AR3-> Real Part of Twiddle Factor: WR(COSx)
; AR4-> Imaginary Part of Twiddle Factor: WI(SINx)
; AR5-> Temporary Variable
; CALCULATION PERFORMED: INPLACE COMPUTATION 
; AR6   ->      PR'=(PR+QR*WR+QI*WI)/2  
; AR2   ->      QR'=(PR-QR*WR-QI*WI)/2
; AR6+1 ->      PI'=(PI+QI*WR-QR*WI)/2
; AR2+1 ->      QI'=(PI-QI*WR+QR*WI)/2
; PR and PR', PI and PI', QR and QR', QI and QI' are
; stored in the same locations
; POINTERS AT EXIT
; AR6->(PR+1,PI+1,....) 
; AR2->(QR+1,QI+1,....)
; AR3-> Real Part of Next Twiddle Factor
; AR4-> Imaginary Part ofNext Twiddle Factor
;------------------------------------------------------            
    
BFLY    .macro  p                   ;                         XT    AR6     AR2     AR3     AR4  
                                    ;                         -     PR      QR      WR      WI 
            MOVL    XT,*XAR3        ; XT=WR                   WR    PR      QR      WR      WI
            NOP     *0++            ;                         WR    PR      QR      WR+n    WI
            QMPYL   P,XT,*XAR2++    ; P=QR*WR                 WR    PR      QI      WR+n    WI
            QMPYL   ACC,XT,*,ARP4   ; ACC=QI*WR               WR    PR      QI      WR+n    WI
            MOVL    *-SP[TEMP],P    ; TEMP=QR*WR              WR    PR      QI      WR+n    WI

            MOVL    XT,*0++         ; XT=WI                   WR    PR      QI      WR+n    WI+n
            QMPYL   P,XT,*--XAR2    ; P=WI*QR                 WR    PR      QR      WR+n    WI+n
            SUBL    ACC,P           ; ACC=(QI*WR-QR*WI)       WR    PR      QR      WR+n    WI+n
            
            .if(TF_QFMAT==Q30)
            LSL     ACC,#1          ; ACC=(QI*WR-QR*WI) (Q30)
            .endif

            MOVL    XAR5,ACC        ; XAR5=(QI*WR-QR*WI) (Q30)
                        
            QMPYL   ACC,XT,*+XAR2[2]; ACC=WI*QI              WR    PR      QR      WR+n    WI+n
            ADDL    ACC,*-SP[TEMP]  ; ACC=(QR*WR+QI*WI)      WR    PR      QR      WR+n    WI+n

            .if(TF_QFMAT==Q30)
            LSL     ACC,#1          ; ACC=(QR*WR+QI*WI) in Q30
            .endif

            MOVL    P,*XAR6         ; P=PR                    WR    PR      QR      WR+n    WI+n

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线播放中文一区| 国产精品二三区| 国产精品美女久久久久av爽李琼| 欧美日韩一二三区| 亚洲欧洲成人av每日更新| 日韩va欧美va亚洲va久久| 色综合久久久久综合| 日韩一区二区在线观看视频| 亚洲柠檬福利资源导航| 成人免费高清在线观看| 欧美精品一区二区在线观看| 男男视频亚洲欧美| 欧美视频你懂的| 亚洲精品欧美综合四区| 成人性生交大片免费 | 国产精品自在欧美一区| 国产精品国产三级国产| 欧美久久免费观看| 色av成人天堂桃色av| 成人免费高清在线| 亚洲综合色视频| 7777精品伊人久久久大香线蕉最新版| 婷婷丁香激情综合| 国产日韩在线不卡| 91在线国产观看| 视频一区欧美日韩| 国产网红主播福利一区二区| 欧美一区二区三区播放老司机| 亚洲一区二区在线观看视频 | 欧美色精品天天在线观看视频| 午夜精品在线看| 久久天堂av综合合色蜜桃网| 欧美中文字幕一区二区三区| 91福利小视频| 91精品国产高清一区二区三区 | 亚洲精品少妇30p| 欧美一区二区三区喷汁尤物| 色综合天天性综合| 99久久精品免费看国产| 国产精品99久久久久久有的能看| 蜜桃视频免费观看一区| 麻豆91在线播放免费| 日韩高清一区在线| 欧美日韩国产一二三| 视频一区二区三区在线| 国产一区不卡在线| 91蝌蚪porny九色| 亚洲精选视频免费看| 日本韩国精品在线| 日韩高清在线不卡| 亚洲婷婷国产精品电影人久久| 在线视频国内一区二区| 精品在线一区二区三区| 国产精品家庭影院| 国产精品久久毛片av大全日韩| 欧美日韩亚洲综合在线| 国产99久久久国产精品| 亚洲超碰97人人做人人爱| 久久亚洲捆绑美女| 6080国产精品一区二区| 99精品欧美一区二区三区综合在线| 亚洲蜜臀av乱码久久精品 | 欧美精品v国产精品v日韩精品| 天天综合天天做天天综合| 国产精品大尺度| 日本一区二区三区四区| 欧美一区二区视频观看视频| 国产盗摄视频一区二区三区| 国产欧美日韩视频在线观看| 日韩一区二区三区三四区视频在线观看 | 亚洲老司机在线| 在线观看国产精品网站| 在线观看av一区二区| 欧美日韩美女一区二区| 欧美成人女星排行榜| 久久久久久久久久看片| 中文字幕字幕中文在线中不卡视频| 亚洲男同性恋视频| 青青草原综合久久大伊人精品| 久久综合久久综合九色| 欧美电影免费观看高清完整版 | 日韩高清欧美激情| 亚洲免费av网站| 自拍视频在线观看一区二区| 久久一区二区三区四区| 国产日韩三级在线| 一区在线中文字幕| 亚洲三级免费电影| 亚洲国产视频直播| 蜜臀av性久久久久蜜臀aⅴ四虎| 天堂午夜影视日韩欧美一区二区| 国产精品美女久久久久aⅴ| 精品国产乱码久久久久久久久| 欧美精品高清视频| 日韩精品专区在线| 亚洲精品日日夜夜| 国产精品18久久久久| 99r国产精品| 国产女人18毛片水真多成人如厕| 中文字幕第一区综合| 国产成人亚洲精品青草天美| 日本不卡在线视频| 夜夜精品浪潮av一区二区三区| 国产日韩精品一区| 亚洲另类春色国产| 色菇凉天天综合网| 韩日av一区二区| 日本欧美在线看| 亚洲一区中文日韩| 国产v综合v亚洲欧| 欧美日本免费一区二区三区| 亚洲图片另类小说| 韩国三级电影一区二区| 91亚洲精品一区二区乱码| 久久久久久久久久电影| 天天综合色天天| 亚洲自拍偷拍欧美| 国产福利电影一区二区三区| 欧美三区在线视频| 一区在线观看免费| 国产精品影视网| 91精品国产高清一区二区三区| 自拍偷拍亚洲综合| 精品一二线国产| 欧美精品vⅰdeose4hd| 亚洲一区二区三区四区五区中文 | 热久久久久久久| 99视频在线精品| 久久精品亚洲一区二区三区浴池 | 欧美另类高清zo欧美| 91片黄在线观看| 亚洲精品伦理在线| 欧美一区午夜视频在线观看| 国产乱对白刺激视频不卡| 国产肉丝袜一区二区| 91国产免费观看| 久久99九九99精品| 欧美精彩视频一区二区三区| 99久久国产综合精品女不卡| 亚洲欧美色一区| 欧美国产日韩亚洲一区| 91丨九色丨蝌蚪富婆spa| 色哟哟一区二区三区| 成人aaaa免费全部观看| 极品少妇一区二区| 一级做a爱片久久| 久久精品国产色蜜蜜麻豆| 亚洲四区在线观看| 久久精品人人做人人爽97| 欧美性猛交xxxx乱大交退制版| 99久久精品国产观看| 国产真实精品久久二三区| 国产人成亚洲第一网站在线播放| 九九久久精品视频| 尤物在线观看一区| 国产精品传媒视频| 久久网站热最新地址| 亚洲国产va精品久久久不卡综合| 成人av网站免费| 国产精品天美传媒| 粉嫩aⅴ一区二区三区四区五区| 中文字幕一区二区三区不卡在线 | 欧美成人乱码一区二区三区| 亚洲精品日日夜夜| 欧美一区二区三区视频| 国产精品99久久久久久久vr| 亚洲男人的天堂在线观看| 欧美伦理电影网| 国产一区二区三区香蕉 | 欧美激情一区二区三区| 日韩三级电影网址| 日韩精品一区二区三区视频在线观看 | 在线免费一区三区| 欧美优质美女网站| 欧美久久久一区| 91麻豆精品国产91久久久久| 99riav一区二区三区| 91国偷自产一区二区三区成为亚洲经典 | 精品久久一二三区| 成人精品一区二区三区四区| 国产在线精品一区二区三区不卡 | 欧美日本一区二区三区四区| 国产精品久久久一区麻豆最新章节| 日韩欧美电影一区| 亚洲女女做受ⅹxx高潮| 宅男噜噜噜66一区二区66| 国产一区欧美一区| 国产亚洲精品中文字幕| 91浏览器入口在线观看| 无码av免费一区二区三区试看| 日韩午夜小视频| 成人精品gif动图一区| 五月天国产精品| 欧美偷拍一区二区| 欧美视频一区二区在线观看| 久久新电视剧免费观看| 成人在线视频一区二区| 国产盗摄一区二区| 激情综合色播五月| 丰满少妇久久久久久久|