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

📄 fft.lst

📁 在ICCAVR 环境实现的fft,
💻 LST
📖 第 1 页 / 共 5 页
字号:
    01DD 1624      CP	R2,R20
    01DE 0635      CPC	R3,R21
    01DF 0646      CPC	R4,R22
    01E0 0657      CPC	R5,R23
    01E1 F080      BCS	0x01F2
    01E2 01FE      MOVW	R30,R28
    01E3 A024      LDD	R2,Z+36
    01E4 A035      LDD	R3,Z+37
    01E5 A046      LDD	R4,Z+38
    01E6 A057      LDD	R5,Z+39
    01E7 01FE      MOVW	R30,R28
    01E8 8060      LDD	R6,Z+0
    01E9 8071      LDD	R7,Z+1
    01EA 8082      LDD	R8,Z+2
    01EB 8093      LDD	R9,Z+3
    01EC 1426      CP	R2,R6
    01ED 0437      CPC	R3,R7
    01EE 0448      CPC	R4,R8
    01EF 0459      CPC	R5,R9
    01F0 F408      BCC	0x01F2
    01F1 CFC1      RJMP	0x01B3
(0026)     }
(0027)     j += m;
    01F2 01FE      MOVW	R30,R28
    01F3 A024      LDD	R2,Z+36
    01F4 A035      LDD	R3,Z+37
    01F5 A046      LDD	R4,Z+38
    01F6 A057      LDD	R5,Z+39
    01F7 01FE      MOVW	R30,R28
    01F8 8060      LDD	R6,Z+0
    01F9 8071      LDD	R7,Z+1
    01FA 8082      LDD	R8,Z+2
    01FB 8093      LDD	R9,Z+3
    01FC 0C62      ADD	R6,R2
    01FD 1C73      ADC	R7,R3
    01FE 1C84      ADC	R8,R4
    01FF 1C95      ADC	R9,R5
    0200 01FE      MOVW	R30,R28
    0201 8260      STD	Z+0,R6
    0202 8271      STD	Z+1,R7
    0203 8282      STD	Z+2,R8
    0204 8293      STD	Z+3,R9
    0205 E042      LDI	R20,2
    0206 E050      LDI	R21,0
    0207 E060      LDI	R22,0
    0208 E070      LDI	R23,0
    0209 01FE      MOVW	R30,R28
    020A 8024      LDD	R2,Z+4
    020B 8035      LDD	R3,Z+5
    020C 8046      LDD	R4,Z+6
    020D 8057      LDD	R5,Z+7
    020E 0E24      ADD	R2,R20
    020F 1E35      ADC	R3,R21
    0210 1E46      ADC	R4,R22
    0211 1E57      ADC	R5,R23
    0212 01FE      MOVW	R30,R28
    0213 8224      STD	Z+4,R2
    0214 8235      STD	Z+5,R3
    0215 8246      STD	Z+6,R4
    0216 8257      STD	Z+7,R5
    0217 01FE      MOVW	R30,R28
    0218 8C24      LDD	R2,Z+28
    0219 8C35      LDD	R3,Z+29
    021A 8C46      LDD	R4,Z+30
    021B 8C57      LDD	R5,Z+31
    021C 01FE      MOVW	R30,R28
    021D 8064      LDD	R6,Z+4
    021E 8075      LDD	R7,Z+5
    021F 8086      LDD	R8,Z+6
    0220 8097      LDD	R9,Z+7
    0221 1462      CP	R6,R2
    0222 0473      CPC	R7,R3
    0223 0484      CPC	R8,R4
    0224 0495      CPC	R9,R5
    0225 F408      BCC	0x0227
    0226 CE77      RJMP	0x009E
(0028)   }
(0029)   mmax=2;
    0227 E042      LDI	R20,2
    0228 E050      LDI	R21,0
    0229 E060      LDI	R22,0
    022A E070      LDI	R23,0
    022B 01FE      MOVW	R30,R28
    022C 8F40      STD	Z+24,R20
    022D 8F51      STD	Z+25,R21
    022E 8F62      STD	Z+26,R22
    022F 8F73      STD	Z+27,R23
    0230 C352      RJMP	0x0583
(0030)   while (n > mmax) {
(0031)     istep=mmax << 1;
    0231 01FE      MOVW	R30,R28
    0232 8C20      LDD	R2,Z+24
    0233 8C31      LDD	R3,Z+25
    0234 8C42      LDD	R4,Z+26
    0235 8C53      LDD	R5,Z+27
    0236 0C22      LSL	R2
    0237 1C33      ROL	R3
    0238 1C44      ROL	R4
    0239 1C55      ROL	R5
    023A 01FE      MOVW	R30,R28
    023B A220      STD	Z+32,R2
    023C A231      STD	Z+33,R3
    023D A242      STD	Z+34,R4
    023E A253      STD	Z+35,R5
(0032)     theta=isign*(6.28318530717959/mmax);
    023F 0185      MOVW	R16,R10
    0240 940E06BB  CALL	int2fp
    0242 933A      ST	R19,-Y
    0243 932A      ST	R18,-Y
    0244 931A      ST	R17,-Y
    0245 930A      ST	R16,-Y
    0246 E608      LDI	R16,0x68
    0247 E010      LDI	R17,0
    0248 940E065F  CALL	lpm32
    024A 933A      ST	R19,-Y
    024B 932A      ST	R18,-Y
    024C 931A      ST	R17,-Y
    024D 930A      ST	R16,-Y
    024E E604      LDI	R16,0x64
    024F E010      LDI	R17,0
    0250 940E065F  CALL	lpm32
    0252 933A      ST	R19,-Y
    0253 932A      ST	R18,-Y
    0254 931A      ST	R17,-Y
    0255 930A      ST	R16,-Y
    0256 01FE      MOVW	R30,R28
    0257 A024      LDD	R2,Z+36
    0258 A035      LDD	R3,Z+37
    0259 A046      LDD	R4,Z+38
    025A A057      LDD	R5,Z+39
    025B 9456      LSR	R5
    025C 9447      ROR	R4
    025D 9437      ROR	R3
    025E 9427      ROR	R2
    025F 0181      MOVW	R16,R2
    0260 0192      MOVW	R18,R4
    0261 940E06C1  CALL	long2fp
    0263 933A      ST	R19,-Y
    0264 932A      ST	R18,-Y
    0265 931A      ST	R17,-Y
    0266 930A      ST	R16,-Y
    0267 940E0844  CALL	empy32fs
    0269 E041      LDI	R20,1
    026A E050      LDI	R21,0
    026B E060      LDI	R22,0
    026C E070      LDI	R23,0
    026D 01FE      MOVW	R30,R28
    026E A024      LDD	R2,Z+36
    026F A035      LDD	R3,Z+37
    0270 A046      LDD	R4,Z+38
    0271 A057      LDD	R5,Z+39
    0272 2224      AND	R2,R20
    0273 2235      AND	R3,R21
    0274 2246      AND	R4,R22
    0275 2257      AND	R5,R23
    0276 0181      MOVW	R16,R2
    0277 0192      MOVW	R18,R4
    0278 940E06C1  CALL	long2fp
    027A 933A      ST	R19,-Y
    027B 932A      ST	R18,-Y
    027C 931A      ST	R17,-Y
    027D 930A      ST	R16,-Y
    027E 940E0715  CALL	add32fs
    0280 940E0776  CALL	div32fs
    0282 940E0847  CALL	empy32f
    0284 01FE      MOVW	R30,R28
    0285 AB04      STD	Z+52,R16
    0286 AB15      STD	Z+53,R17
    0287 AB26      STD	Z+54,R18
    0288 AB37      STD	Z+55,R19
(0033)     wtemp=sin(0.5*theta);
    0289 E600      LDI	R16,0x60
    028A E010      LDI	R17,0
    028B 940E065F  CALL	lpm32
    028D 933A      ST	R19,-Y
    028E 932A      ST	R18,-Y
    028F 931A      ST	R17,-Y
    0290 930A      ST	R16,-Y
    0291 01FE      MOVW	R30,R28
    0292 AC20      LDD	R2,Z+56
    0293 AC31      LDD	R3,Z+57
    0294 AC42      LDD	R4,Z+58
    0295 AC53      LDD	R5,Z+59
    0296 925A      ST	R5,-Y
    0297 924A      ST	R4,-Y
    0298 923A      ST	R3,-Y
    0299 922A      ST	R2,-Y
    029A 940E0847  CALL	empy32f
    029C 940E0AF1  CALL	_sin
    029E 01FE      MOVW	R30,R28
    029F A700      STD	Z+40,R16
    02A0 A711      STD	Z+41,R17
    02A1 A722      STD	Z+42,R18
    02A2 A733      STD	Z+43,R19
(0034)     wpr = -2.0*wtemp*wtemp;
    02A3 E50C      LDI	R16,0x5C
    02A4 E010      LDI	R17,0
    02A5 940E065F  CALL	lpm32
    02A7 933A      ST	R19,-Y
    02A8 932A      ST	R18,-Y
    02A9 931A      ST	R17,-Y
    02AA 930A      ST	R16,-Y
    02AB 01FE      MOVW	R30,R28
    02AC A424      LDD	R2,Z+44
    02AD A435      LDD	R3,Z+45
    02AE A446      LDD	R4,Z+46
    02AF A457      LDD	R5,Z+47
    02B0 925A      ST	R5,-Y
    02B1 924A      ST	R4,-Y
    02B2 923A      ST	R3,-Y
    02B3 922A      ST	R2,-Y
    02B4 940E0844  CALL	empy32fs
    02B6 01FE      MOVW	R30,R28
    02B7 A424      LDD	R2,Z+44
    02B8 A435      LDD	R3,Z+45
    02B9 A446      LDD	R4,Z+46
    02BA A457      LDD	R5,Z+47
    02BB 925A      ST	R5,-Y
    02BC 924A      ST	R4,-Y
    02BD 923A      ST	R3,-Y
    02BE 922A      ST	R2,-Y
    02BF 940E0847  CALL	empy32f
    02C1 01FE      MOVW	R30,R28
    02C2 A704      STD	Z+44,R16
    02C3 A715      STD	Z+45,R17
    02C4 A726      STD	Z+46,R18
    02C5 A737      STD	Z+47,R19
(0035)     wpi=sin(theta);
    02C6 01FE      MOVW	R30,R28
    02C7 A904      LDD	R16,Z+52
    02C8 A915      LDD	R17,Z+53
    02C9 A926      LDD	R18,Z+54
    02CA A937      LDD	R19,Z+55
    02CB 940E0AF1  CALL	_sin
    02CD 01FE      MOVW	R30,R28
    02CE AB00      STD	Z+48,R16
    02CF AB11      STD	Z+49,R17
    02D0 AB22      STD	Z+50,R18
    02D1 AB33      STD	Z+51,R19
(0036)     wr=1.0;
    02D2 E508      LDI	R16,0x58
    02D3 E010      LDI	R17,0
    02D4 940E065F  CALL	lpm32
    02D6 01FE      MOVW	R30,R28
    02D7 8B04      STD	Z+20,R16
    02D8 8B15      STD	Z+21,R17
    02D9 8B26      STD	Z+22,R18
    02DA 8B37      STD	Z+23,R19
(0037)     wi=0.0;
    02DB E504      LDI	R16,0x54
    02DC E010      LDI	R17,0
    02DD 940E065F  CALL	lpm32
    02DF 01FE      MOVW	R30,R28
    02E0 8B00      STD	Z+16,R16
    02E1 8B11      STD	Z+17,R17
    02E2 8B22      STD	Z+18,R18
    02E3 8B33      STD	Z+19,R19
(0038)     for (m=1;m<mmax;m+=2) {
    02E4 E041      LDI	R20,1
    02E5 E050      LDI	R21,0
    02E6 E060      LDI	R22,0
    02E7 E070      LDI	R23,0
    02E8 01FE      MOVW	R30,R28
    02E9 A344      STD	Z+36,R20
    02EA A355      STD	Z+37,R21
    02EB A366      STD	Z+38,R22
    02EC A377      STD	Z+39,R23
    02ED C27B      RJMP	0x0569
(0039)       for (i=m;i<=n;i+=istep) {
    02EE 01FE      MOVW	R30,R28
    02EF A024      LDD	R2,Z+36
    02F0 A035      LDD	R3,Z+37
    02F1 A046      LDD	R4,Z+38
    02F2 A057      LDD	R5,Z+39
    02F3 01FE      MOVW	R30,R28
    02F4 8224      STD	Z+4,R2
    02F5 8235      STD	Z+5,R3
    02F6 8246      STD	Z+6,R4
    02F7 8257      STD	Z+7,R5
    02F8 C1D0      RJMP	0x04C9
(0040)         j=i+mmax;
    02F9 01FE      MOVW	R30,R28
    02FA 8C20      LDD	R2,Z+24
    02FB 8C31      LDD	R3,Z+25
    02FC 8C42      LDD	R4,Z+26
    02FD 8C53      LDD	R5,Z+27
    02FE 01FE      MOVW	R30,R28
    02FF 8064      LDD	R6,Z+4
    0300 8075      LDD	R7,Z+5
    0301 8086      LDD	R8,Z+6
    0302 8097      LDD	R9,Z+7
    0303 0C62      ADD	R6,R2
    0304 1C73      ADC	R7,R3
    0305 1C84      ADC	R8,R4
    0306 1C95      ADC	R9,R5
    0307 01FE      MOVW	R30,R28
    0308 8260      STD	Z+0,R6
    0309 8271      STD	Z+1,R7
    030A 8282      STD	Z+2,R8
    030B 8293      STD	Z+3,R9
(0041)         tempr=wr*data[j]-wi*data[j+1];
    030C 01FE      MOVW	R30,R28
    030D 8824      LDD	R2,Z+20
    030E 8835      LDD	R3,Z+21
    030F 8846      LDD	R4,Z+22
    0310 8857      LDD	R5,Z+23
    0311 925A      ST	R5,-Y
    0312 924A      ST	R4,-Y
    0313 923A      ST	R3,-Y
    0314 922A      ST	R2,-Y
    0315 01FE      MOVW	R30,R28
    0316 8024      LDD	R2,Z+4
    0317 8035      LDD	R3,Z+5
    0318 8046      LDD	R4,Z+6
    0319 8057      LDD	R5,Z+7
    031A E044      LDI	R20,4
    031B E050      LDI	R21,0
    031C E060      LDI	R22,0
    031D E070      LDI	R23,0
    031E 925A      ST	R5,-Y
    031F 924A      ST	R4,-Y
    0320 923A      ST	R3,-Y
    0321 922A      ST	R2,-Y
    0322 018A      MOVW	R16,R20
    0323 019B      MOVW	R18,R22
    0324 940E05D9  CALL	empy32u
    0326 01F8      MOVW	R30,R16
    0327 0DEC      ADD	R30,R12
    0328 1DFD      ADC	R31,R13
    0329 8020      LDD	R2,Z+0
    032A 8031      LDD	R3,Z+1
    032B 8042      LDD	R4,Z+2
    032C 8053      LDD	R5,Z+3
    032D 925A      ST	R5,-Y
    032E 924A      ST	R4,-Y
    032F 923A      ST	R3,-Y
    0330 922A      ST	R2,-Y
    0331 940E0844  CALL	empy32fs
    0333 01FE      MOVW	R30,R28
    0334 8824      LDD	R2,Z+20
    0335 8835      LDD	R3,Z+21
    0336 8846      LDD	R4,Z+22
    0337 8857      LDD	R5,Z+23
    0338 925A      ST	R5,-Y
    0339 924A      ST	R4,-Y
    033A 923A      ST	R3,-Y
    033B 922A      ST	R2,-Y
    033C E041      LDI	R20,1
    033D E050      LDI	R21,0
    033E E060      LDI	R22,0
    033F E070      LDI	R23,0
    0340 01FE      MOVW	R30,R28
    0341 8420      LDD	R2,Z+8
    0342 8431      LDD	R3,Z+9
    0343 8442      LDD	R4,Z+10
    0344 8453      LDD	R5,Z+11
    0345 0E24      ADD	R2,R20
    0346 1E35      ADC	R3,R21
    0347 1E46      ADC	R4,R22
    0348 1E57      ADC	R5,R23
    0349 E044      LDI	R20,4
    034A E050      LDI	R21,0
    034B E060      LDI	R22,0
    034C E070      LDI	R23,0
    034D 925A      ST	R5,-Y
    034E 924A      ST	R4,-Y
    034F 923A      ST	R3,-Y
    0350 922A      ST	R2,-Y
    0351 018A      MOVW	R16,R20
    0352 019B      MOVW	R18,R22
    0353 940E05D9  CALL	empy32u
    0355 01F8      MOVW	R30,R16
    0356 0DEC      ADD	R30,R12
    0357 1DFD      ADC	R31,R13
    0358 8020      LDD	R2,Z+0
    0359 8031      LDD	R3,Z+1
    035A 8042      LDD	R4,Z+2
    035B 8053      LDD	R5,Z+3
    035C 925A      ST	R5,-Y
    035D 924A      ST	R4,-Y
    035E 923A      ST	R3,-Y
    035F 922A      ST	R2,-Y
    0360 940E0844  CALL	empy32fs
    0362 940E0720  CALL	sub32f
    0364 01FE      MOVW	R30,R28
    0365 8700      STD	Z+8,R16
    0366 8711      STD	Z+9,R17
    0367 8722      STD	Z+10,R18
    0368 8733      STD	Z+11,R19
(0042)         tempi=wr*data[j+1]+wi*data[j];
    0369 01FE      MOVW	R30,R28
    036A 8824      LDD	R2,Z+20
    036B 8835      LDD	R3,Z+21
    036C 8846      LDD	R4,Z+22
    036D 8857      LDD	R5,Z+23
    036E 925A      ST	R5,-Y
    036F 924A      ST	R4,-Y
    0370 923A      ST	R3,-Y
    0371 922A      ST	R2,-Y
    0372 E041      LDI	R20,1
    0373 E050      LDI	R21,0
    0374 E060      LDI	R22,0
    0375 E070      LDI	R23,0
    0376 01FE      MOVW	R30,R28
    0377 8024      LDD	R2,Z+4
    0378 8035      LDD	R3,Z+5
    0379 8046      LDD	R4,Z+6
    037A 8057      LDD	R5,Z+7
    037B 0E24      ADD	R2,R20
    037C 1E35      ADC	R3,R21
    037D 1E46      ADC	R4,R22
    037E 1E57      ADC	R5,R23
    037F E044      LDI	R20,4
    0380 E050      LDI	R21,0
    0381 E060      LDI	R22,0
    0382 E070      LDI	R23,0
    0383 925A      ST	R5,-Y
    0384 924A      ST	R4,-Y
    0385 923A      ST	R3,-Y
    0386 922A      ST	R2,-Y
    0387 018A      MOVW	R16,R20
    0388 019B      MOVW	R18,R22
    0389 940E05D9  CALL	empy32u
    038B 01F8      MOVW	R30,R16
    038C 0DEC      ADD	R30,R12
    038D 1DFD      ADC	R31,R13
    038E 8020      LDD	R2,Z+0
    038F 8031      LDD	R3,Z+1
    0390 8042      LDD	R4,Z+2
    0391 8053      LDD	R5,Z+3
    0392 925A      ST	R5,-Y
    0393 924A      ST	R4,-Y
    0394 923A      ST	R3,-Y
    0395 922A      ST	R2,-Y
    0396 940E0844  CALL	empy32fs

⌨️ 快捷键说明

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