📄 fft2.asm
字号:
;* 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 + -