📄 c5_4_4.asm
字号:
.ref usb_transfer
pcr1 .equ 01900024h
pcr .equ 018c0024h
.global ftranform
.global sinx
.data
sinx: .word 6957,13597,19617,24742,28740,31426,32680,32444,30728,27612,23236,17801
.word 11554, 4780,-2212,-9102,-15578,-21344,-26136,-29736,-31981,-27609,-6947
.word 17814, 32064, 27396, 6564,-18141,-32142,-27180,-6181, 18465, 32216, 26959
.word 5796,-18787,-32285,-26735,-5411, 19106, 32350, 26507,-13377,-32031, 149, 32092
.word 13103,-26681, -24122, 16720, 31026,-3908,-32640,-9571, 28687, 21418,-19843
.word -29612, 7614, 32756, 5912,-30315,-18431, 31898, -4428,-28725, 25014, 10799
.word -32753, 12673, 23671,-29636,-2432, 31379,-20055,-17007, 32243,-6100,-27872
.word 26074, 9186,-32657, 14217, 22469,-32207, 29583,-15605,-4362, 22655,-32253
.word 29472,-15379,-4617, 22841,-32298, 29358, -15151,-4872, 23024,-32340, 29243
.word -14922,-5126, 23207,-32381, 32609,-32738, 32765,-32693, 32519,-32246, 31873
.word -31403, 30836,-30174, 29420,-28575, 27642,-26624, 25525,-24347, 23094,-21770
.word 20379,-18926, 17414,-28889, 32756, -27996, 15863, 448,-16640, 28451,-32768
.word 28456,-16649, 458, 15854,-27990, 32755,-28894, 17423,-1364,-15055, 27509,-32718
.word 29310,-453,-28894, 27003, 4081,-30753, 24177, 8537,-32022, 20887, 12829,-32676
.word 17196, 16875, -32702, 13174, 20596,-32100, 8900, 23922,-30881, 4454,32743,1893
.word -32376,-8169, 30792, 14138,-28052,-19576, 24257, 24278,-19551,-28068, 14110
.word 30803,-8139,-32381, 1862, 32742, 4485,-31872,-10663,-17986,-24195,-28904
.word -31821,-32767,-31681,-28633,-23809,-17510,-10126,-2114, 6029, 13798, 20712
.word 26342, 30340,32458,32563,30651, 26839, 21363,-3724,-26422,-32171,-17283
.word 8691, 29091, 30829, 12791,-13452,-31066,-28752,-7994, 17891, 32300, 25989
.word 3007,-21904,-32765,-22607, 2052, 25395, 24756,-16906,-30553, 6428, 32758
.word 4806,-31110,-15474, 25803, 24323,-17462,-30311, 7068, 32735, 4158,-31309
.word -14895,26201,23880,-18012,-18012,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.sect ".datatt"
tt: .word 216,433,649,865,1081,1298,1514,1730,1946,2163,2379,2595,2811,3028,3244,3460
.word 03677,3893,4109,4325,4542,4761,4981,5200,5420,5639,5859,6078,6298,6518,6737
.word 6957, 07176,7396,7615,7835,8054,8274,8493,8713,8933,9152,9375 ,9598,9821
.word 10043,10266,10489, 10712,10935,11158,11380,11603,11826,12049,12272,12494
.word 12717,12940,13163,13386,13609,13831,14057, 14284, 14510,14736,14962,15188
.word 15414,15640,15866,16092,16318,16545,16771,16997,17223,17449,17675, 17901
.word 18127,18353,18579,18809,19038,19268,19497,19726,19956,20185,20414, 20644
.word 20873, 21103, 21332, 21561, 21791,22020,22249,22479,22708,22938,23167, 23396
.word 23629,23862,24094,24327,24560,24792,25025, 25258, 25490, 25723, 25956, 26188
.word 26421,26653,26886,27119,27351,27584,27817,28049,28282,28518,28754, 28990
.word 29226,29462,29698,29934,30169,30405,30641,30877,31113,31349,31585, 31821
.word 32057, 32293, 32529, 32765,33001,33237,33476,33715,33954,34193, 34433, 34672
.word 34911,35150,35389,35629,35868,36107,36346, 36585, 36825, 37064, 37303, 37542
.word 37782,38021,38260,38502,38745,38987,39230,39472,39715,39957, 40200, 40442
.word 40685, 40927, 41170,41412,41655,41897,42140,42382,42625, 42867, 43110, 43352
.word 43604, 43857, 44109, 44361,44614,44866,45118,45371,45623,45875, 46128, 46380
.word 46632,46884,47137,47389,47641,47894,48146, 48398, 48651, 48906, 49162, 49417
.word 49673,49929,50184,50440,50695,50951,51207,51462,51718,51973, 52229, 52485
.word 52740, 52996,53251,53507,53762,54018,54277,54536, 54795, 55054, 55312, 55571
.word 55830, 56089, 56348, 56607,56866,57124,57383,57642,57901,58160, 58419, 58678
.word 58937, 59195, 59195
.bss fft, 16000, 0, 0
.global ft
.text
ftranform:
mvc csr,b0
and -2,b0,b0
mvc b0,csr
mvkl pcr1,a10
mvkh pcr1,a10
mvkl 3a0ah,b10
stw b10,*a10
nop 4
nop 8
nop 8
mvkl 3a2ah,b10
stw b10,*a10
nop 4
nop 8
nop 8
mvkl 3a2ah,b10
stw b10,*a10
nop 4
nop 8
nop 8
mvkl 3a2ah,b10
stw b10,*a10
nop 4
nop 8
nop 8
mvkl 3a2ah,b10
stw b10,*a10
nop 4
nop 8
nop 8
mvkl 3a2ah,b10
stw b10,*a10
nop 4
nop 8
nop 8
mvkl 3a0ah,b10
stw b10,*a10
nop 4
MVK 4000, A0
MVKL fft, A4
MVKH fft, A4
MVKL 0, B3
loopout: ADD B3,1,B3
ZERO A5
ZERO B5
MVKL sinx, A2
MVKH sinx, A2
MVKL tt, A13
MVKH tt, A13
MVK 250, B4
loopin: SUB B4,1,B4
LDW *A13++, A6
NOP 5
MPYU B3, A6, B9
NOP
LDW *A2++, A6
EXTU B9, 16, 31, B2
EXTU B9, 17, 31, B1
EXTU B9, 18, 18, B9
MVK 487Fh, A8
MPYU B9, A8, B8
MPY B9, 6h, B7
SHR A6, 16, A6
SHL A6, 4, A6
SHRU B8, 16, B9
ADD B9, B7, B9
MV B9, B8
MV B8, A8
MV A6, B6
ZERO B9
|| ZERO A9
MVKL 752h, A3
ADD B9, A3, B9
|| ADD A9, A3, A9
MPYU B9, B8, B12
|| MPYU A9, A8, A12
MPYHSLU B9, B8, B11
|| MPYHSLU A9, A8, A11
MPYLUHS B9, B8, B10
|| MPYLUHS A9, A8, A10
MPYH B9, B8, B7
|| MPYH A9, A8, A7
SHRU B12, 16, B12
|| SHRU A12, 16, A12
SHL B7, 16, B7
|| SHL A7, 16, A7
ADD B11, B10, B9
|| ADD A11, A10, A9
ADD B9, B12, B9
|| ADD A9, A12, A9
ADD B9, B7, B9
|| ADD A9, A7, A9
MVKL 0CBCEh, A3
ADD B9, A3, B9
MVKL 61Eh, A3
ADD A9, A3, A9
MPYU B9, B8, B12
|| MPYU A9, A8, A12
MPYHSLU B9, B8, B11
|| MPYHSLU A9, A8, A11
MPYLUHS B9, B8, B10
|| MPYLUHS A9, A8, A10
MPYH B9, B8, B7
|| MPYH A9, A8, A7
SHRU B12, 16, B12
|| SHRU A12, 16, A12
SHL B7, 16, B7
|| SHL A7, 16, A7
ADD B11, B10, B9
|| ADD A11, A10, A9
ADD B9, B12, B9
|| ADD A9, A12, A9
ADD B9, B7, B9
|| ADD A9, A7, A9
MVKL 559h, A3
ADD B9, A3, B9
MVKL 7BFCh, A3
MVKLH 0FFFFh, A3
ADD A9, A3, A9
MPYU B9, B8, B12
|| MPYU A9, A8, A12
MPYHSLU B9, B8, B11
|| MPYHSLU A9, A8, A11
MPYLUHS B9, B8, B10
|| MPYLUHS A9, A8, A10
MPYH B9, B8, B7
|| MPYH A9, A8, A7
SHRU B12, 16, B12
|| SHRU A12, 16, A12
SHL B7, 16, B7
|| SHL A7, 16, A7
ADD B11, B10, B9
|| ADD A11, A10, A9
ADD B9, B12, B9
|| ADD A9, A12, A9
ADD B9, B7, B9
|| ADD A9, A7, A9
MVKL 0FED2h, A3
MVKLH 0, A3
ADD B9, A3, B9
MVKL 0F2h, A3
ADD A9, A3, A9
MPYU B9, B8, B12
|| MPYU A9, A8, A12
MPYHSLU B9, B8, B11
|| MPYHSLU A9, A8, A11
MPYLUHS B9, B8, B10
|| MPYLUHS A9, A8, A10
MPYH B9, B8, B7
|| MPYH A9, A8, A7
SHRU B12, 16, B12
|| SHRU A12, 16, A12
SHL B7, 16, B7
|| SHL A7, 16, A7
ADD B11, B10, B9
|| ADD A11, A10, A9
ADD B9, B12, B9
|| ADD A9, A12, A9
ADD B9, B7, B9
|| ADD A9, A7, A9
MVKL 0Dh, A3
ADD B9, A3, B9
MVKL 0FFF2h, A3
MVKLH 0, A3
ADD A9, A3, A9
MPYU B9, B6, B12
|| MPYU A9, A6, A12
MPYHSLU B9, B6, B11
|| MPYHSLU A9, A6, A11
MPYLUHS B9, B6, B10
|| MPYLUHS A9, A6, A10
MPYH B9, B6, B7
|| MPYH A9, A6, A7
SHRU B12, 16, B12
|| SHRU A12, 16, A12
SHL B7, 16, B7
|| SHL A7, 16, A7
ADD B11, B10, B9
|| ADD A11, A10, A9
ADD B9, B12, B9
|| ADD A9, A12, A9
ADD B9, B7, B9
|| ADD A9, A7, A9
AND B2, B1, B0
[B0] ADD A5, B9, A5
|| [B0] SUB B5, A9, B5
XOR B2, 1, B2
AND B2, B1, B0
[B0] SUB A5, B9, A5
|| [B0] ADD B5, A9, B5
XOR B1, 1, B1
AND B2, B1, B0
[B0] ADD A5, A9, A5
|| [B0] ADD B5, B9, B5
XOR B2, 1, B2
AND B2, B1, B0
[B0] SUB A5, A9, A5
|| [B0] SUB B5, B9, B5
CMPLTU 0, B4, B0
[B0] B loopin
NOP 5
MPYU B5, B5, B12
|| MPYU A5, A5, A12
MPYHSLU B5, B5, B11
|| MPYHSLU A5, A5, A11
MPYLUHS B5, B5, B10
|| MPYLUHS A5, A5, A10
MPYH B5, B5, B7
|| MPYH A5, A5, A7
SHRU B12, 16, B12
|| SHRU A12, 16, A12
SHL B7, 16, B7
|| SHL A7, 16, A7
ADD B11, B10, B5
|| ADD A11, A10, A5
ADD B5, B12, B5
|| ADD A5, A12, A5
ADD B5, B7, B5
|| ADD A5, A7, A5
ADD A5, B5, A5
STW A5,*A4++
NOP 5
CMPLTU B3, A0, B1
[B1] B loopout
NOP 5
loop: NOP
B usb_transfer
NOP 5
NOP
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -