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

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

?? example 3-19.asm

?? 《基于TI DSP的通用算法實現》程序代碼
?? ASM
?? 第 1 頁 / 共 2 頁
字號:

;Example 3 - 19. Complex DIF Radix-2 FFT Implementation ASM Listing for TMS320C62x
	
* ========================================================================= *
*                                                                           *
*   TEXAS INSTRUMENTS, INC.                                                 *
*                                                                           *
*   NAME                                                                    *
*       DSP_radix2 -- In-place Radix-2 FFT (Little Endian)                  *
*                                                                           *
*   REVISION DATE                                                           *
*       10-Dec-2001                                                         *
*                                                                           *
*   USAGE                                                                   *
*       This routine is C-callable and can be called as:                    *
*                                                                           *
*       void DSP_radix2(int n, short *restrict xy,                          *
*                   const short *restrict w);                               *
*                                                                           *
*       n    -- FFT size                            (input)                 *
*       xy[] -- input and output sequences (dim-n)  (input/output)          *
*       w[]  -- FFT coefficients (dim-n/2)          (input)                 *
*                                                                           *
*   DESCRIPTION                                                             *
*       This routine is used to compute FFT of a complex sequece of size    *
*       n, a power of 2, with "decimation-in-frequency decomposition"       *
*       method, ie, the output is in bit-reversed order. Each complex       *
*       value is with interleaved 16-bit real and imaginary parts. To       *
*       prevent overflow, input samples may have to be scaled by 1/n.       *
*                                                                           *
*       void DSP_radix2(int n, short *restrict xy,                          *
*                   const short *restrict w)                                *
*       {                                                                   *
*           short n1,n2,ie,ia,i,j,k,l;                                      *
*           short xt,yt,c,s;                                                *
*                                                                           *
*           n2 = n;                                                         *
*           ie = 1;                                                         *
*           for (k=n; k > 1; k = (k >> 1) )                                 *
*           {                                                               *
*               n1 = n2;                                                    *
*               n2 = n2>>1;                                                 *
*               ia = 0;                                                     *
*               for (j=0; j < n2; j++)                                      *
*               {                                                           *
*                   c = w[2*ia];                                            *
*                   s = w[2*ia+1];                                          *
*                   ia = ia + ie;                                           *
*                   for (i=j; i < n; i += n1)                               *
*                   {                                                       *
*                       l = i + n2;                                         *
*                       xt      = xy[2*l] - xy[2*i];                        *
*                       xy[2*i] = xy[2*i] + xy[2*l];                        *
*                       yt      = xy[2*l+1] - xy[2*i+1];                    *
*                       xy[2*i+1] = xy[2*i+1] + xy[2*l+1];                  *
*                       xy[2*l]   = (c*xt + s*yt)>>15;                      *
*                       xy[2*l+1] = (c*yt - s*xt)>>15;                      *
*                   }                                                       *
*               }                                                           *
*               ie = ie<<1;                                                 *
*           }                                                               *
*       }                                                                   *
*                                                                           *
*   ASSUMPTIONS                                                             *
*       16 <= n <= 32768                                                    *
*       Both input xy and coefficient w must be aligned on word boundary.   *
*       w coef stored ordered is k*(-cos[0*delta]), k*(-sin[0*delta]),      *
*       k*(-cos[1*delta]), ...  where delta = 2*PI/N, k = 32767             *
*       Assembly code is written for processor in Little Endian mode        *
*       Input xy and coefficients w are 16 bit data.                        *
*                                                                           *
*   MEMORY NOTE                                                             *
*       Align xy and w on different word boundaries to minimize             *
*       memory bank hits.                                                   *
*                                                                           *
*   TECHNIQUES                                                              *
*       1. Loading input xy as well as coefficient w in word.               *
*       2. Both loops j and i shown in the C code are placed in the         *
*          INNERLOOP of the assembly code.                                  *
*                                                                           *
*   CYCLES                                                                  *
*       cycles = log2(N) * (4*N/2+7) + 34 + N/4.                            *
*                                                                           *
*       (The N/4 term is due to bank conflicts that occur when xy and w     *
*       are aligned as suggested above, under "MEMORY NOTE.")               *
*                                                                           *
*       For N = 256, cycles = 4250.                                         *
*                                                                           *
*   CODESIZE                                                                *
*       800 bytes                                                           *
*                                                                           *
* ------------------------------------------------------------------------- *
*             Copyright (c) 2002 Texas Instruments, Incorporated.           *
*                            All Rights Reserved.                           *
* ========================================================================= *

        .text
        .global _DSP_radix2
_DSP_radix2:
        STW     .D2T1   A15, *B15--[12] ; push A15 to SP[12]
||      SUB     .L1X    B15, 4, A15

        STW     .D1T1   A10, *A15--[10] ; push A10 to SP[11]
||      STW     .D2T2   B10, *+B15[10]  ; push B10 to SP[10]
||      MVC     .S2     CSR, B0

        STW     .D1T1   A11, *+A15[8]   ; push A11 to SP[ 9]
||      STW     .D2T2   B11, *+B15[8]   ; push B11 to SP[ 8]
||      AND     .S2     B0, -2, B1
;-
        STW     .D1T1   A12, *+A15[6]   ; push A12 to SP[ 7]
||      STW     .D2T2   B12, *+B15[6]   ; push B12 to SP[ 6]
||      MVC     .S2     B1,  CSR
        ;== Interrupts disabled here ===

        STW     .D1T1   A13, *+A15[4]   ; push A13 to SP[ 5]
||      STW     .D2T2   B13, *+B15[4]   ; push B13 to SP[ 4]

        STW     .D1T1   A14, *+A15[2]   ; push A14 to SP[ 3]
||      STW     .D2T2   B14, *+B15[2]   ; push B14 to SP[ 2]
||      MV      .L1X    B4,A9           ; &XY
;-
        LMBD    .L1     1,A4,A1         ; outer loop count calculation
||      MV      .L2X    A4,B13          ; &N
||      STW     .D1T2   B0,  *+A15[0]   ; push CSR to SP[ 1]

        MVK     .S1     1,A2            ; IE = 1
||      MV      .D2     B13,B10         ; XY index setup
||      MV      .L1     A4,A7           ; XY index setup
||      SHL     .S2     B13,2,B14       ; calculating reset offset
||      MV      .L2X    A6,B12          ; permanent ptr for W[0]
;-
        SHR     .S2     B13,1,B13       ; used for loop count
||      SUB     .D2     B14,4,B14       ; calculating reset offset
||      SUB     .L1X    B14,4,A8        ; calculating reset offset

        ADDAH   .D1     A9,A7,A3        ; setup ptr for X[i+N2] & Y[i+N2]
||      MV      .L2X    A9,B9           ; setup ptr for X[i] & Y[i]
||      SUB     .D2     B13,4,B13       ; inner loop count
||      MVK     .S2     31,B7           ; outer loop count calculation
;-
        MV      .S2     B9,B4           ; setup store ptr for X[i] & Y[i]
||      MV      .L2     B9,B11          ; permanent ptr for X[0] & Y[0]
||      SUB     .L1X    B7,A1,A1        ; outer loop conter

        LDW     .D2     *B9++[B10],B7   ; X[i] & Y[i]
||      MV      .L2X    A2,B2           ; reset twiddle factor counter
||      LDW     .D1     *A6++[A2],A5    ; CS = W[IA] & W[IA+1]
||      SHL     .S1     A7,1,A0         ; calculating reset offset
;-
  [ B2] SUB             B2,1,B2         ; decrement twiddle factor counter
||      LDW     .D1     *A3++[A7],A13   ; X[i+N2] & Y[i+N2]

  [!B2] SUB             B9,B14,B9       ; reset load X[i] & Y[i] ptrs

  [!B2] SUB             A3,A8,A3        ; reset load X[i+N2] & Y[i+N2] ptrs

OUTLOOP:
        LDW     .D2     *B9++[B10],B7   ;* X[i] & Y[i]
||[!B2] MV      .L2X    A2,B2           ;* reset twiddle factor counter
||[!B2] LDW     .D1     *A6++[A2],A5    ;* CS = W[IA] & W[IA+1]
||      MPY     .M2     B2,1,B0         ; move to next iteration
;-
  [ B2] SUB             B2,1,B2         ;* decrement twiddle factor counter
||      LDW     .D1     *A3++[A7],A13   ;* X[i+N2] & Y[i+N2]

        SUB2    .S1X    A13,B7,A9       ; XYT = X[i]-X[i+N2] & Y[i]-Y[i+N2]
||      MV              A5,A10          ; move to other file

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一二三四区不卡| 日韩视频一区二区三区在线播放| 紧缚捆绑精品一区二区| 一卡二卡三卡日韩欧美| 一区二区三区在线免费观看| 亚洲色图在线视频| 一区二区三区欧美久久| 亚洲一区二区三区美女| 亚洲一区二区三区在线播放| 国产精品理论在线观看| 亚洲人吸女人奶水| 一区二区三区日韩精品视频| 亚洲国产日韩在线一区模特| 视频一区中文字幕国产| 精品系列免费在线观看| 国产大片一区二区| hitomi一区二区三区精品| 91日韩在线专区| 欧美日韩亚州综合| 日韩欧美一级二级| 国产精品视频免费| 亚洲成人一区二区在线观看| 理论电影国产精品| www.亚洲色图.com| 欧美日韩国产成人在线91| 日韩精品影音先锋| 国产精品久久久久久久久免费樱桃| kk眼镜猥琐国模调教系列一区二区| 一区二区三区中文在线观看| 亚洲成人av一区二区| 精品综合久久久久久8888| 成人一级片在线观看| 欧日韩精品视频| 8x福利精品第一导航| 国产精品蜜臀在线观看| 日韩精品久久久久久| 国产成人免费xxxxxxxx| 欧美高清hd18日本| 中文字幕久久午夜不卡| 男人的j进女人的j一区| 成人国产精品视频| 91精品国产免费| 综合色天天鬼久久鬼色| 激情文学综合网| 欧美日韩国产一级二级| 国产精品电影院| 国产在线精品一区二区夜色| 欧美在线三级电影| 国产精品福利影院| 国产一区二区三区免费播放| 日本精品一区二区三区高清| 国产日韩精品一区二区三区| 日产精品久久久久久久性色| av亚洲精华国产精华| 精品国产麻豆免费人成网站| 午夜精彩视频在线观看不卡| 99天天综合性| 中文字幕+乱码+中文字幕一区| 久久久高清一区二区三区| 亚洲精品日韩综合观看成人91| 亚洲欧洲av在线| 麻豆极品一区二区三区| 欧美日韩一区精品| 樱桃视频在线观看一区| 成人高清视频在线| 国产欧美日韩另类一区| 国内外成人在线| 欧美一级二级在线观看| 亚洲成在人线免费| 精品污污网站免费看| 亚洲欧美另类图片小说| 不卡欧美aaaaa| 国产精品久线在线观看| 粗大黑人巨茎大战欧美成人| 国产亚洲欧洲一区高清在线观看| 国产亚洲一本大道中文在线| 久久成人羞羞网站| 精品精品欲导航| 亚洲va韩国va欧美va精品| 在线看一区二区| 亚洲综合视频网| 欧美日韩免费不卡视频一区二区三区| 欧美日韩一级片在线观看| 一区二区三区.www| 欧美日韩午夜在线| 青草av.久久免费一区| 欧美体内she精高潮| 日韩和欧美一区二区| 日韩一区二区免费在线观看| 久久av资源网| 中文字幕欧美国产| 91蝌蚪porny成人天涯| 午夜婷婷国产麻豆精品| 91精品国产综合久久蜜臀| 精品亚洲成a人| 中文文精品字幕一区二区| 9久草视频在线视频精品| 亚洲综合无码一区二区| 日韩欧美成人午夜| 成人精品gif动图一区| 一区二区三区视频在线观看| 欧美一级午夜免费电影| 国产成人免费xxxxxxxx| 一区二区三区在线观看网站| 欧美一级片免费看| 成人午夜精品一区二区三区| 亚洲女厕所小便bbb| 久久新电视剧免费观看| 成人禁用看黄a在线| 天天影视涩香欲综合网 | 欧美日本一道本| 免费看日韩精品| 国产精品久久久久影院色老大 | 欧美日韩国产一级| 激情综合网激情| 亚洲激情六月丁香| www久久精品| 欧美视频在线不卡| 丁香婷婷综合色啪| 丝袜亚洲另类欧美| 中文字幕中文在线不卡住| 欧美日韩国产首页| 不卡一区二区在线| 国产麻豆精品在线观看| 一区二区激情小说| 国产精品视频线看| 亚洲精品一区在线观看| 欧美日韩一区小说| 不卡视频在线看| 国产一区999| 美女免费视频一区| 亚洲3atv精品一区二区三区| 国产喷白浆一区二区三区| 欧美手机在线视频| 成人激情免费视频| 粉嫩av一区二区三区在线播放| 久久精品男人天堂av| 欧美一区二区三区在线电影| 日本高清视频一区二区| 从欧美一区二区三区| 国产一区二区三区视频在线播放| 欧美成人性战久久| 欧美日韩二区三区| 91丨九色porny丨蝌蚪| 不卡免费追剧大全电视剧网站| 亚洲视频你懂的| 久久久久久久久久久久电影 | 日韩精品五月天| 一区二区三区欧美在线观看| 中文字幕日韩一区| 久久久亚洲午夜电影| ww亚洲ww在线观看国产| 欧美不卡一区二区三区四区| 欧美日韩小视频| 欧美一区二区视频观看视频| 精品视频在线免费观看| 欧美日韩精品久久久| 欧美一区二区视频在线观看2022| 国产激情精品久久久第一区二区| 国产精品欧美一区二区三区| 久久影视一区二区| 久久精品夜夜夜夜久久| 国产精品女同一区二区三区| 中文字幕一区av| 亚洲男人的天堂网| 午夜av一区二区三区| 六月丁香婷婷久久| 国产大片一区二区| 91在线视频18| 欧美三级视频在线观看| 日韩一区二区三区精品视频| 欧美va日韩va| 国产精品久久久久久久第一福利| 欧美另类久久久品| 欧美成人aa大片| 国产偷国产偷精品高清尤物| 中文字幕日本不卡| 亚洲成人资源网| 国产中文字幕一区| 色综合色综合色综合色综合色综合| 久久99这里只有精品| 福利电影一区二区三区| 91亚洲精品久久久蜜桃| 欧美一区二区三区色| 中文幕一区二区三区久久蜜桃| 欧美精品在线观看一区二区| 欧美不卡一二三| 亚洲欧美另类小说| 久久精品国产第一区二区三区| 一区二区三区 在线观看视频| 亚洲精品一区二区三区蜜桃下载 | 亚洲成人激情自拍| 麻豆精品一区二区综合av| 懂色一区二区三区免费观看| 欧美天堂一区二区三区| 久久久久高清精品| 丝袜美腿亚洲一区二区图片| 国产福利一区二区三区视频在线 | 成人一区在线看| 欧美一区三区二区|