📄 ff.lst
字号:
0211 935A ST R21,-Y
0212 934A ST R20,-Y
0213 925A ST R5,-Y
0214 924A ST R4,-Y
0215 923A ST R3,-Y
0216 922A ST R2,-Y
0217 940E06C4 CALL empy32fs
0219 940E0595 CALL add32fs
021B 0196 MOVW R18,R12
021C 8C0A LDD R0,Y+26
021D 8C1B LDD R1,Y+27
021E 0D20 ADD R18,R0
021F 1D31 ADC R19,R1
0220 E004 LDI R16,4
0221 E010 LDI R17,0
0222 940E0492 CALL empy16s
0224 01F8 MOVW R30,R16
0225 A40A LDD R0,Y+42
0226 A41B LDD R1,Y+43
0227 0DE0 ADD R30,R0
0228 1DF1 ADC R31,R1
0229 8020 LDD R2,Z+0
022A 8031 LDD R3,Z+1
022B 8042 LDD R4,Z+2
022C 8053 LDD R5,Z+3
022D 925A ST R5,-Y
022E 924A ST R4,-Y
022F 923A ST R3,-Y
0230 922A ST R2,-Y
0231 929A ST R9,-Y
0232 928A ST R8,-Y
0233 927A ST R7,-Y
0234 926A ST R6,-Y
0235 940E06C4 CALL empy32fs
0237 940E0598 CALL add32f
0239 01FC MOVW R30,R24
023A 8300 STD Z+0,R16
023B 8311 STD Z+1,R17
023C 8322 STD Z+2,R18
023D 8333 STD Z+3,R19
(0060) dataI[k]=dataI[k]-dataR[k+b]*sin(p)+dataI[k+b]*cos(p);
023E 0187 MOVW R16,R14
023F 940E053B CALL int2fp
0241 940E0A27 CALL _sin
0243 0118 MOVW R2,R16
0244 0129 MOVW R4,R18
0245 0187 MOVW R16,R14
0246 940E053B CALL int2fp
0248 922F PUSH R2
0249 923F PUSH R3
024A 924F PUSH R4
024B 925F PUSH R5
024C 940E076B CALL _cos
024E 905F POP R5
024F 904F POP R4
0250 903F POP R3
0251 902F POP R2
0252 0138 MOVW R6,R16
0253 0149 MOVW R8,R18
0254 E004 LDI R16,4
0255 E010 LDI R17,0
0256 0196 MOVW R18,R12
0257 940E0492 CALL empy16s
0259 01C8 MOVW R24,R16
025A A00E LDD R0,Y+38
025B A01F LDD R1,Y+39
025C 0D80 ADD R24,R0
025D 1D91 ADC R25,R1
025E 01FC MOVW R30,R24
025F 8140 LDD R20,Z+0
0260 8151 LDD R21,Z+1
0261 8162 LDD R22,Z+2
0262 8173 LDD R23,Z+3
0263 937A ST R23,-Y
0264 936A ST R22,-Y
0265 935A ST R21,-Y
0266 934A ST R20,-Y
0267 0196 MOVW R18,R12
0268 8C0A LDD R0,Y+26
0269 8C1B LDD R1,Y+27
026A 0D20 ADD R18,R0
026B 1D31 ADC R19,R1
026C E004 LDI R16,4
026D E010 LDI R17,0
026E 940E0492 CALL empy16s
0270 01F8 MOVW R30,R16
0271 A408 LDD R0,Y+40
0272 A419 LDD R1,Y+41
0273 0DE0 ADD R30,R0
0274 1DF1 ADC R31,R1
0275 8140 LDD R20,Z+0
0276 8151 LDD R21,Z+1
0277 8162 LDD R22,Z+2
0278 8173 LDD R23,Z+3
0279 937A ST R23,-Y
027A 936A ST R22,-Y
027B 935A ST R21,-Y
027C 934A ST R20,-Y
027D 925A ST R5,-Y
027E 924A ST R4,-Y
027F 923A ST R3,-Y
0280 922A ST R2,-Y
0281 940E06C4 CALL empy32fs
0283 940E059D CALL sub32fs
0285 0196 MOVW R18,R12
0286 8C0A LDD R0,Y+26
0287 8C1B LDD R1,Y+27
0288 0D20 ADD R18,R0
0289 1D31 ADC R19,R1
028A E004 LDI R16,4
028B E010 LDI R17,0
028C 940E0492 CALL empy16s
028E 01F8 MOVW R30,R16
028F A40A LDD R0,Y+42
0290 A41B LDD R1,Y+43
0291 0DE0 ADD R30,R0
0292 1DF1 ADC R31,R1
0293 8020 LDD R2,Z+0
0294 8031 LDD R3,Z+1
0295 8042 LDD R4,Z+2
0296 8053 LDD R5,Z+3
0297 925A ST R5,-Y
0298 924A ST R4,-Y
0299 923A ST R3,-Y
029A 922A ST R2,-Y
029B 929A ST R9,-Y
029C 928A ST R8,-Y
029D 927A ST R7,-Y
029E 926A ST R6,-Y
029F 940E06C4 CALL empy32fs
02A1 940E0598 CALL add32f
02A3 01FC MOVW R30,R24
02A4 8300 STD Z+0,R16
02A5 8311 STD Z+1,R17
02A6 8322 STD Z+2,R18
02A7 8333 STD Z+3,R19
(0061) dataR[k+b]=TR-dataR[k+b]*cos(p)-dataI[k+b]*sin(p);
02A8 0187 MOVW R16,R14
02A9 940E053B CALL int2fp
02AB 940E076B CALL _cos
02AD 0118 MOVW R2,R16
02AE 0129 MOVW R4,R18
02AF 0187 MOVW R16,R14
02B0 940E053B CALL int2fp
02B2 922F PUSH R2
02B3 923F PUSH R3
02B4 924F PUSH R4
02B5 925F PUSH R5
02B6 940E0A27 CALL _sin
02B8 905F POP R5
02B9 904F POP R4
02BA 903F POP R3
02BB 902F POP R2
02BC 0138 MOVW R6,R16
02BD 0149 MOVW R8,R18
02BE 0196 MOVW R18,R12
02BF 880E LDD R0,Y+22
02C0 881F LDD R1,Y+23
02C1 0D20 ADD R18,R0
02C2 1D31 ADC R19,R1
02C3 E004 LDI R16,4
02C4 E010 LDI R17,0
02C5 940E0492 CALL empy16s
02C7 01C8 MOVW R24,R16
02C8 A00C LDD R0,Y+36
02C9 A01D LDD R1,Y+37
02CA 0D80 ADD R24,R0
02CB 1D91 ADC R25,R1
02CC 01FE MOVW R30,R28
02CD 8140 LDD R20,Z+0
02CE 8151 LDD R21,Z+1
02CF 8162 LDD R22,Z+2
02D0 8173 LDD R23,Z+3
02D1 937A ST R23,-Y
02D2 936A ST R22,-Y
02D3 935A ST R21,-Y
02D4 934A ST R20,-Y
02D5 01FC MOVW R30,R24
02D6 8140 LDD R20,Z+0
02D7 8151 LDD R21,Z+1
02D8 8162 LDD R22,Z+2
02D9 8173 LDD R23,Z+3
02DA 937A ST R23,-Y
02DB 936A ST R22,-Y
02DC 935A ST R21,-Y
02DD 934A ST R20,-Y
02DE 925A ST R5,-Y
02DF 924A ST R4,-Y
02E0 923A ST R3,-Y
02E1 922A ST R2,-Y
02E2 940E06C4 CALL empy32fs
02E4 940E059D CALL sub32fs
02E6 0196 MOVW R18,R12
02E7 8C0A LDD R0,Y+26
02E8 8C1B LDD R1,Y+27
02E9 0D20 ADD R18,R0
02EA 1D31 ADC R19,R1
02EB E004 LDI R16,4
02EC E010 LDI R17,0
02ED 940E0492 CALL empy16s
02EF 01F8 MOVW R30,R16
02F0 A40A LDD R0,Y+42
02F1 A41B LDD R1,Y+43
02F2 0DE0 ADD R30,R0
02F3 1DF1 ADC R31,R1
02F4 8020 LDD R2,Z+0
02F5 8031 LDD R3,Z+1
02F6 8042 LDD R4,Z+2
02F7 8053 LDD R5,Z+3
02F8 925A ST R5,-Y
02F9 924A ST R4,-Y
02FA 923A ST R3,-Y
02FB 922A ST R2,-Y
02FC 929A ST R9,-Y
02FD 928A ST R8,-Y
02FE 927A ST R7,-Y
02FF 926A ST R6,-Y
0300 940E06C4 CALL empy32fs
0302 940E05A0 CALL sub32f
0304 01FC MOVW R30,R24
0305 8300 STD Z+0,R16
0306 8311 STD Z+1,R17
0307 8322 STD Z+2,R18
0308 8333 STD Z+3,R19
(0062) dataI[k+b]=TI+temp*sin(p)-dataI[k+b]*cos(p);
0309 0187 MOVW R16,R14
030A 940E053B CALL int2fp
030C 940E0A27 CALL _sin
030E 0118 MOVW R2,R16
030F 0129 MOVW R4,R18
0310 0187 MOVW R16,R14
0311 940E053B CALL int2fp
0313 922F PUSH R2
0314 923F PUSH R3
0315 924F PUSH R4
0316 925F PUSH R5
0317 940E076B CALL _cos
0319 905F POP R5
031A 904F POP R4
031B 903F POP R3
031C 902F POP R2
031D 0138 MOVW R6,R16
031E 0149 MOVW R8,R18
031F 01FE MOVW R30,R28
0320 8144 LDD R20,Z+4
0321 8155 LDD R21,Z+5
0322 8166 LDD R22,Z+6
0323 8177 LDD R23,Z+7
0324 937A ST R23,-Y
0325 936A ST R22,-Y
0326 935A ST R21,-Y
0327 934A ST R20,-Y
0328 01FE MOVW R30,R28
0329 8544 LDD R20,Z+12
032A 8555 LDD R21,Z+13
032B 8566 LDD R22,Z+14
032C 8577 LDD R23,Z+15
032D 937A ST R23,-Y
032E 936A ST R22,-Y
032F 935A ST R21,-Y
0330 934A ST R20,-Y
0331 925A ST R5,-Y
0332 924A ST R4,-Y
0333 923A ST R3,-Y
0334 922A ST R2,-Y
0335 940E06C4 CALL empy32fs
0337 940E0595 CALL add32fs
0339 0196 MOVW R18,R12
033A 8C0A LDD R0,Y+26
033B 8C1B LDD R1,Y+27
033C 0D20 ADD R18,R0
033D 1D31 ADC R19,R1
033E E004 LDI R16,4
033F E010 LDI R17,0
0340 940E0492 CALL empy16s
0342 01F8 MOVW R30,R16
0343 A40A LDD R0,Y+42
0344 A41B LDD R1,Y+43
0345 0DE0 ADD R30,R0
0346 1DF1 ADC R31,R1
0347 8020 LDD R2,Z+0
0348 8031 LDD R3,Z+1
0349 8042 LDD R4,Z+2
034A 8053 LDD R5,Z+3
034B 925A ST R5,-Y
034C 924A ST R4,-Y
034D 923A ST R3,-Y
034E 922A ST R2,-Y
034F 929A ST R9,-Y
0350 928A ST R8,-Y
0351 927A ST R7,-Y
0352 926A ST R6,-Y
0353 940E06C4 CALL empy32fs
0355 940E05A0 CALL sub32f
0357 0196 MOVW R18,R12
0358 880E LDD R0,Y+22
0359 881F LDD R1,Y+23
035A 0D20 ADD R18,R0
035B 1D31 ADC R19,R1
035C E004 LDI R16,4
035D E010 LDI R17,0
035E 940E0492 CALL empy16s
0360 01F8 MOVW R30,R16
0361 A00E LDD R0,Y+38
0362 A01F LDD R1,Y+39
0363 0DE0 ADD R30,R0
0364 1DF1 ADC R31,R1
0365 8300 STD Z+0,R16
0366 8311 STD Z+1,R17
0367 8322 STD Z+2,R18
0368 8333 STD Z+3,R19
0369 E002 LDI R16,2
036A E010 LDI R17,0
036B 892E LDD R18,Y+22
036C 893F LDD R19,Y+23
036D 940E0492 CALL empy16s
036F 0EC0 ADD R12,R16
0370 1ED1 ADC R13,R17
0371 01C6 MOVW R24,R12
0372 3088 CPI R24,0x8
0373 E0E0 LDI R30,0
0374 079E CPC R25,R30
0375 F40C BGE 0x0377
0376 CE02 RJMP 0x0179
0377 01C5 MOVW R24,R10
0378 9601 ADIW R24,1
0379 015C MOVW R10,R24
037A 898E LDD R24,Y+22
037B 899F LDD R25,Y+23
037C 9701 SBIW R24,1
037D 158A CP R24,R10
037E 059B CPC R25,R11
037F F00C BLT 0x0381
0380 CDD6 RJMP 0x0157
0381 8D88 LDD R24,Y+24
0382 8D99 LDD R25,Y+25
0383 9601 ADIW R24,1
0384 8F99 STD Y+25,R25
0385 8F88 STD Y+24,R24
0386 E083 LDI R24,3
0387 E090 LDI R25,0
0388 8C08 LDD R0,Y+24
0389 8C19 LDD R1,Y+25
038A 1580 CP R24,R0
038B 0591 CPC R25,R1
038C F00C BLT 0x038E
038D CDAA RJMP 0x0138
(0063)
(0064)
(0065) /*dataR [ k ] = dataR [ k ] + dataR [ k + b ] * cos_tab [ p ] + dataI [ k + b ] * sin_tab [ p ] ;
(0066) dataI [ k ] = dataI [ k ] - dataR [ k + b ] * sin_tab [ p ] + dataI [ k + b ] * cos_tab [ p ] ;
(0067) dataR [ k + b ] = TR - dataR [ k + b ] * cos_tab [ p ] - dataI [ k + b ] * sin_tab [ p ] ;
(0068) dataI [ k + b ] = TI + temp * sin_tab [ p ] - dataI [ k + b ] * cos_tab [ p ] ;*/
(0069) } /* END for (3) */
(0070)
(0071) } /* END for (2) */
(0072)
(0073) } /* END for (1) */
(0074)
(0075) for ( i = 0 ; i < 32 ; i ++ )
038E 2422 CLR R2
038F 922000C0 STS i,R2
0391 C093 RJMP 0x0425
(0076) { /* 只需要32次以下的谐波进行分析 */
(0077) w [ i ] = sqrt ( dataR [ i ] * dataR [ i ] + dataI [ i ] * dataI [ i ] ) ;
0392 902000C0 LDS R2,i
0394 E084 LDI R24,4
0395 9D82 MUL R24,R2
0396 0110 MOVW R2,R0
0397 01F1 MOVW R30,R2
0398 A00C LDD R0,Y+36
0399 A01D LDD R1,Y+37
039A 0DE0 ADD R30,R0
039B 1DF1 ADC R31,R1
039C 8040 LDD R4,Z+0
039D 8051 LDD R5,Z+1
039E 8062 LDD R6,Z+2
039F 8073 LDD R7,Z+3
03A0 01FE MOVW R30,R28
03A1 8646 STD Z+14,R4
03A2 8657 STD Z+15,R5
03A3 8A60 STD Z+16,R6
03A4 8A71 STD Z+17,R7
03A5 01F1 MOVW R30,R2
03A6 A00E LDD R0,Y+38
03A7 A01F LDD R1,Y+39
03A8 0DE0 ADD R30,R0
03A9 1DF1 ADC R31,R1
03AA 8020 LDD R2,Z+0
03AB 8031 LDD R3,Z+1
03AC 8042 LDD R4,Z+2
03AD 8053 LDD R5,Z+3
03AE 01FE MOVW R30,R28
03AF 8A22 STD Z+18,R2
03B0 8A33 STD Z+19,R3
03B1 8A44 STD Z+20,R4
03B2 8A55 STD Z+21,R5
03B3 01FE MOVW R30,R28
03B4 8426 LDD R2,Z+14
03B5 8437 LDD R3,Z+15
03B6 8840 LDD R4,Z+16
03B7 8851 LDD R5,Z+17
03B8 925A ST R5,-Y
03B9 924A ST R4,-Y
03BA 923A ST R3,-Y
03BB 922A ST R2,-Y
03BC 01FE MOVW R30,R28
03BD 8822 LDD R2,Z+18
03BE 8833 LDD R3,Z+19
03BF 8844 LDD R4,Z+20
03C0 8855 LDD R5,Z+21
03C1 925A ST R5,-Y
03C2 924A ST R4,-Y
03C3 923A ST R3,-Y
03C4 922A ST R2,-Y
03C5 940E06C4 CALL empy32fs
03C7 01FE MOVW R30,R28
03C8 8826 LDD R2,Z+22
03C9 8837 LDD R3,Z+23
03CA 8C40 LDD R4,Z+24
03CB 8C51 LDD R5,Z+25
03CC 925A ST R5,-Y
03CD 924A ST R4,-Y
03CE 923A ST R3,-Y
03CF 922A ST R2,-Y
03D0 01FE MOVW R30,R28
03D1 8C22 LDD R2,Z+26
03D2 8C33 LDD R3,Z+27
03D3 8C44 LDD R4,Z+28
03D4 8C55 LDD R5,Z+29
03D5 925A ST R5,-Y
03D6 924A ST R4,-Y
03D7 923A ST R3,-Y
03D8 922A ST R2,-Y
03D9 940E06C4 CALL empy32fs
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -