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

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

?? fft.asm

?? 基于tms320vc55*系列DSP常用算法
?? ASM
字號(hào):
;
;   fft.asm - Radix-2 complex FFT (for N=2^EXP points)
;             Using table lookup method
;                               
;   Prototype: void fft(complex *, int, complex *, int); 
;
;   Entry:  arg0: AR0-FFT input sample buffer pointer   
;           arg1: T0-number of FFT stage, EXP
;           arg2: AR1-twiddle factor array pointer     
;           arg3: T1-scale flag 
;                 if scale needed, (T1==1) SCALE=2;
;                 if don't need scale (T1==0) SCALE=1;
;                                                      
;   Note: 1. When used as the FFT routine it takes in time domain 
;         samples in Q15 and generates Q14 frequency domain samples
;         2. When used as the IFFT routine it takes in frequency domain 
;         samples in Q14 and generates Q15 time domain samples
;
;    Revised: Dec. 3, 2001
;             Add an instruction to copy XAR0 to XAR5 for addressing extended page

        .global _fft

;
;	Declare local variables in SP address mode for C-callable
;
ARGS    .set    0       ; Number of variables passed via stack

FFT_var .struct         ; Define local variable structure
d_temp      .int (2)    ; Temporary variables (Re, Im)
d_L         .int
d_N         .int  
d_T2        .int        ; Used to save content of T2
d_ST1       .int        ; Used to save content of ST1
d_ST3       .int        ; Used to save content of ST3
return_addr .int        ; Space for routine return address
Size        .endstruct
fft         .set 0
fft         .tag FFT_var  

    .sect "fft_code"       
	
_fft:
    aadd #(ARGS-Size+1),SP      ; Adjust stack for local vars

    mov  mmap(ST1_55),AR2       ; Save ST1,ST3
    mov  mmap(ST3_55),AR3   
    mov  AR2,fft.d_ST1
    mov  AR3,fft.d_ST3
    btst @#0,T1,TC1             ; Check SCALE flag set		
    mov  #0x6340,mmap(ST1_55)   ; Set CPL,XF,SATD,SXAM,FRCT (SCALE=1) 
    mov  #0x1f22,mmap(ST3_55)   ; Set: HINT,SATA,SMUL   
    xcc  do_scale,TC1
    mov  #0x6300,mmap(ST1_55)   ; Set CPL,XF,SATD,SXAM (SCALE=2) 
do_scale
    
    mov  T2,fft.d_T2            ; Save T2                     
||  mov  #1,AC0
    mov  AC0,fft.d_L            ; Initialize L=1
||  sfts AC0,T0                 ; T0=EXP
    mov  AC0,fft.d_N            ; N=1<<EXP
    mov  XAR1,XCDP              ; CDP = pointer to U[]
    mov  XSP,XAR4	
    add  #fft.d_temp,AR4        ; AR4 = pointer to temp
    mov  XAR0,XAR1              ; AR1 points to sample buffer
    mov  T0,T1
    mov  XAR0,XAR5              ; Copy externd bits to XAR5
			
outer_loop                      ; for (L=1; L<=EXP; L++)    
    mov  fft.d_L,T0             ; note: Since the buffer is
||  mov  #2,AC0                 ;       arranged in re,im pairs
    sfts AC0,T0                 ;       the index to the buffer
    neg  T0	                    ;       is doubled
||  mov  fft.d_N,AC1            ;       But the repeat coutners
    sftl AC1,T0                 ;       are not doubled
    mov  AC0,T0                 ; LE=2<<L 	
||  sfts AC0,#-1  
    mov  AC0,AR0                ; LE1=LE>>1           
||  sfts AC0,#-1                              
    sub  #1,AC0                 ; Init mid_loop counter
    mov  mmap(AC0L),BRC0        ;   BRC0=LE1-1
    sub  #1,AC1                 ; Init inner loop counter
    mov  mmap(AC1L),BRC1        ;   BRC1=(N>>L)-1   
    add  AR1,AR0   
    mov  #0,T2                  ; j=0 
||  rptblocal mid_loop-1        ; for (j=0; j<LE1;j++) 
    mov  T2,AR5                 ; AR5=id=i+LE1
    mov  T2,AR3	
    add  AR0,AR5                ; AR5 = pointer to X[id].re   
    add  #1,AR5,AR2             ; AR2 = pointer to X[id].im  
    add  AR1,AR3                ; AR3 = pointer to X[i].re 
||  rptblocal inner_loop-1      ; for(i=j; i<N; i+=LE) 
    mpy  *AR5+,*CDP+,AC0        ; AC0=(X[id].re*U.re
::  mpy  *AR2-,*CDP+,AC1        ;     -X[id].im*U.im)/SCALE	 
    masr *AR5-,*CDP-,AC0        ; AC1=(X[id].im*U.re                       
::  macr *AR2+,*CDP-,AC1        ;     +X[id].re*U.im)/SCALE
    mov  pair(hi(AC0)),dbl(*AR4); AC0H=temp.re AC1H=temp.im 
||  mov  dbl(*AR3),AC2
    xcc  scale,TC1
||  mov  AC2>>#1,dual(*AR3)     ; Scale X[i] by 1/SCALE
    mov  dbl(*AR3),AC2  
scale
    add  T0,AR2
||  sub  dual(*AR4),AC2,AC1     ; X[id].re=X[i].re/SCALE-temp.re
    mov  AC1,dbl(*(AR5+T0))     ; X[id].im=X[i].im/SCALE-temp.im
||  add  dual(*AR4),AC2         ; X[i].re=X[i].re/SCALE+temp.re
    mov  AC2,dbl(*(AR3+T0))     ; X[i].im=X[i].im/SCALE+temp.im
inner_loop                      ; End of inner loop       
    amar *CDP+
    amar *CDP+                  ; Update k for pointer to U[k]
||  add  #2,T2                  ; Update j    
mid_loop                        ; End of mid-loop      
    sub  #1,T1          
    add  #1,fft.d_L             ; Update L
    bcc  outer_loop,T1>0        ; End of outer-loop

    mov  fft.d_ST1,AR2          ; Restore ST1,ST3,T2
    mov  fft.d_ST3,AR3
    mov  AR2,mmap(ST1_55)
    mov  AR3,mmap(ST3_55)                              
    mov  fft.d_T2,T2
    aadd #(Size-ARGS-1),SP      ; Reset SP
    ret

    .end 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美mv和日韩mv的网站| 国产一区二区不卡| 国产精品国产馆在线真实露脸 | 麻豆成人91精品二区三区| 午夜精品久久久久久| 亚洲成人激情综合网| 婷婷一区二区三区| 日韩国产欧美一区二区三区| 亚洲高清免费一级二级三级| 日韩在线播放一区二区| 日本v片在线高清不卡在线观看| 日韩精品乱码av一区二区| 蜜臀av一级做a爰片久久| 国内偷窥港台综合视频在线播放| 韩国欧美一区二区| 99国产精品久久久久久久久久久| 色88888久久久久久影院野外 | 久久成人免费日本黄色| 精品综合免费视频观看| 国产91在线观看丝袜| 91啪亚洲精品| 制服丝袜中文字幕一区| 久久久99免费| 一区二区三区欧美视频| 日韩成人av影视| 国产精品69毛片高清亚洲| 99re亚洲国产精品| 69av一区二区三区| 中文字幕免费一区| 久久综合九色综合97婷婷| 国产女主播在线一区二区| 亚洲精品成a人| 看电影不卡的网站| 99精品欧美一区二区三区综合在线| 欧美日韩精品系列| 国产蜜臀97一区二区三区| 亚洲一区中文在线| 国产伦精品一区二区三区视频青涩 | 中文字幕一区在线观看视频| 亚洲精品乱码久久久久久久久| 五月激情综合网| 成人国产精品免费观看| 欧美一区二区三区在线观看视频| 国产精品欧美一级免费| 蜜桃在线一区二区三区| 在线免费一区三区| 中文字幕乱码日本亚洲一区二区 | 99国产欧美另类久久久精品| 欧美一区二区人人喊爽| 亚洲欧洲av另类| 国产在线一区二区| 欧美日韩亚洲丝袜制服| 1024成人网| 成人精品视频一区二区三区尤物| 欧美一区二区三区影视| 亚洲国产精品久久一线不卡| 北岛玲一区二区三区四区| 久久在线观看免费| 日本vs亚洲vs韩国一区三区 | 久久不见久久见中文字幕免费| 欧洲精品一区二区| 最新不卡av在线| 北条麻妃国产九九精品视频| 欧美福利视频导航| 亚洲成人777| 欧美日韩精品一区二区天天拍小说| 自拍偷拍国产亚洲| jiyouzz国产精品久久| 国产精品久久久久影视| 国产剧情一区二区三区| 久久久久免费观看| 国产原创一区二区| 久久久久久电影| 国产精品一级在线| 国产精品久久国产精麻豆99网站| 成人综合在线视频| 中文字幕日本不卡| 日本电影欧美片| 亚洲一区二区在线播放相泽| 欧美综合亚洲图片综合区| 亚洲制服丝袜av| 欧美区在线观看| 美日韩一区二区三区| 日韩精品一区二区三区在线观看| 美女精品自拍一二三四| 欧美精品一区二区三区蜜桃视频| 国产九色sp调教91| 中文字幕精品综合| 欧洲激情一区二区| 日韩精品亚洲专区| 日韩精品一区二区三区swag| 国产精品一二三四区| 综合欧美亚洲日本| 欧美人成免费网站| 久久精品99国产精品日本| 久久久精品影视| 99re66热这里只有精品3直播| 亚洲一级在线观看| 91精品久久久久久久久99蜜臂| 蜜桃av一区二区三区| 中文乱码免费一区二区| 欧美日韩久久不卡| 国产精品白丝av| **网站欧美大片在线观看| 欧美高清你懂得| 成人一区二区三区在线观看| 亚洲欧美激情插| 欧美大片一区二区| 91在线视频官网| 狠狠色丁香九九婷婷综合五月| 亚洲欧洲av在线| 欧美本精品男人aⅴ天堂| 99re6这里只有精品视频在线观看| 日韩制服丝袜av| 国产精品国产三级国产aⅴ中文| 欧美日韩国产另类不卡| www.爱久久.com| 激情五月播播久久久精品| 亚洲少妇30p| 久久嫩草精品久久久精品一| 色狠狠综合天天综合综合| 久久99精品视频| 亚洲成a人v欧美综合天堂下载 | 亚洲精品免费在线| 精品99一区二区| 欧美猛男gaygay网站| 成人动漫av在线| 国产福利一区二区三区视频在线| 亚洲18影院在线观看| √…a在线天堂一区| 久久久99精品免费观看不卡| 69成人精品免费视频| 91久久精品午夜一区二区| 成人久久18免费网站麻豆| 久久精品99久久久| 免费看欧美美女黄的网站| 亚洲精品国产成人久久av盗摄 | 亚洲在线视频网站| 亚洲视频中文字幕| 中文字幕日本乱码精品影院| 国产日韩av一区二区| 精品国产免费久久| 日韩欧美高清在线| 4438x亚洲最大成人网| 欧洲激情一区二区| 91久久线看在观草草青青| 在线影院国内精品| 91国产免费看| 欧美色倩网站大全免费| 欧美午夜一区二区| 欧美日韩一区二区三区在线看| 91麻豆国产在线观看| 91亚洲精品一区二区乱码| 99这里只有久久精品视频| 成人福利在线看| 91免费看`日韩一区二区| 色综合久久久久综合| 色综合婷婷久久| 欧美在线观看视频在线| 欧美日韩国产首页| 91精品综合久久久久久| 日韩一区二区三区四区五区六区| 精品捆绑美女sm三区| 久久婷婷色综合| 国产精品电影一区二区| 伊人婷婷欧美激情| 日韩国产精品大片| 国产精品综合av一区二区国产馆| 国产999精品久久久久久绿帽| 91麻豆产精品久久久久久| 欧美主播一区二区三区美女| 91精品综合久久久久久| 久久人人爽人人爽| 日韩美女精品在线| 午夜视频久久久久久| 狠狠色丁香久久婷婷综合丁香| 成人性生交大片免费看中文| 91丝袜呻吟高潮美腿白嫩在线观看| 91久久久免费一区二区| 日韩欧美视频在线| 中文字幕在线免费不卡| 亚瑟在线精品视频| 国产精品2024| 欧美色视频在线观看| 26uuu久久天堂性欧美| 中文字幕中文字幕一区| 日本伊人精品一区二区三区观看方式| 国产一区二区在线观看免费| 91麻豆国产在线观看| 2欧美一区二区三区在线观看视频| ...av二区三区久久精品| 美女精品一区二区| 97精品久久久午夜一区二区三区 | 在线观看一区二区视频| 欧美xxxx老人做受| 一区二区三区不卡在线观看| 精东粉嫩av免费一区二区三区| 91老师片黄在线观看| 久久久久久久综合色一本| 亚洲曰韩产成在线|