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

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

?? fft.asm

?? (Ebook-Pdf) Dsp - Real Time Digital Signal Processing (Usando Tms320-55Xx). 有書
?? ASM
字號:
;
;   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 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
制服丝袜在线91| 欧美精品自拍偷拍| 日韩视频中午一区| 亚洲电影激情视频网站| 国产福利不卡视频| 制服视频三区第一页精品| 亚洲视频免费观看| 91麻豆成人久久精品二区三区| 久久嫩草精品久久久久| 久久99精品视频| 久久亚洲一区二区三区四区| 国产高清视频一区| 国产精品色哟哟| 91麻豆国产自产在线观看| 亚洲精品乱码久久久久久黑人| 一本一本久久a久久精品综合麻豆| 中文字幕亚洲精品在线观看| 92精品国产成人观看免费| 亚洲桃色在线一区| 欧美日韩亚洲国产综合| 美国av一区二区| 国产亚洲精品bt天堂精选| 9色porny自拍视频一区二区| 亚洲免费在线观看| 91精品国产综合久久精品麻豆| 亚洲成年人网站在线观看| 精品三级av在线| 99r精品视频| 美国十次综合导航| 中文字幕视频一区二区三区久| 欧美日韩综合一区| 国产精品自拍网站| 亚洲第一会所有码转帖| 国产无人区一区二区三区| 欧美美女网站色| www.亚洲人| 久久国产精品无码网站| 一区二区三区免费在线观看| wwwwxxxxx欧美| 91精品国产综合久久精品性色 | 极品尤物av久久免费看| 国产精品麻豆欧美日韩ww| 日韩色在线观看| 欧美天堂一区二区三区| 91在线视频18| 91美女在线视频| 91在线你懂得| 91丨九色porny丨蝌蚪| 91在线精品一区二区| 国产成人精品免费在线| 国产一区二区日韩精品| 日韩**一区毛片| 日本免费新一区视频| 亚洲影视在线观看| 精品国产一区二区三区久久久蜜月 | 国产视频视频一区| 麻豆国产精品777777在线| 欧美日韩国产综合草草| 亚洲一卡二卡三卡四卡五卡| 欧美日韩一区二区在线视频| 色综合久久综合中文综合网| 成人永久免费视频| 国产成a人亚洲| 久久精品噜噜噜成人av农村| 亚洲欧美经典视频| 欧美激情一区二区在线| 久久久美女毛片| 欧美大胆一级视频| 91在线无精精品入口| 色999日韩国产欧美一区二区| 国产成人8x视频一区二区| 精品一区二区三区免费播放| 韩国欧美一区二区| 另类调教123区| 精品一区二区在线视频| 蜜臀av一区二区在线观看| 天天做天天摸天天爽国产一区| 亚洲国产精品99久久久久久久久| 国产欧美日韩在线看| 国产精品免费aⅴ片在线观看| 中文字幕欧美激情| 亚洲小少妇裸体bbw| 奇米精品一区二区三区在线观看| 国产麻豆精品theporn| 波多野结衣中文字幕一区| 欧美日韩成人综合在线一区二区| 精品国产一区二区三区忘忧草| 欧美国产一区二区| 伊人婷婷欧美激情| 久久97超碰国产精品超碰| 国产91清纯白嫩初高中在线观看| 日韩三级在线免费观看| 欧美大胆人体bbbb| 亚洲精品ww久久久久久p站| 欧美aaaaa成人免费观看视频| 国产99久久久国产精品潘金网站| 欧美色网站导航| 久久久精品人体av艺术| 亚洲国产精品久久久久婷婷884 | 成人精品视频网站| 欧美日韩国产色站一区二区三区| 久久亚洲综合色一区二区三区| 91福利精品第一导航| 欧美日韩在线三区| 欧美日韩精品二区第二页| 亚洲影院在线观看| 日本午夜精品视频在线观看| 欧美日韩夫妻久久| 亚洲黄色av一区| 成人午夜激情在线| 国产日韩精品一区| 成人午夜又粗又硬又大| 日韩一区有码在线| 欧美日韩大陆在线| 精品一区二区在线播放| 久久奇米777| 黑人巨大精品欧美黑白配亚洲| 欧美午夜电影在线播放| 日韩av中文在线观看| 久久久一区二区| a在线欧美一区| 亚洲午夜一区二区三区| 欧美日韩1234| 蜜臀精品久久久久久蜜臀 | 国产精品五月天| 久久精品国产亚洲高清剧情介绍 | 在线播放中文一区| 日韩成人午夜电影| 精品美女一区二区| 99久久久精品| 亚洲国产欧美日韩另类综合| 日韩女同互慰一区二区| 成人午夜看片网址| 亚洲精品免费播放| 日韩一区二区在线观看| 日本麻豆一区二区三区视频| 久久久久青草大香线综合精品| 99麻豆久久久国产精品免费优播| 一区二区三区在线视频观看58| 日本高清不卡视频| 国产一区二区三区在线观看精品| 夜夜精品浪潮av一区二区三区| 精品粉嫩aⅴ一区二区三区四区| 国产一区二区三区香蕉| 亚洲尤物在线视频观看| 国产精品免费视频观看| 欧美精品自拍偷拍动漫精品| 95精品视频在线| 成人av手机在线观看| 久久丁香综合五月国产三级网站| 久久蜜桃av一区精品变态类天堂| 色猫猫国产区一区二在线视频| 另类小说综合欧美亚洲| 婷婷久久综合九色综合伊人色| 亚洲视频你懂的| 精品对白一区国产伦| 精品国产青草久久久久福利| 激情五月婷婷综合网| 韩国成人精品a∨在线观看| 亚洲国产成人高清精品| 亚洲欧美国产高清| 亚洲欧洲国产日韩| 亚洲欧洲av在线| 国产精品电影一区二区三区| 国产精品美女久久久久久| 日韩美女啊v在线免费观看| 亚洲色图清纯唯美| 亚洲欧美日韩综合aⅴ视频| 1024国产精品| 亚洲影院久久精品| 天堂久久一区二区三区| 久久99深爱久久99精品| 国产精品影视在线观看| 成人av在线资源网| 日本伦理一区二区| 欧美丰满少妇xxxbbb| 精品久久五月天| 亚洲乱码国产乱码精品精小说| 夜夜精品视频一区二区 | 色av成人天堂桃色av| 日韩欧美二区三区| 一区二区三区四区激情 | 久久综合色播五月| 夜夜亚洲天天久久| 黄页网站大全一区二区| 另类小说一区二区三区| 成人免费视频一区二区| 91久久精品国产91性色tv| 91精品国产综合久久福利软件| 国产欧美一区二区精品仙草咪| 亚洲va欧美va人人爽| 丁香一区二区三区| 久久―日本道色综合久久| 亚洲国产精品一区二区www| 粉嫩av一区二区三区粉嫩| 日韩欧美一区在线| 亚洲综合自拍偷拍| 国产成人精品三级| 欧美老人xxxx18| 午夜精彩视频在线观看不卡|