📄 atp.lst
字号:
01E5 8820 LDD R2,Z+16
01E6 8831 LDD R3,Z+17
01E7 8842 LDD R4,Z+18
01E8 8853 LDD R5,Z+19
01E9 1542 CP R20,R2
01EA 0553 CPC R21,R3
01EB 0564 CPC R22,R4
01EC 0575 CPC R23,R5
01ED F408 BCC 0x01EF
01EE C02A RJMP 0x0219
(0060)
(0061) HEX2BCD(ulFX,ucFX);
01EF 01CE MOVW R24,R28
01F0 9602 ADIW R24,2
01F1 8399 STD Y+1,R25
01F2 8388 STD Y+0,R24
01F3 01FE MOVW R30,R28
01F4 8504 LDD R16,Z+12
01F5 8515 LDD R17,Z+13
01F6 8526 LDD R18,Z+14
01F7 8537 LDD R19,Z+15
01F8 DEA0 RCALL _HEX2BCD
(0062) HEX2BCD(ulFY,ucFY);
01F9 01CE MOVW R24,R28
01FA 9605 ADIW R24,5
01FB 8399 STD Y+1,R25
01FC 8388 STD Y+0,R24
01FD 01FE MOVW R30,R28
01FE 8900 LDD R16,Z+16
01FF 8911 LDD R17,Z+17
0200 8922 LDD R18,Z+18
0201 8933 LDD R19,Z+19
0202 DE96 RCALL _HEX2BCD
(0063)
(0064)
(0065)
(0066)
(0067)
(0068) DISABLEXOUT;
0203 981F CBI 0x03,7
(0069) DISABLEYOUT;
0204 981E CBI 0x03,6
(0070)
(0071) SPISend(ucFX[0]);
0205 810A LDD R16,Y+2
0206 940E0F58 CALL _SPISend
(0072) SPISend(ucFX[1]);
0208 810B LDD R16,Y+3
0209 940E0F58 CALL _SPISend
(0073) SPISend(ucFX[2]);
020B 810C LDD R16,Y+4
020C 940E0F58 CALL _SPISend
(0074) SPISend(ucFY[0]);
020E 810D LDD R16,Y+5
020F 940E0F58 CALL _SPISend
(0075) SPISend(ucFY[1]);
0211 810E LDD R16,Y+6
0212 940E0F58 CALL _SPISend
(0076) SPISend(ucFY[2]);
0214 810F LDD R16,Y+7
0215 940E0F58 CALL _SPISend
(0077)
(0078) ENABLEXOUT;
0217 9A1F SBI 0x03,7
(0079) ENABLEYOUT;
0218 9A1E SBI 0x03,6
0219 9628 ADIW R28,0x8
021A 940E1389 CALL pop_gset2
021C 9624 ADIW R28,4
021D 9508 RET
(0080) }
(0081)
(0082)
(0083) void OutputFrequency1(void)
(0084) {
(0085)
(0086) DISABLEXOUT;
_OutputFrequency1:
021E 981F CBI 0x03,7
(0087) DISABLEYOUT;
021F 981E CBI 0x03,6
(0088)
(0089) SPISend(0x06);
0220 E006 LDI R16,6
0221 940E0F58 CALL _SPISend
(0090) SPISend(0x10);
0223 E100 LDI R16,0x10
0224 940E0F58 CALL _SPISend
(0091) SPISend(0);
0226 2700 CLR R16
0227 940E0F58 CALL _SPISend
(0092) SPISend(0);
0229 2700 CLR R16
022A 940E0F58 CALL _SPISend
(0093) SPISend(0);
022C 2700 CLR R16
022D 940E0F58 CALL _SPISend
(0094) SPISend(0);
022F 2700 CLR R16
0230 940E0F58 CALL _SPISend
(0095)
(0096) ENABLEXOUT;
0232 9A1F SBI 0x03,7
(0097) ENABLEYOUT;
0233 9A1E SBI 0x03,6
0234 9508 RET
(0098) }
(0099)
(0100) void OutputFrequency2(void)
(0101) {
(0102)
(0103) DISABLEXOUT;
_OutputFrequency2:
0235 981F CBI 0x03,7
(0104) DISABLEYOUT;
0236 981E CBI 0x03,6
(0105)
(0106) SPISend(0x07);
0237 E007 LDI R16,7
0238 940E0F58 CALL _SPISend
(0107) SPISend(0x00);
023A 2700 CLR R16
023B 940E0F58 CALL _SPISend
(0108) SPISend(0x00);
023D 2700 CLR R16
023E 940E0F58 CALL _SPISend
(0109) SPISend(0);
0240 2700 CLR R16
0241 940E0F58 CALL _SPISend
(0110) SPISend(0);
0243 2700 CLR R16
0244 940E0F58 CALL _SPISend
(0111) SPISend(0);
0246 2700 CLR R16
0247 940E0F58 CALL _SPISend
(0112)
(0113) ENABLEXOUT;
0249 9A1F SBI 0x03,7
(0114) ENABLEYOUT;
024A 9A1E SBI 0x03,6
024B 9508 RET
_OutputFrequency3:
ucFX --> R20
024C 940E139D CALL push_gset1
024E 2F40 MOV R20,R16
(0115) }
(0116)
(0117)
(0118)
(0119)
(0120)
(0121) void OutputFrequency3(u8 ucFX)
(0122) {
(0123) DISABLEXOUT;
024F 981F CBI 0x03,7
(0124) DISABLEYOUT;
0250 981E CBI 0x03,6
(0125)
(0126) SPISend(0x06);
0251 E006 LDI R16,6
0252 940E0F58 CALL _SPISend
(0127) SPISend(ucFX);
0254 2F04 MOV R16,R20
0255 940E0F58 CALL _SPISend
(0128) SPISend(0);
0257 2700 CLR R16
0258 940E0F58 CALL _SPISend
(0129) SPISend(0);
025A 2700 CLR R16
025B 940E0F58 CALL _SPISend
(0130) SPISend(0);
025D 2700 CLR R16
025E 940E0F58 CALL _SPISend
(0131) SPISend(0);
0260 2700 CLR R16
0261 940E0F58 CALL _SPISend
(0132)
(0133) ENABLEXOUT;
0263 9A1F SBI 0x03,7
(0134) ENABLEYOUT;
0264 9A1E SBI 0x03,6
0265 940E13A0 CALL pop_gset1
0267 9508 RET
_ulGetFrequency:
ulNextF --> Y+8
dNowF --> Y+4
dNextF --> Y+0
dNowRad2 --> Y+28
ulNowF --> Y+24
0268 940E12CB CALL push_arg4
026A 940E139B CALL push_gset2
026C 9764 SBIW R28,0x14
(0135) }
(0136)
(0137)
(0138) u32 ulGetFrequency(u32 ulNowF,double dNowRad2)
(0139) {
(0140) double dNowF,dNextF;
(0141) u32 ulNextF;
(0142)
(0143) dNowF=((double)ulNowF)/(double)1000000;
026D EB04 LDI R16,0xB4
026E E010 LDI R17,0
026F 940E13E2 CALL lpm32
0271 933A ST R19,-Y
0272 932A ST R18,-Y
0273 931A ST R17,-Y
0274 930A ST R16,-Y
0275 01FE MOVW R30,R28
0276 8C24 LDD R2,Z+28
0277 8C35 LDD R3,Z+29
0278 8C46 LDD R4,Z+30
0279 8C57 LDD R5,Z+31
027A 9456 LSR R5
027B 9447 ROR R4
027C 9437 ROR R3
027D 9427 ROR R2
027E 0181 MOVW R16,R2
027F 0192 MOVW R18,R4
0280 940E1450 CALL long2fp
0282 933A ST R19,-Y
0283 932A ST R18,-Y
0284 931A ST R17,-Y
0285 930A ST R16,-Y
0286 940E1593 CALL empy32fs
0288 E041 LDI R20,1
0289 E050 LDI R21,0
028A E060 LDI R22,0
028B E070 LDI R23,0
028C 01FE MOVW R30,R28
028D 8C24 LDD R2,Z+28
028E 8C35 LDD R3,Z+29
028F 8C46 LDD R4,Z+30
0290 8C57 LDD R5,Z+31
0291 2224 AND R2,R20
0292 2235 AND R3,R21
0293 2246 AND R4,R22
0294 2257 AND R5,R23
0295 0181 MOVW R16,R2
0296 0192 MOVW R18,R4
0297 940E1450 CALL long2fp
0299 933A ST R19,-Y
029A 932A ST R18,-Y
029B 931A ST R17,-Y
029C 930A ST R16,-Y
029D 940E14A4 CALL add32fs
029F EB00 LDI R16,0xB0
02A0 E010 LDI R17,0
02A1 940E13E2 CALL lpm32
02A3 933A ST R19,-Y
02A4 932A ST R18,-Y
02A5 931A ST R17,-Y
02A6 930A ST R16,-Y
02A7 940E1508 CALL div32f
02A9 01FE MOVW R30,R28
02AA 8304 STD Z+4,R16
02AB 8315 STD Z+5,R17
02AC 8326 STD Z+6,R18
02AD 8337 STD Z+7,R19
(0144)
(0145) dNextF=-1-xishuA*dNowF-xishuB*dNowRad2;
02AE EA0C LDI R16,0xAC
02AF E010 LDI R17,0
02B0 940E13E2 CALL lpm32
02B2 933A ST R19,-Y
02B3 932A ST R18,-Y
02B4 931A ST R17,-Y
02B5 930A ST R16,-Y
02B6 EA08 LDI R16,0xA8
02B7 E010 LDI R17,0
02B8 940E13E2 CALL lpm32
02BA 933A ST R19,-Y
02BB 932A ST R18,-Y
02BC 931A ST R17,-Y
02BD 930A ST R16,-Y
02BE 01FE MOVW R30,R28
02BF 8424 LDD R2,Z+12
02C0 8435 LDD R3,Z+13
02C1 8446 LDD R4,Z+14
02C2 8457 LDD R5,Z+15
02C3 925A ST R5,-Y
02C4 924A ST R4,-Y
02C5 923A ST R3,-Y
02C6 922A ST R2,-Y
02C7 940E1593 CALL empy32fs
02C9 940E14AC CALL sub32fs
02CB EA04 LDI R16,0xA4
02CC E010 LDI R17,0
02CD 940E13E2 CALL lpm32
02CF 933A ST R19,-Y
02D0 932A ST R18,-Y
02D1 931A ST R17,-Y
02D2 930A ST R16,-Y
02D3 01FE MOVW R30,R28
02D4 A024 LDD R2,Z+36
02D5 A035 LDD R3,Z+37
02D6 A046 LDD R4,Z+38
02D7 A057 LDD R5,Z+39
02D8 925A ST R5,-Y
02D9 924A ST R4,-Y
02DA 923A ST R3,-Y
02DB 922A ST R2,-Y
02DC 940E1593 CALL empy32fs
02DE 940E14AF CALL sub32f
02E0 01FE MOVW R30,R28
02E1 8300 STD Z+0,R16
02E2 8311 STD Z+1,R17
02E3 8322 STD Z+2,R18
02E4 8333 STD Z+3,R19
(0146) dNextF=dNextF/xishuC;
02E5 01FE MOVW R30,R28
02E6 8020 LDD R2,Z+0
02E7 8031 LDD R3,Z+1
02E8 8042 LDD R4,Z+2
02E9 8053 LDD R5,Z+3
02EA 925A ST R5,-Y
02EB 924A ST R4,-Y
02EC 923A ST R3,-Y
02ED 922A ST R2,-Y
02EE EA00 LDI R16,0xA0
02EF E010 LDI R17,0
02F0 940E13E2 CALL lpm32
02F2 933A ST R19,-Y
02F3 932A ST R18,-Y
02F4 931A ST R17,-Y
02F5 930A ST R16,-Y
02F6 940E1508 CALL div32f
02F8 01FE MOVW R30,R28
02F9 8300 STD Z+0,R16
02FA 8311 STD Z+1,R17
02FB 8322 STD Z+2,R18
02FC 8333 STD Z+3,R19
(0147)
(0148) ulNextF=dNextF*1000000;
02FD EB00 LDI R16,0xB0
02FE E010 LDI R17,0
02FF 940E13E2 CALL lpm32
0301 933A ST R19,-Y
0302 932A ST R18,-Y
0303 931A ST R17,-Y
0304 930A ST R16,-Y
0305 01FE MOVW R30,R28
0306 8024 LDD R2,Z+4
0307 8035 LDD R3,Z+5
0308 8046 LDD R4,Z+6
0309 8057 LDD R5,Z+7
030A 925A ST R5,-Y
030B 924A ST R4,-Y
030C 923A ST R3,-Y
030D 922A ST R2,-Y
030E 940E1596 CALL empy32f
0310 01FE MOVW R30,R28
0311 8B00 STD Z+16,R16
0312 8B11 STD Z+17,R17
0313 8B22 STD Z+18,R18
0314 8B33 STD Z+19,R19
0315 01FE MOVW R30,R28
0316 8820 LDD R2,Z+16
0317 8831 LDD R3,Z+17
0318 8842 LDD R4,Z+18
0319 8853 LDD R5,Z+19
031A 925A ST R5,-Y
031B 924A ST R4,-Y
031C 923A ST R3,-Y
031D 922A ST R2,-Y
031E E90C LDI R16,0x9C
031F E010 LDI R17,0
0320 940E13E2 CALL lpm32
0322 933A ST R19,-Y
0323 932A ST R18,-Y
0324 931A ST R17,-Y
0325 930A ST R16,-Y
0326 940E1562 CALL cmp32f
0328 F12C BLT 0x034E
0329 01FE MOVW R30,R28
032A 8820 LDD R2,Z+16
032B 8831 LDD R3,Z+17
032C 8842 LDD R4,Z+18
032D 8853 LDD R5,Z+19
032E 925A ST R5,-Y
032F 924A ST R4,-Y
0330 923A ST R3,-Y
0331 922A ST R2,-Y
0332 E90C LDI R16,0x9C
0333 E010 LDI R17,0
0334 940E13E2 CALL lpm32
0336 933A ST R19,-Y
0337 932A ST R18,-Y
0338 931A ST R17,-Y
0339 930A ST R16,-Y
033A 940E14AF CALL sub32f
033C 940E1410 CALL fp2long
033E 0118 MOVW R2,R16
033F 0129 MOVW R4,R18
0340 E040 LDI R20,0
0341 E050 LDI R21,0
0342 E060 LDI R22,0
0343 E870 LDI R23,0x80
0344 0E24 ADD R2,R20
0345 1E35 ADC R3,R21
0346 1E46 ADC R4,R22
0347 1E57 ADC R5,R23
0348 01FE MOVW R30,R28
0349 8624 STD Z+12,R2
034A 8635 STD Z+13,R3
034B 8646 STD Z+14,R4
034C 8657 STD Z+15,R5
034D C00C RJMP 0x035A
034E 01FE MOVW R30,R28
034F 8900 LDD R16,Z+16
0350 8911 LDD R17,Z+17
0351 8922 LDD R18,Z+18
0352 8933 LDD R19,Z+19
0353 940E1410 CALL fp2long
0355 01FE MOVW R30,R28
0356 8704 STD Z+12,R16
0357 8715 STD Z+13,R17
0358 8726 STD Z+14,R18
0359 8737 STD Z+15,R19
035A 01FE MOVW R30,R28
035B 8424 LDD R2,Z+12
035C 8435 LDD R3,Z+13
035D 8446 LDD R4,Z+14
035E 8457 LDD R5,Z+15
035F 01FE MOVW R30,R28
0360 8620 STD Z+8,R2
0361 8631 STD Z+9,R3
0362 8642 STD Z+10,R4
0363 8653 STD Z+11,R5
(0149) return ulNextF;
0364 01FE MOVW R30,R28
0365 8500 LDD R16,Z+8
0366 8511 LDD R17,Z+9
0367 8522 LDD R18,Z+10
0368 8533 LDD R19,Z+11
0369 9664 ADIW R28,0x14
036A 940E1389 CALL pop_gset2
036C 9624 ADIW R28,4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -