📄 fft1.lst
字号:
0207 8053 LDD R5,Z+3
0208 925A ST R5,-Y
0209 924A ST R4,-Y
020A 923A ST R3,-Y
020B 922A ST R2,-Y
020C 940E0869 CALL add32fs
020E ADEC LDD R30,Y+60
020F ADFD LDD R31,Y+61
0210 8024 LDD R2,Z+4
0211 8035 LDD R3,Z+5
0212 8046 LDD R4,Z+6
0213 8057 LDD R5,Z+7
0214 925A ST R5,-Y
0215 924A ST R4,-Y
0216 923A ST R3,-Y
0217 922A ST R2,-Y
0218 01DE MOVW R26,R28
0219 5BAE SUBI R26,0xBE
021A 4FBF SBCI R27,0xFF
021B 91ED LD R30,X+
021C 91FC LD R31,0(X)
021D 8024 LDD R2,Z+4
021E 8035 LDD R3,Z+5
021F 8046 LDD R4,Z+6
0220 8057 LDD R5,Z+7
0221 925A ST R5,-Y
0222 924A ST R4,-Y
0223 923A ST R3,-Y
0224 922A ST R2,-Y
0225 940E0869 CALL add32fs
0227 940E099B CALL empy32f
0229 01FE MOVW R30,R28
022A 8304 STD Z+4,R16
022B 8315 STD Z+5,R17
022C 8326 STD Z+6,R18
022D 8337 STD Z+7,R19
(0038) pr[i] = p - q;
022E 8D28 LDD R18,Y+24
022F 8D39 LDD R19,Y+25
0230 E004 LDI R16,4
0231 E010 LDI R17,0
0232 940E0764 CALL empy16s
0234 01F8 MOVW R30,R16
0235 AC08 LDD R0,Y+56
0236 AC19 LDD R1,Y+57
0237 0DE0 ADD R30,R0
0238 1DF1 ADC R31,R1
0239 01DE MOVW R26,R28
023A 9618 ADIW R26,0x8
023B 902D LD R2,X+
023C 903D LD R3,X+
023D 904D LD R4,X+
023E 905C LD R5,0(X)
023F 925A ST R5,-Y
0240 924A ST R4,-Y
0241 923A ST R3,-Y
0242 922A ST R2,-Y
0243 01DE MOVW R26,R28
0244 9650 ADIW R26,0x10
0245 902D LD R2,X+
0246 903D LD R3,X+
0247 904D LD R4,X+
0248 905C LD R5,0(X)
0249 925A ST R5,-Y
024A 924A ST R4,-Y
024B 923A ST R3,-Y
024C 922A ST R2,-Y
024D 940E0874 CALL sub32f
024F 8300 STD Z+0,R16
0250 8311 STD Z+1,R17
0251 8322 STD Z+2,R18
0252 8333 STD Z+3,R19
(0039) pi[i] = s - p - q;
0253 01FE MOVW R30,R28
0254 8024 LDD R2,Z+4
0255 8035 LDD R3,Z+5
0256 8046 LDD R4,Z+6
0257 8057 LDD R5,Z+7
0258 925A ST R5,-Y
0259 924A ST R4,-Y
025A 923A ST R3,-Y
025B 922A ST R2,-Y
025C 01FE MOVW R30,R28
025D 8424 LDD R2,Z+12
025E 8435 LDD R3,Z+13
025F 8446 LDD R4,Z+14
0260 8457 LDD R5,Z+15
0261 925A ST R5,-Y
0262 924A ST R4,-Y
0263 923A ST R3,-Y
0264 922A ST R2,-Y
0265 940E0871 CALL sub32fs
0267 01FE MOVW R30,R28
0268 8820 LDD R2,Z+16
0269 8831 LDD R3,Z+17
026A 8842 LDD R4,Z+18
026B 8853 LDD R5,Z+19
026C 925A ST R5,-Y
026D 924A ST R4,-Y
026E 923A ST R3,-Y
026F 922A ST R2,-Y
0270 940E0874 CALL sub32f
0272 8D28 LDD R18,Y+24
0273 8D39 LDD R19,Y+25
0274 E004 LDI R16,4
0275 E010 LDI R17,0
0276 940E0764 CALL empy16s
0278 01F8 MOVW R30,R16
0279 AC0A LDD R0,Y+58
027A AC1B LDD R1,Y+59
027B 0DE0 ADD R30,R0
027C 1DF1 ADC R31,R1
027D 8300 STD Z+0,R16
027E 8311 STD Z+1,R17
027F 8322 STD Z+2,R18
0280 8333 STD Z+3,R19
0281 8D88 LDD R24,Y+24
0282 8D99 LDD R25,Y+25
0283 9601 ADIW R24,1
0284 8F99 STD Y+25,R25
0285 8F88 STD Y+24,R24
0286 AD8C LDD R24,Y+60
0287 AD9D LDD R25,Y+61
0288 9701 SBIW R24,1
0289 8C28 LDD R2,Y+24
028A 8C39 LDD R3,Y+25
028B 1582 CP R24,R2
028C 0593 CPC R25,R3
028D F00C BLT 0x028F
028E CF13 RJMP 0x01A2
(0040) }
(0041) for(it = 0;it <= n - 2;it = it + 2)
028F 2744 CLR R20
0290 2755 CLR R21
0291 C0AC RJMP 0x033E
(0042) {
(0043) vr = fr[it];
0292 E004 LDI R16,4
0293 E010 LDI R17,0
0294 019A MOVW R18,R20
0295 940E0764 CALL empy16s
0297 01F8 MOVW R30,R16
0298 0DEE ADD R30,R14
0299 1DFF ADC R31,R15
029A 8020 LDD R2,Z+0
029B 8031 LDD R3,Z+1
029C 8042 LDD R4,Z+2
029D 8053 LDD R5,Z+3
029E 01FE MOVW R30,R28
029F 8E24 STD Z+28,R2
02A0 8E35 STD Z+29,R3
02A1 8E46 STD Z+30,R4
02A2 8E57 STD Z+31,R5
(0044) vi = fi[it];
02A3 E004 LDI R16,4
02A4 E010 LDI R17,0
02A5 019A MOVW R18,R20
02A6 940E0764 CALL empy16s
02A8 01F8 MOVW R30,R16
02A9 0DEC ADD R30,R12
02AA 1DFD ADC R31,R13
02AB 8020 LDD R2,Z+0
02AC 8031 LDD R3,Z+1
02AD 8042 LDD R4,Z+2
02AE 8053 LDD R5,Z+3
02AF 01FE MOVW R30,R28
02B0 A220 STD Z+32,R2
02B1 A231 STD Z+33,R3
02B2 A242 STD Z+34,R4
02B3 A253 STD Z+35,R5
(0045) fr[it] = vr + fr[it + 1];
02B4 E004 LDI R16,4
02B5 E010 LDI R17,0
02B6 019A MOVW R18,R20
02B7 940E0764 CALL empy16s
02B9 0118 MOVW R2,R16
02BA 0C2E ADD R2,R14
02BB 1C3F ADC R3,R15
02BC 01FE MOVW R30,R28
02BD 8C44 LDD R4,Z+28
02BE 8C55 LDD R5,Z+29
02BF 8C66 LDD R6,Z+30
02C0 8C77 LDD R7,Z+31
02C1 927A ST R7,-Y
02C2 926A ST R6,-Y
02C3 925A ST R5,-Y
02C4 924A ST R4,-Y
02C5 01F1 MOVW R30,R2
02C6 8044 LDD R4,Z+4
02C7 8055 LDD R5,Z+5
02C8 8066 LDD R6,Z+6
02C9 8077 LDD R7,Z+7
02CA 927A ST R7,-Y
02CB 926A ST R6,-Y
02CC 925A ST R5,-Y
02CD 924A ST R4,-Y
02CE 940E086C CALL add32f
02D0 01F1 MOVW R30,R2
02D1 8300 STD Z+0,R16
02D2 8311 STD Z+1,R17
02D3 8322 STD Z+2,R18
02D4 8333 STD Z+3,R19
(0046) fi[it] = vi + fi[it + 1];
02D5 E004 LDI R16,4
02D6 E010 LDI R17,0
02D7 019A MOVW R18,R20
02D8 940E0764 CALL empy16s
02DA 0118 MOVW R2,R16
02DB 0C2C ADD R2,R12
02DC 1C3D ADC R3,R13
02DD 01FE MOVW R30,R28
02DE A040 LDD R4,Z+32
02DF A051 LDD R5,Z+33
02E0 A062 LDD R6,Z+34
02E1 A073 LDD R7,Z+35
02E2 927A ST R7,-Y
02E3 926A ST R6,-Y
02E4 925A ST R5,-Y
02E5 924A ST R4,-Y
02E6 01F1 MOVW R30,R2
02E7 8044 LDD R4,Z+4
02E8 8055 LDD R5,Z+5
02E9 8066 LDD R6,Z+6
02EA 8077 LDD R7,Z+7
02EB 927A ST R7,-Y
02EC 926A ST R6,-Y
02ED 925A ST R5,-Y
02EE 924A ST R4,-Y
02EF 940E086C CALL add32f
02F1 01F1 MOVW R30,R2
02F2 8300 STD Z+0,R16
02F3 8311 STD Z+1,R17
02F4 8322 STD Z+2,R18
02F5 8333 STD Z+3,R19
(0047) fr[it + 1] = vr - fr[it + 1];
02F6 E004 LDI R16,4
02F7 E010 LDI R17,0
02F8 019A MOVW R18,R20
02F9 940E0764 CALL empy16s
02FB 01C8 MOVW R24,R16
02FC 0D8E ADD R24,R14
02FD 1D9F ADC R25,R15
02FE 9604 ADIW R24,4
02FF 011C MOVW R2,R24
0300 01FE MOVW R30,R28
0301 8C44 LDD R4,Z+28
0302 8C55 LDD R5,Z+29
0303 8C66 LDD R6,Z+30
0304 8C77 LDD R7,Z+31
0305 927A ST R7,-Y
0306 926A ST R6,-Y
0307 925A ST R5,-Y
0308 924A ST R4,-Y
0309 01FC MOVW R30,R24
030A 8040 LDD R4,Z+0
030B 8051 LDD R5,Z+1
030C 8062 LDD R6,Z+2
030D 8073 LDD R7,Z+3
030E 927A ST R7,-Y
030F 926A ST R6,-Y
0310 925A ST R5,-Y
0311 924A ST R4,-Y
0312 940E0874 CALL sub32f
0314 01F1 MOVW R30,R2
0315 8300 STD Z+0,R16
0316 8311 STD Z+1,R17
0317 8322 STD Z+2,R18
0318 8333 STD Z+3,R19
(0048) fi[it + 1] = vi - fi[it + 1];
0319 E004 LDI R16,4
031A E010 LDI R17,0
031B 019A MOVW R18,R20
031C 940E0764 CALL empy16s
031E 01C8 MOVW R24,R16
031F 0D8C ADD R24,R12
0320 1D9D ADC R25,R13
0321 9604 ADIW R24,4
0322 011C MOVW R2,R24
0323 01FE MOVW R30,R28
0324 A040 LDD R4,Z+32
0325 A051 LDD R5,Z+33
0326 A062 LDD R6,Z+34
0327 A073 LDD R7,Z+35
0328 927A ST R7,-Y
0329 926A ST R6,-Y
032A 925A ST R5,-Y
032B 924A ST R4,-Y
032C 01FC MOVW R30,R24
032D 8040 LDD R4,Z+0
032E 8051 LDD R5,Z+1
032F 8062 LDD R6,Z+2
0330 8073 LDD R7,Z+3
0331 927A ST R7,-Y
0332 926A ST R6,-Y
0333 925A ST R5,-Y
0334 924A ST R4,-Y
0335 940E0874 CALL sub32f
0337 01F1 MOVW R30,R2
0338 8300 STD Z+0,R16
0339 8311 STD Z+1,R17
033A 8322 STD Z+2,R18
033B 8333 STD Z+3,R19
033C 5F4E SUBI R20,0xFE
033D 4F5F SBCI R21,0xFF
033E AD8C LDD R24,Y+60
033F AD9D LDD R25,Y+61
0340 9702 SBIW R24,2
0341 1784 CP R24,R20
0342 0795 CPC R25,R21
0343 F00C BLT 0x0345
0344 CF4D RJMP 0x0292
(0049) }
(0050) m = n / 2;
0345 E022 LDI R18,2
0346 E030 LDI R19,0
0347 AD0C LDD R16,Y+60
0348 AD1D LDD R17,Y+61
0349 940E072E CALL div16s
034B 831B STD Y+3,R17
034C 830A STD Y+2,R16
(0051) nv = 2;
034D E082 LDI R24,2
034E E090 LDI R25,0
034F 8399 STD Y+1,R25
0350 8388 STD Y+0,R24
(0052) for(l0 = k - 2;l0 >= 0;l0 --)
0351 AD8E LDD R24,Y+62
0352 AD9F LDD R25,Y+63
0353 9702 SBIW R24,2
0354 A39D STD Y+37,R25
0355 A38C STD Y+36,R24
0356 C1F6 RJMP 0x054D
(0053) {
(0054) m = m / 2;
0357 E022 LDI R18,2
0358 E030 LDI R19,0
0359 810A LDD R16,Y+2
035A 811B LDD R17,Y+3
035B 940E072E CALL div16s
035D 831B STD Y+3,R17
035E 830A STD Y+2,R16
(0055) nv = 2 * nv;
035F 8128 LDD R18,Y+0
0360 8139 LDD R19,Y+1
0361 E002 LDI R16,2
0362 E010 LDI R17,0
0363 940E0764 CALL empy16s
0365 8319 STD Y+1,R17
0366 8308 STD Y+0,R16
(0056) for(it = 0;it <= (m - 1) * nv;it = it + nv)
0367 2744 CLR R20
0368 2755 CLR R21
0369 C1D2 RJMP 0x053C
(0057) for(j = 0;j <= (nv / 2) - 1;j ++)
036A 24AA CLR R10
036B 24BB CLR R11
036C C1BF RJMP 0x052C
(0058) {
(0059) p = pr[m * j] * fr[it + j + nv / 2];
036D 810A LDD R16,Y+2
036E 811B LDD R17,Y+3
036F 0195 MOVW R18,R10
0370 940E0764 CALL empy16s
0372 0198 MOVW R18,R16
0373 E004 LDI R16,4
0374 E010 LDI R17,0
0375 940E0764 CALL empy16s
0377 01F8 MOVW R30,R16
0378 AC08 LDD R0,Y+56
0379 AC19 LDD R1,Y+57
037A 0DE0 ADD R30,R0
037B 1DF1 ADC R31,R1
037C 8020 LDD R2,Z+0
037D 8031 LDD R3,Z+1
037E 8042 LDD R4,Z+2
037F 8053 LDD R5,Z+3
0380 925A ST R5,-Y
0381 924A ST R4,-Y
0382 923A ST R3,-Y
0383 922A ST R2,-Y
0384 E022 LDI R18,2
0385 E030 LDI R19,0
0386 810C LDD R16,Y+4
0387 811D LDD R17,Y+5
0388 940E072E CALL div16s
038A 019A MOVW R18,R20
038B 0D2A ADD R18,R10
038C 1D3B ADC R19,R11
038D 0F20 ADD R18,R16
038E 1F31 ADC R19,R17
038F E004 LDI R16,4
0390 E010 LDI R17,0
0391 940E0764 CALL empy16s
0393 01F8 MOVW R30,R16
0394 0DEE ADD R30,R14
0395 1DFF ADC R31,R15
0396 8020 LDD R2,Z+0
0397 8031 LDD R3,Z+1
0398 8042 LDD R4,Z+2
0399 8053 LDD R5,Z+3
039A 925A ST R5,-Y
039B 924A ST R4,-Y
039C 923A ST R3,-Y
039D 922A ST R2,-Y
039E 940E099B CALL empy32f
03A0 01FE MOVW R30,R28
03A1 8700 STD Z+8,R16
03A2 8711 STD Z+9,R17
03A3 8722 STD Z+10,R18
03A4 8733 STD Z+11,R19
(0060) q = pi[m * j] * fi[it + j + nv / 2];
03A5 810A LDD R16,Y+2
03A6 811B LDD R17,Y+3
03A7 0195 MOVW R18,R10
03A8 940E0764 CALL empy16s
03AA 0198 MOVW R18,R16
03AB E004 LDI R16,4
03AC E010 LDI R17,0
03AD 940E0764 CALL empy16s
03AF 01F8 MOVW R30,R16
03B0 AC0A LDD R0,Y+58
03B1 AC1B LDD R1,Y+59
03B2 0DE0 ADD R30,R0
03B3 1DF1 ADC R31,R1
03B4 8020 LDD R2,Z+0
03B5 8031 LDD R3,Z+1
03B6 8042 LDD R4,Z+2
03B7 8053 LDD R5,Z+3
03B8 925A ST R5,-Y
03B9 924A ST R4,-Y
03BA 923A ST R3,-Y
03BB 922A ST R2,-Y
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -