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

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

?? fft.asm

?? 54系列dsp算法程序
?? ASM
字號:
*********************************************************************************
*       (C) COPYRIGHT TEXAS INSTRUMENTS, INC. 1996                              *
*********************************************************************************
*                                                                               *
* MODULE NAME:  fft.asm                                                         *
*                                                                               *
* AUTHORS:      Simon Lau and Nathan Baltz                                      *
*                                                                               *
* DESCRIPTION:  PHASE TWO   (LogN)-Stage Complex FFT                            *
*               This function is called from the main module of the 'C54x Real  *
*               FFT code.  Here we assume that the original 2N-point real input *
*               sequence is already packed into an N-point complex sequence and *
*               stored into the data processing buffer in bit-reversed order    *
*               (as done in Phase One).  Now we perform an in-place, N-point    *
*               complex FFT on the data processing buffer, dividing the outputs *
*               by 2 at the end of each stage to prevent overflow.  The         *
*               resulting N-point complex sequence will be unpacked into a      *
*               2N-point complex sequence in Phase Three & Four.                *
*                                                                               *
* REGISTER USAGE:   AR0   offset to next butterfly  (Stages 1 & 2)              *
*                         index of twiddle tables (remaining stages)            *
*                   AR1   group counter                                         *
*                   AR2   pointer to 1st butterfly data PR, PI                  *
*                   AR3   pointer to 2nd butterfly data QR, QI                  *
*                   AR4   pointer to cosine value WR                            *
*                   AR5   pointer to sine value WI                              *
*                   AR6   butterfly counter                                     *
*                   AR7   start address of data processing buffer (Stages 1 & 2)*
*                         stage counter (remaining stages)                      *
*                   BK                                                          *
*                   BRC                                                         *
*                                                                               *
* DATE:         7-16-1996                                                       *
*                                                                               *
*********************************************************************************

        .mmregs
        .include    "fft_size.inc"
        .def        fft
        .ref        fft_data, d_grps_cnt, d_twid_idx, d_data_idx, sine, cosine

        .asg    AR1,GROUP_COUNTER
        .asg    AR2,PX
        .asg    AR3,QX
        .asg    AR4,WR
        .asg    AR5,WI
        .asg    AR6,BUTTERFLY_COUNTER
        .asg    AR7,DATA_PROC_BUF               ; for Stages 1 & 2
        .asg    AR7,STAGE_COUNTER               ; for the remaining stages

K_ZERO_BK       .set    0            
K_TWID_TBL_SIZE .set    512                     ; Twiddle table size
K_DATA_IDX_1    .set    2                       ; Data index for Stage 1
K_DATA_IDX_2    .set    4                       ; Data index for Stage 2
K_DATA_IDX_3    .set    8                       ; Data index for Stage 3
K_FLY_COUNT_3   .set    4                       ; Butterfly counter for Stage 3
K_TWID_IDX_3    .set    128                     ; Twiddle index for Stage 3


        .text

fft:       

; Stage 1 ----------------------------------------------------------------------

        STM     #K_ZERO_BK,BK                   ; BK=0 so that *ARn+0% == *ARn+0
        LD      #-1,ASM                         ; outputs div by 2 at each stage
        MVMM    DATA_PROC_BUF,PX                ; PX -> PR
        LD      *PX,16,A                        ; A  :=  PR
        STM     #fft_data+K_DATA_IDX_1,QX       ; QX -> QR
        STM     #K_FFT_SIZE/2-1,BRC
        RPTBD   stage1end-1
        STM     #K_DATA_IDX_1+1,AR0

        SUB     *QX,16,A,B                      ; B  :=  PR-QR
        ADD     *QX,16,A                        ; A  :=  PR+QR
        STH     A,ASM,*PX+                      ; PR':= (PR+QR)/2  
        ST      B,*QX+                          ; QR':= (PR-QR)/2
        ||LD    *PX,A                           ; A  :=  PI
        SUB     *QX,16,A,B                      ; B  :=  PI-QI
        ADD     *QX,16,A                        ; A  :=  PI+QI
        STH     A,ASM,*PX+0                     ; PI':= (PI+QI)/2
        ST      B,*QX+0%                        ; QI':= (PI-QI)/2 
        ||LD    *PX,A                           ; A  :=  next PR
stage1end:

; Stage 2 ----------------------------------------------------------------------

        MVMM    DATA_PROC_BUF,PX                ; PX -> PR
        STM     #fft_data+K_DATA_IDX_2,QX       ; QX -> QR
        STM     #K_FFT_SIZE/4-1,BRC
        LD      *PX,16,A                        ; A  :=  PR
        RPTBD   stage2end-1
        STM     #K_DATA_IDX_2+1,AR0

; 1st butterfly
        SUB     *QX,16,A,B                      ; B  :=  PR-QR 
        ADD     *QX,16,A                        ; A  :=  PR+QR
        STH     A,ASM,*PX+                      ; PR':= (PR+QR)/2  
        ST      B,*QX+                          ; QR':= (PR-QR)/2
        ||LD    *PX,A                           ; A  :=  PI
        SUB     *QX,16,A,B                      ; B  :=  PI-QI
        ADD     *QX,16,A                        ; A  :=  PI+QI
        STH     A,ASM,*PX+                      ; PI':= (PI+QI)/2
        STH     B,ASM,*QX+                      ; QI':= (PI-QI)/2 

; 2nd butterfly
        MAR     *QX+
        ADD     *PX,*QX,A                       ; A  :=  PR+QI
        SUB     *PX,*QX-,B                      ; B  :=  PR-QI
        STH     A,ASM,*PX+                      ; PR':= (PR+QI)/2  
        SUB     *PX,*QX,A                       ; A  :=  PI-QR
        ST      B,*QX                           ; QR':= (PR-QI)/2
        ||LD    *QX+,B                          ; B  :=     QR
        ST      A, *PX                          ; PI':= (PI-QR)/2
        ||ADD   *PX+0%,A                        ; A  :=  PI+QR
        ST      A,*QX+0%                        ; QI':= (PI+QR)/2
        ||LD    *PX,A                           ; A  :=  PR
stage2end:

; Stage 3 thru Stage logN-1 ----------------------------------------------------

        STM     #K_TWID_TBL_SIZE,BK             ; BK = twiddle table size always
        ST      #K_TWID_IDX_3,d_twid_idx        ; init index of twiddle table
        STM     #K_TWID_IDX_3,AR0               ; AR0 = index of twiddle table
        STM     #cosine,WR                      ; init WR pointer
        STM     #sine,WI                        ; init WI pointer
        STM     #K_LOGN-2-1,STAGE_COUNTER       ; init stage counter
        ST      #K_FFT_SIZE/8-1,d_grps_cnt      ; init group counter
        STM     #K_FLY_COUNT_3-1,BUTTERFLY_COUNTER  ; init butterfly counter
        ST      #K_DATA_IDX_3,d_data_idx        ; init index for input data
        
stage:
        STM     #fft_data,PX                    ; PX -> PR 
        LD      d_data_idx, A
        ADD     *(PX),A
        STLM    A,QX                            ; QX -> QR 
        MVDK    d_grps_cnt,GROUP_COUNTER        ; AR1 contains group counter

group:
        MVMD    BUTTERFLY_COUNTER,BRC           ; # of butterflies in each group
        RPTBD   butterflyend-1
        LD      *WR,T                           ; T  :=  WR
        MPY     *QX+,A                          ; A  :=  QR*WR  || QX->QI

        MACR    *WI+0%,*QX-,A                   ; A  :=  QR*WR+QI*WI  
                                                ; || QX->QR
        ADD     *PX,16,A,B                      ; B  := (QR*WR+QI*WI)+PR
        ST      B,*PX                           ; PR':=((QR*WR+QI*WI)+PR)/2
        ||SUB   *PX+,B                          ; B  :=  PR-(QR*WR+QI*WI)    
                                                ; || PX->PI
        ST      B,*QX                           ; QR':= (PR-(QR*WR+QI*WI))/2
        ||MPY   *QX+,A                          ; A  :=  QR*WI [T=WI]
                                                ; || QX->QI 
        MASR    *QX,*WR+0%,A                    ; A  :=  QR*WI-QI*WR
        ADD     *PX,16,A,B                      ; B  := (QR*WI-QI*WR)+PI
        ST      B,*QX+                          ; QI':=((QR*WI-QI*WR)+PI)/2 
                                                ; || QX->QR          
        ||SUB   *PX,B                           ; B  :=  PI-(QR*WI-QI*WR)
        LD      *WR,T                           ; T  :=  WR
        ST      B,*PX+                          ; PI':= (PI-(QR*WI-QI*WR))/2 
                                                ; || PX->PR
        ||MPY   *QX+,A                          ; A  :=  QR*WR  || QX->QI
butterflyend:

; Update pointers for next group

        PSHM    AR0                             ; preserve AR0
        MVDK    d_data_idx,AR0
        MAR     *PX+0                           ; increment PX for next group
        MAR     *QX+0                           ; increment QX for next group
        BANZD   group,*GROUP_COUNTER-
        POPM    AR0                             ; restore AR0
        MAR     *QX-

; Update counters and indices for next stage

        LD      d_data_idx,A
        SUB     #1,A,B                          ; B = A-1
        STLM    B,BUTTERFLY_COUNTER             ; BUTTERFLY_COUNTER = #flies-1
        STL     A,1,d_data_idx                  ; double the index of data
        LD      d_grps_cnt,A
        STL     A,ASM,d_grps_cnt                ; 1/2 the offset to next group  
        LD      d_twid_idx,A
        STL     A,ASM,d_twid_idx                ; 1/2 the index of twiddle table
        BANZD   stage,*STAGE_COUNTER-
        MVDK    d_twid_idx,AR0                  ; AR0 = index of twiddle table

fft_end:
        RET                                     ; return to Real FFT main module

        .end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
五月婷婷欧美视频| 色94色欧美sute亚洲线路一久| 成人福利电影精品一区二区在线观看| 日本丶国产丶欧美色综合| 精品国产sm最大网站免费看| 亚洲免费资源在线播放| 国产激情91久久精品导航| 欧美日韩精品免费观看视频| 一区在线中文字幕| 国产一区二区三区综合| 在线观看91av| 一区二区激情小说| 99视频精品全部免费在线| 国产三级三级三级精品8ⅰ区| 视频一区免费在线观看| 欧美综合亚洲图片综合区| 国产精品色一区二区三区| 国产资源在线一区| 国产精品美女久久久久久久久 | 日韩视频免费观看高清在线视频| 中文av一区特黄| 国产a区久久久| 国产欧美一区二区三区沐欲| 久久国产精品无码网站| 91精品国产一区二区三区蜜臀| 亚洲午夜久久久久久久久电影网 | 亚洲综合av网| 色综合天天做天天爱| 中文字幕亚洲成人| 99久久精品免费观看| √…a在线天堂一区| 91小视频免费观看| 亚洲人xxxx| 91免费看`日韩一区二区| 亚洲精品欧美激情| 欧美揉bbbbb揉bbbbb| 亚洲图片有声小说| 777午夜精品免费视频| 日韩专区在线视频| 日韩一区二区高清| 日本vs亚洲vs韩国一区三区二区| 床上的激情91.| 国产欧美精品日韩区二区麻豆天美| 国产精品亚洲а∨天堂免在线| 精品少妇一区二区三区视频免付费| 天堂蜜桃一区二区三区| 欧美四级电影在线观看| 午夜久久久久久久久久一区二区| 欧美曰成人黄网| 亚洲aaa精品| 7777精品伊人久久久大香线蕉经典版下载| 国产精品美女一区二区| 蜜桃免费网站一区二区三区| 日韩一级成人av| 久久精品国产免费| 久久久精品2019中文字幕之3| 国产曰批免费观看久久久| 久久影院午夜片一区| 国产成a人亚洲精| 国产精品女同互慰在线看| 91社区在线播放| 亚洲国产日韩a在线播放性色| 欧美午夜一区二区三区 | 亚洲乱码日产精品bd| 在线观看不卡一区| 五月天欧美精品| 精品欧美黑人一区二区三区| 国产精品一区专区| 亚洲精品久久嫩草网站秘色| 69久久夜色精品国产69蝌蚪网| 午夜精品福利在线| 欧美一级久久久| 成人禁用看黄a在线| 亚洲精品国产第一综合99久久| 欧美猛男超大videosgay| 激情亚洲综合在线| 亚洲视频图片小说| 欧美一区永久视频免费观看| 国产一区二区三区在线观看免费 | 国产美女一区二区| 亚洲欧洲精品成人久久奇米网| 欧美日韩一级二级| 国产精品18久久久久久久久| 一区二区三区在线免费播放 | 欧美日韩一本到| 国产精品香蕉一区二区三区| 一区二区三区欧美在线观看| 日韩一区二区免费高清| 91日韩精品一区| 精品午夜久久福利影院| 亚洲欧美国产77777| 精品国产精品网麻豆系列| 99久久99精品久久久久久| 日韩精品久久理论片| 国产精品成人在线观看| 欧美成人免费网站| 欧美性xxxxxx少妇| 国产成人免费9x9x人网站视频| 亚洲国产欧美日韩另类综合 | 色综合久久综合网97色综合 | 亚洲综合一区二区| 国产精品天干天干在线综合| 日韩精品一区二区三区四区| 91在线免费视频观看| 国产麻豆视频精品| 蜜桃av噜噜一区| 日韩精品高清不卡| 亚洲一区自拍偷拍| 日韩理论片中文av| 中文一区在线播放| 精品免费一区二区三区| 91精品国产综合久久香蕉的特点 | 成人夜色视频网站在线观看| 秋霞电影网一区二区| 夜夜精品浪潮av一区二区三区| 亚洲精品一线二线三线| 欧美精三区欧美精三区| 欧洲在线/亚洲| 91免费视频观看| 99精品久久99久久久久| aaa欧美日韩| 97se亚洲国产综合自在线观| 成人国产在线观看| 成人av高清在线| 国产乱淫av一区二区三区 | 成人免费毛片app| 国产一区二区伦理| 久久精品国产亚洲高清剧情介绍| 亚洲综合激情另类小说区| 一区二区三区四区高清精品免费观看 | 97se狠狠狠综合亚洲狠狠| 99久久精品国产毛片| 91在线免费播放| 在线免费观看日本欧美| 在线免费视频一区二区| 欧美亚洲动漫精品| 欧美撒尿777hd撒尿| 91精品婷婷国产综合久久竹菊| 欧美午夜片在线看| 欧美日韩视频在线一区二区| 欧美日韩国产影片| 欧美电影免费观看高清完整版| 精品奇米国产一区二区三区| 精品成人佐山爱一区二区| 久久久亚洲精品一区二区三区| 国产欧美一区二区精品性| 国产午夜精品在线观看| 亚洲三级电影网站| 婷婷久久综合九色综合伊人色| 久久精品国产精品亚洲精品| 国产一区在线精品| 99久久久无码国产精品| 欧美日韩亚洲国产综合| 6080国产精品一区二区| 国产精品视频看| 亚洲高清在线视频| 韩国视频一区二区| 91福利精品第一导航| 日韩欧美在线123| 国产精品成人免费在线| 视频一区免费在线观看| 成人国产在线观看| 欧美日韩mp4| 国产婷婷色一区二区三区| 亚洲裸体xxx| 国内外精品视频| 色老综合老女人久久久| 日韩午夜激情av| 亚洲欧洲国产日韩| 国产成人免费在线视频| 在线亚洲欧美专区二区| 精品国产电影一区二区| 一级日本不卡的影视| 国产精品影视天天线| 777午夜精品免费视频| 国产精品午夜免费| 蜜桃传媒麻豆第一区在线观看| 成人久久视频在线观看| 精品久久久久久久久久久久久久久| 亚洲欧洲精品一区二区三区 | 一本色道亚洲精品aⅴ| 精品国产一区二区亚洲人成毛片| 亚洲欧洲综合另类在线| 成人在线一区二区三区| 精品理论电影在线观看| 一区二区三区四区不卡视频| 国产一级精品在线| 日韩欧美二区三区| 亚州成人在线电影| 日本精品视频一区二区三区| 国产欧美日本一区二区三区| 捆绑紧缚一区二区三区视频 | 欧美日韩一本到| 中文字幕欧美一| 丁香啪啪综合成人亚洲小说 | 色婷婷国产精品久久包臀| 久久久不卡网国产精品一区| 久久国产欧美日韩精品| 色国产精品一区在线观看| 亚洲视频一区二区在线观看|