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

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

?? cfft32c.asm

?? TMS320F2812 FFT 源碼,包括詳細的應用文檔
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
;========================================================================
;
; 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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
五月激情综合色| 久久精品国产亚洲a| 欧美一级国产精品| 亚洲人成精品久久久久久| 日韩欧美区一区二| 精品三级av在线| 久久久久久久久蜜桃| 国产日产欧产精品推荐色| 亚洲视频一区在线| 五月天一区二区三区| 狠狠色狠狠色合久久伊人| 色欲综合视频天天天| 亚洲韩国精品一区| 视频一区中文字幕| 精品制服美女久久| 不卡一区在线观看| 欧美高清一级片在线| 久久精品日产第一区二区三区高清版 | 久久午夜色播影院免费高清| 亚洲三级电影全部在线观看高清| 一区二区三区四区蜜桃| 六月丁香婷婷色狠狠久久| 成人一二三区视频| 日韩限制级电影在线观看| 国产精品狼人久久影院观看方式| 亚洲一区二区三区免费视频| 国产成人精品影视| 2024国产精品| 另类专区欧美蜜桃臀第一页| 欧美性一区二区| 自拍偷拍亚洲综合| 国产精品影视在线观看| 欧美美女喷水视频| 亚洲激情在线激情| 一本久久精品一区二区| 国产丝袜在线精品| 国内久久精品视频| 久久亚洲二区三区| 久久99这里只有精品| 精品粉嫩超白一线天av| 青娱乐精品视频| 精品少妇一区二区三区日产乱码| 午夜欧美视频在线观看| 日本韩国欧美一区二区三区| 一区二区三区欧美激情| 色94色欧美sute亚洲13| 午夜一区二区三区视频| 日韩色在线观看| 国产乱淫av一区二区三区| 国产视频一区在线观看| 色综合久久久久综合| 亚洲国产aⅴ天堂久久| 日韩一区二区精品在线观看| 国产乱一区二区| 亚洲精品在线免费观看视频| 欧美经典一区二区三区| 色婷婷精品大在线视频| 久久疯狂做爰流白浆xx| 亚洲欧美激情一区二区| 日韩免费在线观看| 91网页版在线| 国产成人一区在线| 亚洲综合丝袜美腿| 国产精品久久一卡二卡| 欧美成人精品高清在线播放| 在线观看日韩电影| 99精品在线免费| 成人中文字幕在线| 国产麻豆欧美日韩一区| 免费成人av在线| 首页亚洲欧美制服丝腿| 一区二区三区在线视频免费| 国产亚洲制服色| 国产一区二区三区免费看| 国产精品美女久久久久久久久| 成人自拍视频在线| 国产欧美一区视频| 9l国产精品久久久久麻豆| 三级欧美在线一区| 最新国产成人在线观看| 欧美综合亚洲图片综合区| 粉嫩嫩av羞羞动漫久久久 | 午夜精品国产更新| 中文字幕在线一区二区三区| 欧美草草影院在线视频| 欧美一区二区三区四区五区 | 国产精品丝袜一区| 国产午夜亚洲精品理论片色戒| 久久久国产精品麻豆| 中文字幕av不卡| 奇米综合一区二区三区精品视频| 亚洲影视在线播放| 午夜国产不卡在线观看视频| 亚洲三级免费电影| 亚洲电影第三页| 男人的j进女人的j一区| 精品一区二区免费视频| 美日韩一区二区| 国产精品1区2区3区| 色综合中文字幕国产 | 色狠狠色噜噜噜综合网| 欧美精品免费视频| 中文字幕不卡在线| 亚洲一卡二卡三卡四卡| 激情文学综合网| www.成人网.com| 日韩久久久精品| 欧美激情一区二区三区在线| 午夜精品影院在线观看| 国产不卡一区视频| 欧美少妇一区二区| 亚洲国产精品激情在线观看| 奇米精品一区二区三区在线观看| 99久久久精品| 日韩视频免费观看高清在线视频| 国产精品免费人成网站| 国产乱子伦视频一区二区三区 | 久久精品人人做人人综合| 日韩和的一区二区| 色老头久久综合| 中文字幕在线免费不卡| 国产成人精品影视| 日韩一区二区免费在线观看| 日韩综合在线视频| 欧美日韩www| 丝袜亚洲另类欧美综合| 欧美午夜在线一二页| 国产精品国产三级国产三级人妇 | 欧美日韩精品久久久| 亚洲精品国久久99热| 成人理论电影网| 国产亲近乱来精品视频| 国产一区二区三区| 国产精品美女久久久久av爽李琼 | 国产调教视频一区| av亚洲精华国产精华精华| 国产精品久久久久影院老司| 国产乱子轮精品视频| 久久久久久亚洲综合影院红桃| 美女一区二区视频| 欧美国产视频在线| 91亚洲男人天堂| 亚洲午夜免费福利视频| 欧美无人高清视频在线观看| 亚洲高清一区二区三区| 欧美一区二区三区啪啪| 成年人国产精品| 婷婷激情综合网| 亚洲国产精品传媒在线观看| 在线欧美日韩精品| 狠狠色伊人亚洲综合成人| 亚洲欧美日韩国产综合在线| 欧美在线一二三四区| 国产一区在线精品| 天天色天天爱天天射综合| 日韩欧美一区二区视频| 国产福利不卡视频| 午夜精品久久久久久久| 国产精品网站在线| 日韩一区和二区| 欧美熟乱第一页| 成人免费福利片| 美腿丝袜一区二区三区| 亚洲自拍偷拍综合| 国产精品每日更新| 久久嫩草精品久久久精品| 欧美一区二区精品久久911| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 国产精品剧情在线亚洲| 欧美成人精品二区三区99精品| 欧美色区777第一页| 欧美亚洲丝袜传媒另类| 色94色欧美sute亚洲线路一ni| 国产91精品欧美| 国产不卡在线播放| 成人免费的视频| 国产成人在线色| 99精品在线观看视频| 成人高清av在线| 色偷偷久久一区二区三区| 粉嫩蜜臀av国产精品网站| 国产91精品精华液一区二区三区 | 成人激情免费电影网址| 亚洲精品一区二区三区精华液| 日韩欧美电影在线| 日韩午夜精品电影| 国产精品欧美一级免费| 中文字幕一区二区视频| 亚洲丝袜自拍清纯另类| 中文字幕乱码一区二区免费| 亚洲国产精品99久久久久久久久 | 国产精品伦理在线| 亚洲男人都懂的| 视频在线观看一区| 蜜桃视频一区二区| 亚洲成人免费观看| 粉嫩欧美一区二区三区高清影视 | 99国产精品国产精品久久| 色伊人久久综合中文字幕| 欧美精品在线一区二区三区|