📄 pid.lst
字号:
013F F471 BNE 0x014E
(0108) {
(0109) Ea=e_1+e_0;
0140 9020006C LDS R2,0x6C
0142 9030006D LDS R3,0x6D
0144 9160006E LDS R22,0x6E
0146 9170006F LDS R23,0x6F
0148 0D62 ADD R22,R2
0149 1D73 ADC R23,R3
(0110) s_Ea=1;
014A 2400 CLR R0
014B 9403 INC R0
014C 8608 STD Y+8,R0
(0111) }
014D C00C RJMP 0x015A
(0112) else
(0113) {
(0114) Ea=e_1-e_0;
014E 9020006C LDS R2,0x6C
0150 9030006D LDS R3,0x6D
0152 9160006E LDS R22,0x6E
0154 9170006F LDS R23,0x6F
0156 1962 SUB R22,R2
0157 0973 SBC R23,R3
(0115) s_Ea=0;
0158 2400 CLR R0
0159 8608 STD Y+8,R0
(0116) }
(0117) }
(0118) }
(0119) //Eb=Ki*e_0
(0120) if (s_e_0==0)
015A 90200063 LDS R2,0x63
015C 2022 TST R2
015D F459 BNE 0x0169
(0121) {
(0122) Eb=Ki*e_0;
015E 9120006C LDS R18,0x6C
0160 9130006D LDS R19,0x6D
0162 91000061 LDS R16,0x61
0164 2711 CLR R17
0165 D205 RCALL mpy16s
0166 2EE0 MOV R14,R16
0167 2EF1 MOV R15,R17
(0123) }
0168 C00D RJMP 0x0176
(0124) else
(0125) {
(0126) Eb=Ki*e_0;
0169 9120006C LDS R18,0x6C
016B 9130006D LDS R19,0x6D
016D 91000061 LDS R16,0x61
016F 2711 CLR R17
0170 D1FA RCALL mpy16s
0171 2EE0 MOV R14,R16
0172 2EF1 MOV R15,R17
(0127) s_Eb=1;
0173 2400 CLR R0
0174 9403 INC R0
0175 860A STD Y+10,R0
(0128) }
(0129) //Ec=2*e_1
(0130) if (s_e_1==0)
0176 90200064 LDS R2,0x64
0178 2022 TST R2
0179 F439 BNE 0x0181
(0131) {
(0132) Ec=2*e_1;
017A 90A0006E LDS R10,0x6E
017C 90B0006F LDS R11,0x6F
017E 0CAA LSL R10
017F 1CBB ROL R11
(0133) }
0180 C009 RJMP 0x018A
(0134) else
(0135) {
(0136) Ec=2*e_1;
0181 90A0006E LDS R10,0x6E
0183 90B0006F LDS R11,0x6F
0185 0CAA LSL R10
0186 1CBB ROL R11
(0137) s_Ec=1;
0187 2400 CLR R0
0188 9403 INC R0
0189 860B STD Y+11,R0
(0138) }
(0139) //Ed=e_0-2*e_1(Ed=e_0-Ec)
(0140) if (e_0>=Ec)
018A 9020006C LDS R2,0x6C
018C 9030006D LDS R3,0x6D
018E 142A CP R2,R10
018F 043B CPC R3,R11
0190 F160 BCS 0x01BD
(0141) {
(0142) if (s_e_0==0)
0191 90200063 LDS R2,0x63
0193 2022 TST R2
0194 F489 BNE 0x01A6
(0143) {
(0144) if (s_Ec==0)
0195 840B LDD R0,Y+11
0196 2000 TST R0
0197 F439 BNE 0x019F
(0145) {
(0146) Ed=e_0-Ec;
0198 90C0006C LDS R12,0x6C
019A 90D0006D LDS R13,0x6D
019C 18CA SUB R12,R10
019D 08DB SBC R13,R11
(0147) }
019E C055 RJMP 0x01F4
(0148) else
(0149) {
(0150) Ed=e_0+Ec;
019F 90C0006C LDS R12,0x6C
01A1 90D0006D LDS R13,0x6D
01A3 0CCA ADD R12,R10
01A4 1CDB ADC R13,R11
(0151) }
(0152) }
01A5 C04E RJMP 0x01F4
(0153) else
(0154) {
(0155) if (s_Ec==0)
01A6 840B LDD R0,Y+11
01A7 2000 TST R0
01A8 F451 BNE 0x01B3
(0156) {
(0157) Ed=e_0+Ec;
01A9 90C0006C LDS R12,0x6C
01AB 90D0006D LDS R13,0x6D
01AD 0CCA ADD R12,R10
01AE 1CDB ADC R13,R11
(0158) s_Ed=1;
01AF 2400 CLR R0
01B0 9403 INC R0
01B1 8609 STD Y+9,R0
(0159) }
01B2 C041 RJMP 0x01F4
(0160) else
(0161) {
(0162) Ed=e_0-Ec;
01B3 90C0006C LDS R12,0x6C
01B5 90D0006D LDS R13,0x6D
01B7 18CA SUB R12,R10
01B8 08DB SBC R13,R11
(0163) s_Ed=1;
01B9 2400 CLR R0
01BA 9403 INC R0
01BB 8609 STD Y+9,R0
(0164) }
(0165) }
(0166) }
01BC C037 RJMP 0x01F4
(0167) else
(0168) {
(0169) if (s_e_0==0)
01BD 90200063 LDS R2,0x63
01BF 2022 TST R2
01C0 F4D1 BNE 0x01DB
(0170) {
(0171) if (s_Ec==0)
01C1 840B LDD R0,Y+11
01C2 2000 TST R0
01C3 F461 BNE 0x01D0
(0172) {
(0173) Ed=Ec-e_0;
01C4 9020006C LDS R2,0x6C
01C6 9030006D LDS R3,0x6D
01C8 2CCA MOV R12,R10
01C9 2CDB MOV R13,R11
01CA 18C2 SUB R12,R2
01CB 08D3 SBC R13,R3
(0174) s_Ed=1;
01CC 2400 CLR R0
01CD 9403 INC R0
01CE 8609 STD Y+9,R0
(0175) }
01CF C024 RJMP 0x01F4
(0176) else
(0177) {
(0178) Ed=Ec+e_0;
01D0 9020006C LDS R2,0x6C
01D2 9030006D LDS R3,0x6D
01D4 2CCA MOV R12,R10
01D5 2CDB MOV R13,R11
01D6 0CC2 ADD R12,R2
01D7 1CD3 ADC R13,R3
(0179) s_Ed=0;
01D8 2400 CLR R0
01D9 8609 STD Y+9,R0
(0180) }
(0181) }
01DA C019 RJMP 0x01F4
(0182) else
(0183) {
(0184) if (s_Ec==0)
01DB 840B LDD R0,Y+11
01DC 2000 TST R0
01DD F461 BNE 0x01EA
(0185) {
(0186) Ed=Ec+e_0;
01DE 9020006C LDS R2,0x6C
01E0 9030006D LDS R3,0x6D
01E2 2CCA MOV R12,R10
01E3 2CDB MOV R13,R11
01E4 0CC2 ADD R12,R2
01E5 1CD3 ADC R13,R3
(0187) s_Ed=1;
01E6 2400 CLR R0
01E7 9403 INC R0
01E8 8609 STD Y+9,R0
(0188) }
01E9 C00A RJMP 0x01F4
(0189) else
(0190) {
(0191) Ed=Ec-e_0;
01EA 9020006C LDS R2,0x6C
01EC 9030006D LDS R3,0x6D
01EE 2CCA MOV R12,R10
01EF 2CDB MOV R13,R11
01F0 18C2 SUB R12,R2
01F1 08D3 SBC R13,R3
(0192) s_Ed=0;
01F2 2400 CLR R0
01F3 8609 STD Y+9,R0
(0193) }
(0194) }
(0195) }
(0196) //Ee=Ed+e_2
(0197) if (s_Ed==0)
01F4 8409 LDD R0,Y+9
01F5 2000 TST R0
01F6 F549 BNE 0x0220
(0198) {
(0199) if (s_e_2==0)
01F7 90200065 LDS R2,0x65
01F9 2022 TST R2
01FA F459 BNE 0x0206
(0200) {
(0201) Ee=Ed+e_2;
01FB 90200070 LDS R2,0x70
01FD 90300071 LDS R3,0x71
01FF 2C4C MOV R4,R12
0200 2C5D MOV R5,R13
0201 0C42 ADD R4,R2
0202 1C53 ADC R5,R3
0203 825B STD Y+3,R5
0204 824A STD Y+2,R4
(0202) }
0205 C045 RJMP 0x024B
(0203) else
(0204) {
(0205) if (Ed>=e_2){Ee=Ed-e_2;}else{Ee=e_2-Ed;s_Ee=1;}
0206 90200070 LDS R2,0x70
0208 90300071 LDS R3,0x71
020A 14C2 CP R12,R2
020B 04D3 CPC R13,R3
020C F038 BCS 0x0214
020D 2C4C MOV R4,R12
020E 2C5D MOV R5,R13
020F 1842 SUB R4,R2
0210 0853 SBC R5,R3
0211 825B STD Y+3,R5
0212 824A STD Y+2,R4
0213 C037 RJMP 0x024B
0214 90200070 LDS R2,0x70
0216 90300071 LDS R3,0x71
0218 182C SUB R2,R12
0219 083D SBC R3,R13
021A 823B STD Y+3,R3
021B 822A STD Y+2,R2
021C 2400 CLR R0
021D 9403 INC R0
021E 860C STD Y+12,R0
(0206) }
(0207) }
021F C02B RJMP 0x024B
(0208) else
(0209) {
(0210) if (s_e_2==0)
0220 90200065 LDS R2,0x65
0222 2022 TST R2
0223 F4D1 BNE 0x023E
(0211) {
(0212) if (Ed>=e_2){Ee=Ed-e_2;s_Ee=1;}else{Ee=e_2-Ed;}
0224 90200070 LDS R2,0x70
0226 90300071 LDS R3,0x71
0228 14C2 CP R12,R2
0229 04D3 CPC R13,R3
022A F050 BCS 0x0235
022B 2C4C MOV R4,R12
022C 2C5D MOV R5,R13
022D 1842 SUB R4,R2
022E 0853 SBC R5,R3
022F 825B STD Y+3,R5
0230 824A STD Y+2,R4
0231 2400 CLR R0
0232 9403 INC R0
0233 860C STD Y+12,R0
0234 C016 RJMP 0x024B
0235 90200070 LDS R2,0x70
0237 90300071 LDS R3,0x71
0239 182C SUB R2,R12
023A 083D SBC R3,R13
023B 823B STD Y+3,R3
023C 822A STD Y+2,R2
(0213) }
023D C00D RJMP 0x024B
(0214) else
(0215) {
(0216) Ee=Ed+e_2;s_Ee=1;
023E 90200070 LDS R2,0x70
0240 90300071 LDS R3,0x71
0242 2C4C MOV R4,R12
0243 2C5D MOV R5,R13
0244 0C42 ADD R4,R2
0245 1C53 ADC R5,R3
0246 825B STD Y+3,R5
0247 824A STD Y+2,R4
0248 2400 CLR R0
0249 9403 INC R0
024A 860C STD Y+12,R0
(0217) }
(0218) }
(0219) //Ef=Kd*Ee
(0220) if (s_Ee==0)
024B 840C LDD R0,Y+12
024C 2000 TST R0
024D F449 BNE 0x0257
(0221) {
(0222) Ef=Kd*Ee;
024E 812A LDD R18,Y+2
024F 813B LDD R19,Y+3
0250 91000062 LDS R16,0x62
0252 2711 CLR R17
0253 D117 RCALL mpy16s
0254 2EA0 MOV R10,R16
0255 2EB1 MOV R11,R17
(0223) }
0256 C00A RJMP 0x0261
(0224) else
(0225) {
(0226) Ef=Kd*Ee;
0257 812A LDD R18,Y+2
0258 813B LDD R19,Y+3
0259 91000062 LDS R16,0x62
025B 2711 CLR R17
025C D10E RCALL mpy16s
025D 2EA0 MOV R10,R16
025E 2EB1 MOV R11,R17
(0227) s_Ef=1;
025F 2488 CLR R8
0260 9483 INC R8
(0228) }
(0229) //Eg=Ea+Eb
(0230) if (s_Ea==0)
0261 8408 LDD R0,Y+8
0262 2000 TST R0
0263 F4C1 BNE 0x027C
(0231) {
(0232) if (s_Eb==0)
0264 840A LDD R0,Y+10
0265 2000 TST R0
0266 F429 BNE 0x026C
(0233) {
(0234) Eg=Ea+Eb;
0267 2EC6 MOV R12,R22
0268 2ED7 MOV R13,R23
0269 0CCE ADD R12,R14
026A 1CDF ADC R13,R15
(0235) }
026B C02A RJMP 0x0296
(0236) else
(0237) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -