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

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

?? cfft32c.asm

?? TMS320F2812 FFT 源碼,包括詳細的應用文檔
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
            ADDL    ACC,P<<PM       ; ACC=(PR+QR*WR+QI*WI)/2  WR    PR      QR      WR+n    WI+n
            MOVL    *XAR6++,ACC     ; PR'=(PR+QR*WR+QI*WI)/2  WR    PI      QR      WR+n    WI+n

            SUBL    P,ACC           ; P=(PR-QR*WR-QI*WI)/2    WR    PI      QR      WR+n    WI+n
            MOVL    *XAR2++,P       ; QR'=(PR-QR*WR-QI*WI)/2  WR    PI      QI      WR+n    WI+n

            MOVL    ACC,XAR5        ; ACC=(QI*WR-QR*WI)/2     WR    PI      QI      WR+n    WI+n
            MOVL    P,*XAR6         ; P=PI                    WR    PI      QI      WR+n    WI+n
            ADDL    ACC,P<<PM       ; ACC=(PI+QI*WR-QR*WI)/2  WR    PI      QI      WR+n    WI+n
            MOVL    *XAR6++,ACC     ; (PI+QI*WR-QR*WI)/2      WR    PR+1    QI      WR+n    WI+n

            SUBL    P,ACC           ; P=(PI-QI*WR+QR*WI)/2    WR    PR+1    QI      WR+n    WI+n
            MOVL    *XAR2++,P       ; QI'=(PI-QI*WR+QR*WI)/2  WR    PR+1    QR+1    WR+n    WI+n
        .endm
    
                                                                                                                                                
;----------------------------------------------------
; MACRO 'COMBO'  SPM set to 1bit right shift   
; Number of WORDS/Number of Cycles 33
; USAGE: RADIX 4 USED AT THE FIRST STAGE
;
; REGISTER USED: XAR0,XAR1,XAR2,XAR3,XAR4,XAR5,XAR6,ACC,XT,P 
;
; POINTERS AT ENTRY 
; AR6->(R1,I1)
; AR2->(R2,I2)
; AR3->(R3,I3)
; AR4->(R4,I4)
; AR5-> Temporary Variable
; CALCULATION PERFORMED: INPLACE COMPUTATION 
; AR6   ->      R1'=(R1+R2+R3+R4)/4
; AR2   ->      R2'=(R1-R2+I3-I4)/4
; AR3   ->      R3'=(R1+R2-R3-R4)/4
; AR4   ->      R4'=(R1-R2-I3+I4)/4
; AR6+1 ->      I1'=(I1+I2+I3+I4)/4
; AR2+1 ->      I2'=(I1-I2-R3+R4)/4
; AR3+1 ->      I3'=(I1+I2-I3-I4)/4
; AR4+1 ->      I4'=(I1-I2+R3-R4)/4
; POINTERS AT EXIT
; AR6->(R5,I5) 
; AR2->(R6,I6)
; AR3->(R7,I7) 
; AR4->(R8,I8)
;---------------------------------------------------         
;                                                           (Content of REG after exec.)                      
COMBO   .macro                      ;                       AR6 AR2 AR3 AR4  
            MOVL    ACC,*XAR3       ; ACC=R3                R1  R2  R3  R4  
            SFR     ACC,#1          ; ACC=R3/2
            MOVL    P,*XAR4         ; P=R4
            SUBL    ACC,P<<PM       ; ACC=(R3-R4)/2
            MOVL    XT,ACC          ; T=(R3-R4)/2
            ADDL    ACC,P           ; ACC=(R3+R4)/2
            MOVL    XAR1,ACC        ; XAR1=(R3+R4)/2

            MOVL    ACC,*XAR6       ; ACC=R1               
            SFR     ACC,#1          ; ACC=R1/2
            MOVL    P,*XAR2         ; P=R2
            SUBL    ACC,P<<PM       ; ACC=R1-R2/2
            MOVL    *-SP[TEMP],ACC     ; temp=(R1-R2)/2
            ADDL    ACC,*XAR2       ; ACC=(R1+R2)/2

            SFR     ACC,#1          ; ACC=(R1+R2)/4
            MOVL    P,XAR1          ; P=(R3+R4)/2
            ADDL    ACC,P<<PM       ; ACC=(R1+R2+R3+R4)/4
            MOVL    *XAR6++,ACC     ; R1'=(R1+R2+R3+R4)/4
            SUBL    ACC,P           ; ACC=(R1+R2-R3-R4)/4
            MOVL    *XAR3++,ACC     ; R3'=(R1+R2-R3-R4)/4

            MOVL    ACC,*XAR3       ; ACC=I3
            SFR     ACC,#1          ; ACC=I3/2
            MOVL    P,*+XAR4[2]     ; P=I4
            SUBL    ACC,P<<PM       ; ACC=(I3-I4)/2
            MOVL    XAR1,ACC        ; XAR1=(I3-I4)/2
            ADDL    ACC,P           ; ACC=(I3+I4)/2
            MOVL    XAR5,ACC        ; XAR5=(I3+I4)/2

            MOVL    ACC,*-SP[TEMP]     ; ACC=(R1-R2)/2
            SFR     ACC,#1          ; ACC=(R1-R2)/4
            MOVL    P,XAR1          ; P=(I3-I4)/2
            ADDL    ACC,P<<PM       ; ACC=(R1-R2+I3-I4)/4
            MOVL    *XAR2++,ACC     ; R2'=(R1-R2+I3-I4)/4
            SUBL    ACC,P           ; ACC=(R1-R2-I3+I4)/4
            MOVL    *XAR4++,ACC     ; R4'=(R1-R2-I3+I4)/4
            
            MOVL    ACC,*XAR6       ; ACC=I1
            SFR     ACC,#1          ; ACC=I1/2
            MOVL    P,*XAR2         ; P=I2
            SUBL    ACC,P<<PM       ; ACC=(I1-I2)/2
            MOVL    *-SP[TEMP],ACC     ; temp=(I1-I2)/2
            ADDL    ACC,P           ; ACC=(I1+I2)/2

            SFR     ACC,#1          ; ACC=(I1+I2)/4
            MOVL    P,XAR5          ; P=(I3+I4)/2
            ADDL    ACC,P<<PM       ; ACC=(I1+I2+I3+I4)/4
            MOVL    *XAR6,ACC       ; I1'=(I1+I2+I3+I4)/4
            NOP     *0++
            SUBL    ACC,P           ; ACC=(I1+I2-I3-I4)/4
            MOVL    *XAR3,ACC       ; I3'=(I1+I2-I3-I4)/4
            NOP     *0++


            MOVL    ACC,*-SP[TEMP]     ; ACC=(I1-I2)/2
            SFR     ACC,#1          ; ACC=(I1-I2)/4
            MOVL    P,XT            ; P=(R3-R4)/2
            ADDL    ACC,P<<PM       ; ACC=ACC=(I1-I2+R3-R4)/4
            MOVL    *XAR4,ACC       ; I4'=(I1-I2+R3-R4)/4
            NOP     *0++
            SUBL    ACC,P           ; ACC=(I1-I2-R3+R4)/4
            MOVL    *XAR2,ACC       ; I2'=(I1-I2-R3+R4)/4
            NOP     *0++
            .endm

;====================================================================
; Function Local Frame
;====================================================================
;   |_______|
;   |_______|<- Stack Pointer                           (SP) <---SP 
;   |_______|<- GLCB                                    (SP-1)
;   |_______|<- BLC  (Butterfly loop counter)           (SP-2)
;   |_______|<- GLC  (Group loop counter)               (SP-3)
;   |_______|<- SLC  (Stage loop counter)               (SP-4)
;   |_______|<- TOST (Twiddle offset, for decimation)   (SP-5)
;   |_______|<- DOST (Data offset)                      (SP-6) 
;   |_______|<- TEMP                                    (SP-7) & (SP-8)                                               
;===================================================================
FFT_LOCAL_FRAME     .set    10
GLCB                .set    1
BLC                 .set    2
GLC                 .set    3
SLC                 .set    4
TOST                .set    5
DOST                .set    6
TEMP                .set    8
WRWIOST             .set    9

             
_CFFT32_calc:
            PUSH    XAR1            ; Context Save
            PUSH    XAR2
            PUSH    XAR3 
            ADDB    SP,#FFT_LOCAL_FRAME  ; Create Local Frame
                              
            SETC    SXM
            SPM     -1              ; SPM set to 1bit right shift   
                            
            MOVL    XAR7,XAR4       ; XAR7->FFT_handle             
            MOVL    XAR2,*XAR7      ; XAR2=ipcbptr
            MOVL    XAR3,XAR2       ; XAR3=ipcbptr
            MOVL    XAR4,XAR2       ; XAR4=ipcbptr
            
            MOVL    XAR6,XAR2       ; XAR6=ipcbptr 
            ADDB    XAR2,#4         ; XAR2=ipcbptr+4
            ADDB    XAR3,#8         ; XAR3=ipcbptr+8
            ADDB    XAR4,#12        ; XAR4=ipcbptr+12
            MOVB    XAR0,#14        ; XAR0=14
                                                                                                          
;-----------------------------------------------------------------
; Stage 1 & 2 - Using the RADIX 4 COMBO Macro
;-----------------------------------------------------------------
            MOVL    *-SP[2],XAR7    ; (SP-2)=FFT_handle
            MOV     ACC,*+XAR7[4]<<14
            SUB     ACC,#1<<14
            MOV     AR7,AH          ; Loop (N/4 - 1) times
          
STAGE1_2_LP:
            COMBO
            BANZ    STAGE1_2_LP,AR7--  

;------------------------------------------------------------------
; Stage 3 - Using ZEROI, PBY4I,PBY2I,P3BY4I Macros
;------------------------------------------------------------------
            MOVL    XAR7,*-SP[2]    ; XAR7=FFT_handle
            MOVL    XAR6,*XAR7      ; XAR6=ipcbptr 
            MOVL    XAR2,*XAR7      ; XAR2=ipcbptr
            ADDB    XAR2,#16        ; XAR2=ipcbptr+16
            MOVB    XAR0,#18

            MOV     AL,#COS45K_LSW
            MOV     AH,#COS45K_MSW
            MOVL    XT,ACC          ; XT=COS(45) in Q31 format
                
            MOV     ACC,*+XAR7[4]<<13
            SUB     ACC,#1<<13
            MOV     AR1,AH          ; Loop (N/8 - 1) times
       
STAGE3_LP:  ZEROI
            PBY4I
            PBY2I
            P3BY4I                  ; AR7 at end, Use *0+ modify
            BANZ    STAGE3_LP,AR1--
                                                                                            
;--------------------------------------------------------
; Stage 4 to LOG2(N) - Using BFLY Macro
;--------------------------------------------------------   
; Initialisation
; 1. Initialise the Butterfly loop(BLC), Group loop(GLC) & Stage loop counter(SLC)
; 2. Initialise the Data offset(DOST) and twiddle factor offset (TOST)          
            MOV     ACC,*+XAR7[4]<<12 ; AH=(N/16)
            MOV     *-SP[GLCB],AH   ; GLCB=N/16
            MOV     *-SP[GLC],AH    ; GLC=N/16
            MOVB    *-SP[BLC],#8,UNC; BLC=8

; Twiddle factor offset
            LSL     ACC,#1
            MOV     T,AH            ; T=N/8
            ADDB    XAR7,#13
            MPY     ACC,T,*XAR7     ; ACC=ratio*N/8
            SUBB    XAR7,#13            
            MOV     *-SP[TOST],AL   ; TOST=ratio*N/8
            
            MOV     ACC,*+XAR7[5]   ; ACC=nrstage
            SUB     ACC,#3          ; ACC=nrstage-3
            MOV     *-SP[SLC],AL    ; SLC=nrState-3
            MOVB    *-SP[DOST],#32,UNC ; DOST=32

            MOV     ACC,*+XAR7[4]<<15  ; AH=N/2
            ADDB    XAR7,#13        
            MOV     T,*XAR7         ; T=ratio
            SUBB    XAR7,#13        
            MPY     ACC,T,AH        ; ACC=ratio*N/2
            ADDL    ACC,*+XAR7[2]   ; 
            MOVL    *-SP[WRWIOST],ACC  ; WRWIOST=tfptr+ratio*N/2 ----> COS(Angle)


SLP:                                ; Stage loop 
            MOVL    XAR6,*XAR7      ; XAR6=ipcbptr ----->  P          
            MOVL    ACC,*XAR7       ; ACC=ipcbptr
            ADD     ACC,*-SP[DOST]  ; ACC=ipcbptr+DOST
            MOVL    XAR2,ACC        ; XAR2->ipcbptr+DOST -----> Q
            
            MOVZ    AR0,*-SP[TOST]  ; AR0=TOST

            
GLP:                                ; Group loop
            MOVL    XAR3,*-SP[WRWIOST]
            MOVL    XAR4,*+XAR7[2]  ; XAR4=tfptr ---> SIN(Angle)
            
            MOVZ    AR1,*-SP[BLC]   ; AR1=BLC
            SUBB    XAR1,#1
BLP:                                ; Butterfly loop
            BFLY    7
            BANZ    BLP,AR1--       ; Butterfly loop                      

; Operations performed between the group
; 1. Manuplating the P & Q pointer to point to the next group
; 2. Reinitialising the WI and WR twiddle factor pointer  
; 3. Decrementing the Group Count by 1, till all the group in the stage is computed
; 4. Reinitialising the Butterfly loop index for next group
                                    ; ARP=AR2
            MOVU    ACC,*-SP[DOST]  ; ACC=DOST
            ADDL    XAR6,ACC        
            ADDL    XAR2,ACC        
            DEC     *-SP[GLC]
            BF      GLP,NEQ         ; Group Loop 
  
; Operation Performed, between the stage
; 1. Mutiply the data offset by 2
; 2. Divide the Group count by 2
; 3. Divide the Twiddle offset by 2
; 4. Multiply the butterfly count by 2
; 5. Decrementing the stage count by 1, till all the stage gets over
; 6. Reinitialising the P & Q data pointer to the first group of next stage         
            MOV     ACC,*-SP[DOST]<<1
            MOV     *-SP[DOST],AL   ; DOST=DOST*2

            MOV     ACC,*-SP[BLC]<<1
            MOV     *-SP[BLC],AL    ; BLC=BLC*2

            MOV     ACC,*-SP[TOST]<<15
            MOV     *-SP[TOST],AH   ; TOST=TOST/2

            MOV     ACC,*-SP[GLCB]<<15
            MOV     *-SP[GLCB],AH   ; GLCB=GLCB/2
            MOV     *-SP[GLC],AH    ; GLC=GLCB/2

            DEC     *-SP[SLC]
            BF      SLP,NEQ         ; Stage loop
                     
            SPM     0               ; SPM set to 0
            
            SUBB    SP,#FFT_LOCAL_FRAME ; Clear local frame
            POP     XAR3            ; Context Restore
            POP     XAR2
            POP     XAR1 
            LRETR

      
                                                                                               

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美电视剧免费观看| 欧美日韩专区在线| 国产乱对白刺激视频不卡| 国产中文一区二区三区| 国产精品久久国产精麻豆99网站 | 91精品国产欧美日韩| 91.com在线观看| 久久蜜桃香蕉精品一区二区三区| 久久久久久久久久久久电影| 国产精品天干天干在观线 | 成人免费高清在线观看| 99久久久久久| 精品久久久久久久久久久院品网 | 99精品一区二区| 777色狠狠一区二区三区| 日韩精品一区二区三区在线播放 | 91久久一区二区| 欧美成人r级一区二区三区| 亚洲欧美中日韩| 中文字幕不卡在线播放| 亚洲免费观看高清完整版在线| 午夜欧美一区二区三区在线播放| 久久91精品国产91久久小草| 波多野结衣精品在线| 日韩欧美国产一区二区在线播放| 国产免费久久精品| 黄页视频在线91| 欧美精品高清视频| 夜夜精品浪潮av一区二区三区| 久久99在线观看| 91精品国产91久久久久久最新毛片 | 欧美视频一区二| 中文字幕不卡在线观看| 国产精品99久久久久久久女警| 欧美日韩国产天堂| 亚洲黄色录像片| 色偷偷88欧美精品久久久| 久久久国际精品| 国产不卡视频一区二区三区| 欧美日韩国产综合一区二区| 亚洲第一福利一区| 欧美日韩大陆一区二区| 丝瓜av网站精品一区二区| 欧美电影一区二区三区| 2023国产精品自拍| 亚洲18女电影在线观看| 欧美色区777第一页| 偷拍自拍另类欧美| 欧美色图12p| 日韩国产在线一| 精品成a人在线观看| 国产成人亚洲精品狼色在线| 国产欧美日韩中文久久| aaa国产一区| 午夜久久久久久久久| 日韩欧美国产麻豆| 成人av在线影院| 午夜精品一区在线观看| 欧美成人一级视频| 成人免费观看男女羞羞视频| 黄网站免费久久| 亚洲激情第一区| 精品国产99国产精品| av资源站一区| 日韩av网站在线观看| 国产视频一区在线播放| 在线一区二区三区| 精品一区二区三区视频| 亚洲影院免费观看| 国产精品蜜臀在线观看| 欧美精品视频www在线观看| 成人午夜视频在线观看| 日本中文一区二区三区| 国产精品午夜在线| 国产精品久久久久影视| 欧美另类videos死尸| zzijzzij亚洲日本少妇熟睡| 日韩精品一级中文字幕精品视频免费观看 | 精品国产免费人成电影在线观看四季 | 精品亚洲国产成人av制服丝袜| 欧美老肥妇做.爰bbww| 久久www免费人成看片高清| 国产午夜精品一区二区三区四区| 91麻豆视频网站| 亚洲精品国产第一综合99久久| 精品乱人伦小说| 日韩欧美综合一区| 国产综合久久久久久久久久久久| 久久网站热最新地址| 国产成人精品亚洲日本在线桃色| 国产亚洲成aⅴ人片在线观看 | 欧美偷拍一区二区| 激情五月播播久久久精品| 国产在线看一区| 亚洲婷婷综合久久一本伊一区 | 成人综合在线视频| 久久av中文字幕片| 成人激情黄色小说| 欧美一级在线观看| 一区二区三区精品| 九九在线精品视频| 韩国女主播一区| 99国产精品国产精品毛片| 色狠狠桃花综合| 欧美精品一区二| 肉丝袜脚交视频一区二区| 久久99精品一区二区三区三区| 亚洲人成精品久久久久久| 日韩精品在线一区二区| 91色婷婷久久久久合中文| 久久精品999| 大白屁股一区二区视频| 狠狠v欧美v日韩v亚洲ⅴ| 国产成人一区在线| 欧美丝袜第三区| 国产精品毛片大码女人| 日韩av午夜在线观看| 色域天天综合网| 中文字幕第一区综合| 久热成人在线视频| 欧美老女人第四色| 亚洲成人福利片| 在线观看网站黄不卡| 成人欧美一区二区三区在线播放| 精品制服美女丁香| 精品动漫一区二区三区在线观看| 午夜日韩在线观看| 在线成人免费观看| 日韩av网站在线观看| 宅男在线国产精品| 蜜臀久久久久久久| 欧美一区二区黄色| 日本视频免费一区| 26uuu亚洲婷婷狠狠天堂| 一区二区免费看| 1024成人网| 成人激情开心网| 在线观看日韩毛片| 日韩免费观看高清完整版在线观看| 欧美精品一区二区三区一线天视频| 亚洲天堂精品视频| 在线国产电影不卡| 天天影视网天天综合色在线播放| 久久人人超碰精品| 国产精品乡下勾搭老头1| 成人高清视频在线观看| 欧美日韩国产成人在线91| 国产亚洲婷婷免费| 国产精品99久久久| 亚洲猫色日本管| 91麻豆免费看片| 国产女人18毛片水真多成人如厕| 国产电影一区二区三区| 亚洲人成网站色在线观看| 91精品国产麻豆| 成人免费毛片嘿嘿连载视频| 一区二区视频在线看| 日韩免费电影一区| 日本道色综合久久| 成人手机在线视频| 九九久久精品视频| 午夜久久久久久久久| 中文在线资源观看网站视频免费不卡| 99视频有精品| 国产不卡视频在线播放| 麻豆久久一区二区| 日韩激情av在线| 亚洲已满18点击进入久久| 国产精品热久久久久夜色精品三区 | 精品国产污网站| 欧美综合亚洲图片综合区| 成人国产精品免费网站| 国产一区二区主播在线| 麻豆精品一区二区三区| 日韩成人一区二区三区在线观看| 亚洲男同1069视频| 日韩西西人体444www| 91精品国产一区二区三区| 国产成人精品网址| 国产宾馆实践打屁股91| 国产91丝袜在线18| 成人国产精品免费观看视频| 91香蕉视频在线| 欧美日韩中文字幕一区| 欧美精品视频www在线观看| 精品久久久久久久久久久院品网| 欧美成人女星排行榜| 国产精品久久久久桃色tv| 亚洲乱码国产乱码精品精小说| 一区二区在线观看免费视频播放| 一二三四区精品视频| 久久99久久99小草精品免视看| 狠狠狠色丁香婷婷综合激情| 99精品一区二区| 精品国产91乱码一区二区三区| 国产精品丝袜黑色高跟| 午夜伊人狠狠久久| 国产精品123区| 56国语精品自产拍在线观看| 久久久久久麻豆|