⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fft2.asm

📁 VC33进行FFT变换c源码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;*      Branch Occurs to L42            ; |135| 
L38:        
	.line	18
;----------------------------------------------------------------------
; 153 | for (k=0;k<i_k[i];k++)                                                 
;----------------------------------------------------------------------
        ldiu      0,r0                  ; |153| 
        sti       r0,*+fp(3)            ; |153| 
        ldiu      @CL15,ar0             ; |153| 
        ldiu      *+fp(1),ir0           ; |153| 
        cmpi3     *+ar0(ir0),r0         ; |153| 
        bge       L42                   ; |153| 
;*      Branch Occurs to L42            ; |153| 
L39:        
	.line	19
;----------------------------------------------------------------------
; 154 | for (j=0;j<mid[i];j++)                                                 
;----------------------------------------------------------------------
        ldiu      0,r0                  ; |154| 
        sti       r0,*+fp(2)            ; |154| 
        ldiu      @CL16,ar0             ; |154| 
        ldiu      *+fp(1),ir0           ; |154| 
        cmpi3     *+ar0(ir0),r0         ; |154| 
        bge       L41                   ; |154| 
;*      Branch Occurs to L41            ; |154| 
L40:        
	.line	21
;----------------------------------------------------------------------
; 156 | Pset=j*inner[i];                                                       
;----------------------------------------------------------------------
        ldiu      *+fp(1),ir0           ; |156| 
        ldiu      @CL17,ar0             ; |156| 
        ldiu      *+fp(2),r0            ; |156| 
        mpyi      *+ar0(ir0),r0         ; |156| 
        sti       r0,@_Pset+0           ; |156| 
	.line	22
;----------------------------------------------------------------------
; 157 | local0=2*j+k*mid2[i];local1=local0+1; win0=local0+mid1[i];win1=local1+m
;     | id1[i];                                                                
;----------------------------------------------------------------------
        ldiu      *+fp(3),r1            ; |157| 
        ldiu      *+fp(2),r0            ; |157| 
        ldiu      @CL18,ar0             ; |157| 
        mpyi      *+ar0(ir0),r1         ; |157| 
        mpyi      2,r0                  ; |157| 
        addi3     r1,r0,r0              ; |157| 
        sti       r0,*+fp(4)            ; |157| 
        ldiu      1,r0                  ; |157| 
        addi      *+fp(4),r0            ; |157| 
        sti       r0,*+fp(5)            ; |157| 
        ldiu      @CL19,ar0             ; |157| 
        ldiu      *+ar0(ir0),r0         ; |157| 
        addi      *+fp(4),r0            ; |157| 
        sti       r0,*+fp(6)            ; |157| 
        ldiu      *+ar0(ir0),r0         ; |157| 
        addi      *+fp(5),r0            ; |157| 
        sti       r0,*+fp(7)            ; |157| 
	.line	23
;----------------------------------------------------------------------
; 158 | fft_out[local0]=fft_in[local0]+fft_in[win0];                           
;----------------------------------------------------------------------
        ldiu      @CL9,ar1              ; |158| 
        ldiu      @CL9,ar2              ; |158| 
        ldiu      *+fp(4),ir1           ; |158| 
        ldiu      *+fp(6),ir0           ; |158| 
        ldiu      ir1,r0                ; |158| 
        ldiu      @CL20,ar0             ; |158| 
        addf3     *+ar2(ir1),*+ar1(ir0),f1 ; |158| 
        ldiu      r0,ir0                ; |158| 
        stf       f1,*+ar0(ir0)         ; |158| 
	.line	24
;----------------------------------------------------------------------
; 159 | fft_out[local1]=fft_in[local1]+fft_in[win1];                           
;----------------------------------------------------------------------
        ldiu      *+fp(5),ir1           ; |159| 
        ldiu      *+fp(7),ir0           ; |159| 
        ldiu      ir1,r0                ; |159| 
        addf3     *+ar2(ir1),*+ar1(ir0),f1 ; |159| 
        ldiu      r0,ir0                ; |159| 
        stf       f1,*+ar0(ir0)         ; |159| 
	.line	25
;----------------------------------------------------------------------
; 160 | fft_out[win0]=(fft_in[local0]-fft_in[win0])*ctab[Pset]-(fft_in[local1]-
;     | fft_in[win1])*stab[Pset];                                              
;----------------------------------------------------------------------
        ldiu      *+fp(4),ir1           ; |160| 
        ldiu      *+fp(6),ir0           ; |160| 
        ldiu      @CL9,ar0              ; |160| 
        ldiu      *+fp(5),r2            ; |160| 
        ldiu      @CL22,ar4             ; |160| 
        ldiu      @CL21,ar6             ; |160| 
        ldiu      @CL9,ar5              ; |160| 
        ldiu      *+fp(7),r3            ; |160| 
        subf3     *+ar2(ir0),*+ar1(ir1),f0 ; |160| 
        ldiu      @_Pset+0,r1           ; |160| 
        ldiu      @CL20,ar1             ; |160| 
        ldiu      r3,ir0                ; |160| 
        ldiu      r2,ir1                ; |160| 
        subf3     *+ar0(ir0),*+ar5(ir1),f2 ; |160| 
        ldiu      r1,ir0                ; |160| 
        ldiu      r1,ir1                ; |160| 
        mpyf3     *+ar6(ir0),f0,f0      ; |160| 
        mpyf3     *+ar4(ir1),f2,f1      ; |160| 
        ldiu      *+fp(6),ir0           ; |160| 
        subrf     f0,f1                 ; |160| 
        stf       f1,*+ar1(ir0)         ; |160| 
	.line	26
;----------------------------------------------------------------------
; 161 | fft_out[win1]=(fft_in[local1]-fft_in[win1])*ctab[Pset]+(fft_in[local0]-
;     | fft_in[win0])*stab[Pset];                                              
;----------------------------------------------------------------------
        ldiu      @CL9,ar6              ; |161| 
        ldiu      *+fp(4),ir1           ; |161| 
        ldiu      *+fp(6),ir0           ; |161| 
        ldiu      *+fp(5),rs            ; |161| 
        ldiu      @CL9,ar4              ; |161| 
        ldiu      @CL22,ar7             ; |161| 
        ldiu      *+fp(7),r3            ; |161| 
        ldiu      @CL21,ar5             ; |161| 
        ldiu      @_Pset+0,r1           ; |161| 
        subf3     *+ar6(ir0),*+ar0(ir1),f2 ; |161| 
        ldiu      rs,ir1                ; |161| 
        ldiu      r3,ir0                ; |161| 
        subf3     *+ar2(ir0),*+ar4(ir1),f3 ; |161| 
        ldiu      r1,ir0                ; |161| 
        ldiu      r1,r0                 ; |161| 
        ldiu      r0,re                 ; |161| 
        mpyf3     *+ar7(ir0),f2,f0      ; |161| 
        ldiu      re,ir0                ; |161| 
        mpyf3     *+ar5(ir0),f3,f1      ; |161| 
        ldiu      *+fp(7),ir0           ; |161| 
        addf3     f1,f0,f0              ; |161| 
        stf       f0,*+ar1(ir0)         ; |161| 
	.line	19
        ldiu      1,r0                  ; |154| 
        addi      *+fp(2),r0            ; |154| 
        sti       r0,*+fp(2)            ; |154| 
        ldiu      *+fp(1),ir0           ; |154| 
        ldiu      @CL16,ar0             ; |154| 
        cmpi3     *+ar0(ir0),r0         ; |154| 
        blt       L40                   ; |154| 
;*      Branch Occurs to L40            ; |154| 
L41:        
	.line	18
        ldiu      1,r0                  ; |153| 
        addi      *+fp(3),r0            ; |153| 
        sti       r0,*+fp(3)            ; |153| 
        ldiu      @CL15,ar0             ; |153| 
        ldiu      *+fp(1),ir0           ; |153| 
        cmpi3     *+ar0(ir0),r0         ; |153| 
        blt       L39                   ; |153| 
;*      Branch Occurs to L39            ; |153| 
L42:        
	.line	4
        ldiu      1,r0                  ; |139| 
        addi      *+fp(1),r0            ; |139| 
        sti       r0,*+fp(1)            ; |139| 
        cmpi      8,r0                  ; |139| 
        blt       L32                   ; |139| 
;*      Branch Occurs to L32            ; |139| 
L43:        
	.line	30
;----------------------------------------------------------------------
; 165 | for ( i=0; i<256; i++ )                                                
;----------------------------------------------------------------------
        ldiu      0,r0                  ; |165| 
        sti       r0,*+fp(1)            ; |165| 
        cmpi      256,r0                ; |165| 
        bge       L45                   ; |165| 
;*      Branch Occurs to L45            ; |165| 
L44:        
	.line	31
;----------------------------------------------------------------------
; 166 | fft_in[i]=fft_out[bitrev_index[i]];                                    
;----------------------------------------------------------------------
        ldiu      *+fp(1),ir1           ; |166| 
        ldiu      @CL23,ar1             ; |166| 
        ldiu      ir1,ir0               ; |166| 
        ldiu      @CL20,ar0             ; |166| 
        ldiu      *+ar1(ir1),ir1        ; |166| 
        ldiu      @CL9,ar1              ; |166| 
        ldfu      *+ar0(ir1),f0         ; |166| 
        stf       f0,*+ar1(ir0)         ; |166| 
	.line	30
        ldiu      1,r0                  ; |165| 
        addi      *+fp(1),r0            ; |165| 
        sti       r0,*+fp(1)            ; |165| 
        cmpi      256,r0                ; |165| 
        blt       L44                   ; |165| 
;*      Branch Occurs to L44            ; |165| 
L45:        
	.line	33
                                        ; Begin Epilog Code
        ldiu      *-fp(1),r1
        ldiu      *fp,fp
                                        ; Restore SOE Registers
        pop       ar7
        pop       ar6
        pop       ar5
        pop       ar4
                                        ; Unallocate the Frame
        subi      11,sp
        bu        r1
;*      Branch Occurs to r1 
	.endfunc	168,00000f000h,9



	.sect	".cinit"
	.field  	IR_7,32
	.field  	.init0$1+0,32
	.word   	000000000H ; float   1.000000000000000e+00
                                   ; .init0$1[0] @ 0
	.word   	0FF7FEC43H ; float   9.996988190000000e-01
                                   ; .init0$1[1] @ 32
	.word   	0FF7FB10FH ; float   9.987954560000000e-01
                                   ; .init0$1[2] @ 64
	.word   	0FF7F4E6DH ; float   9.972904570000000e-01
                                   ; .init0$1[3] @ 96
	.word   	0FF7EC46DH ; float   9.951847270000000e-01
                                   ; .init0$1[4] @ 128
	.word   	0FF7E1324H ; float   9.924795350000000e-01
                                   ; .init0$1[5] @ 160
	.word   	0FF7D3AACH ; float   9.891765100000000e-01
                                   ; .init0$1[6] @ 192
	.word   	0FF7C3B28H ; float   9.852776420000000e-01
                                   ; .init0$1[7] @ 224
	.word   	0FF7B14BEH ; float   9.807852800000000e-01
                                   ; .init0$1[8] @ 256
	.word   	0FF79C79DH ; float   9.757021300000000e-01
                                   ; .init0$1[9] @ 288
	.word   	0FF7853F8H ; float   9.700312530000000e-01
                                   ; .init0$1[10] @ 320
	.word   	0FF76BA07H ; float   9.637760660000000e-01
                                   ; .init0$1[11] @ 352
	.word   	0FF74FA0BH ; float   9.569403360000000e-01
                                   ; .init0$1[12] @ 384
	.word   	0FF731447H ; float   9.495281810000000e-01
                                   ; .init0$1[13] @ 416
	.word   	0FF710908H ; float   9.415440650000000e-01
                                   ; .init0$1[14] @ 448
	.word   	0FF6ED89EH ; float   9.329927990000000e-01
                                   ; .init0$1[15] @ 480
	.word   	0FF6C835EH ; float   9.238795330000000e-01
                                   ; .init0$1[16] @ 512
	.word   	0FF6A09A7H ; float   9.142097560000000e-01
                                   ; .init0$1[17] @ 544
	.word   	0FF676BD8H ; float   9.039892930000000e-01
                                   ; .init0$1[18] @ 576
	.word   	0FF64AA59H ; float   8.932243010000000e-01
                                   ; .init0$1[19] @ 608
	.word   	0FF61C598H ; float   8.819212640000000e-01
                                   ; .init0$1[20] @ 640
	.word   	0FF5EBE05H ; float   8.700869910000000e-01
                                   ; .init0$1[21] @ 672
	.word   	0FF5B941AH ; float   8.577286100000000e-01
                                   ; .init0$1[22] @ 704
	.word   	0FF584853H ; float   8.448535650000000e-01
                                   ; .init0$1[23] @ 736
	.word   	0FF54DB31H ; float   8.314696120000000e-01
                                   ; .init0$1[24] @ 768
	.word   	0FF514D3DH ; float   8.175848130000000e-01
                                   ; .init0$1[25] @ 800
	.word   	0FF4D9F02H ; float   8.032075310000000e-01
                                   ; .init0$1[26] @ 832
	.word   	0FF49D112H ; float   7.883464280000000e-01
                                   ; .init0$1[27] @ 864
	.word   	0FF45E403H ; float   7.730104530000000e-01
                                   ; .init0$1[28] @ 896
	.word   	0FF41D870H ; float   7.572088470000000e-01
                                   ; .init0$1[29] @ 928
	.word   	0FF3DAEF9H ; float   7.4095112500000

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -