📄 ds1203.lst
字号:
0229 F439 BNE 0x0231
(0103) {WriteTime[i]=0x1f;
022A E687 LDI R24,0x67
022B E090 LDI R25,0
022C 01F8 MOVW R30,R16
022D 0FE8 ADD R30,R24
022E 1FF9 ADC R31,R25
022F E18F LDI R24,0x1F
0230 8380 STD Z+0,R24
(0104) }
(0105) if(WriteTime[i]==0x29)
0231 E687 LDI R24,0x67
0232 E090 LDI R25,0
0233 01F8 MOVW R30,R16
0234 0FE8 ADD R30,R24
0235 1FF9 ADC R31,R25
0236 8180 LDD R24,Z+0
0237 3289 CPI R24,0x29
0238 F439 BNE 0x0240
(0106) {WriteTime[i]=0x2f;
0239 E687 LDI R24,0x67
023A E090 LDI R25,0
023B 01F8 MOVW R30,R16
023C 0FE8 ADD R30,R24
023D 1FF9 ADC R31,R25
023E E28F LDI R24,0x2F
023F 8380 STD Z+0,R24
(0107) }
(0108) if(WriteTime[i]==0x39)
0240 E687 LDI R24,0x67
0241 E090 LDI R25,0
0242 01F8 MOVW R30,R16
0243 0FE8 ADD R30,R24
0244 1FF9 ADC R31,R25
0245 8180 LDD R24,Z+0
0246 3389 CPI R24,0x39
0247 F439 BNE 0x024F
(0109) {WriteTime[i]=0x3f;
0248 E687 LDI R24,0x67
0249 E090 LDI R25,0
024A 01F8 MOVW R30,R16
024B 0FE8 ADD R30,R24
024C 1FF9 ADC R31,R25
024D E38F LDI R24,0x3F
024E 8380 STD Z+0,R24
(0110) }
(0111) if(WriteTime[i]==0x49)
024F E687 LDI R24,0x67
0250 E090 LDI R25,0
0251 01F8 MOVW R30,R16
0252 0FE8 ADD R30,R24
0253 1FF9 ADC R31,R25
0254 8180 LDD R24,Z+0
0255 3489 CPI R24,0x49
0256 F439 BNE 0x025E
(0112) {WriteTime[i]=0x4f;
0257 E687 LDI R24,0x67
0258 E090 LDI R25,0
0259 01F8 MOVW R30,R16
025A 0FE8 ADD R30,R24
025B 1FF9 ADC R31,R25
025C E48F LDI R24,0x4F
025D 8380 STD Z+0,R24
(0113) }
(0114) if(WriteTime[i]==0x59)
025E E687 LDI R24,0x67
025F E090 LDI R25,0
0260 01F8 MOVW R30,R16
0261 0FE8 ADD R30,R24
0262 1FF9 ADC R31,R25
0263 8180 LDD R24,Z+0
0264 3589 CPI R24,0x59
0265 F441 BNE 0x026E
(0115) {WriteTime[i]=0x00;
0266 E687 LDI R24,0x67
0267 E090 LDI R25,0
0268 01F8 MOVW R30,R16
0269 0FE8 ADD R30,R24
026A 1FF9 ADC R31,R25
026B 2422 CLR R2
026C 8220 STD Z+0,R2
(0116) }
026D C009 RJMP 0x0277
(0117) else
(0118) WriteTime[i]=WriteTime[i]+1;
026E E687 LDI R24,0x67
026F E090 LDI R25,0
0270 0118 MOVW R2,R16
0271 0E28 ADD R2,R24
0272 1E39 ADC R3,R25
0273 01F1 MOVW R30,R2
0274 8180 LDD R24,Z+0
0275 5F8F SUBI R24,0xFF
0276 8380 STD Z+0,R24
0277 9508 RET
(0119) }
(0120) //ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
(0121) // 设置分钟,秒 减法程序
(0122) //ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
(0123) void SubForSET(int i)
(0124) {
(0125) if(WriteTime[i]==0x00)
_SubForSET:
i --> R16
0278 E687 LDI R24,0x67
0279 E090 LDI R25,0
027A 01F8 MOVW R30,R16
027B 0FE8 ADD R30,R24
027C 1FF9 ADC R31,R25
027D 8020 LDD R2,Z+0
027E 2022 TST R2
027F F429 BNE 0x0285
(0126) { WriteTime[i]=0x5a;
0280 01F8 MOVW R30,R16
0281 0FE8 ADD R30,R24
0282 1FF9 ADC R31,R25
0283 E58A LDI R24,0x5A
0284 8380 STD Z+0,R24
(0127) }
(0128) if(WriteTime[i]==0x10)
0285 E687 LDI R24,0x67
0286 E090 LDI R25,0
0287 01F8 MOVW R30,R16
0288 0FE8 ADD R30,R24
0289 1FF9 ADC R31,R25
028A 8180 LDD R24,Z+0
028B 3180 CPI R24,0x10
028C F439 BNE 0x0294
(0129) {WriteTime[i]=0x0a;
028D E687 LDI R24,0x67
028E E090 LDI R25,0
028F 01F8 MOVW R30,R16
0290 0FE8 ADD R30,R24
0291 1FF9 ADC R31,R25
0292 E08A LDI R24,0xA
0293 8380 STD Z+0,R24
(0130) }
(0131) if(WriteTime[i]==0x20)
0294 E687 LDI R24,0x67
0295 E090 LDI R25,0
0296 01F8 MOVW R30,R16
0297 0FE8 ADD R30,R24
0298 1FF9 ADC R31,R25
0299 8180 LDD R24,Z+0
029A 3280 CPI R24,0x20
029B F439 BNE 0x02A3
(0132) {WriteTime[i]=0x1a;
029C E687 LDI R24,0x67
029D E090 LDI R25,0
029E 01F8 MOVW R30,R16
029F 0FE8 ADD R30,R24
02A0 1FF9 ADC R31,R25
02A1 E18A LDI R24,0x1A
02A2 8380 STD Z+0,R24
(0133) }
(0134) if(WriteTime[i]==0x30)
02A3 E687 LDI R24,0x67
02A4 E090 LDI R25,0
02A5 01F8 MOVW R30,R16
02A6 0FE8 ADD R30,R24
02A7 1FF9 ADC R31,R25
02A8 8180 LDD R24,Z+0
02A9 3380 CPI R24,0x30
02AA F439 BNE 0x02B2
(0135) {WriteTime[i]=0x2a;
02AB E687 LDI R24,0x67
02AC E090 LDI R25,0
02AD 01F8 MOVW R30,R16
02AE 0FE8 ADD R30,R24
02AF 1FF9 ADC R31,R25
02B0 E28A LDI R24,0x2A
02B1 8380 STD Z+0,R24
(0136) }
(0137) if(WriteTime[i]==0x40)
02B2 E687 LDI R24,0x67
02B3 E090 LDI R25,0
02B4 01F8 MOVW R30,R16
02B5 0FE8 ADD R30,R24
02B6 1FF9 ADC R31,R25
02B7 8180 LDD R24,Z+0
02B8 3480 CPI R24,0x40
02B9 F439 BNE 0x02C1
(0138) {WriteTime[i]=0x3a;
02BA E687 LDI R24,0x67
02BB E090 LDI R25,0
02BC 01F8 MOVW R30,R16
02BD 0FE8 ADD R30,R24
02BE 1FF9 ADC R31,R25
02BF E38A LDI R24,0x3A
02C0 8380 STD Z+0,R24
(0139) }
(0140) if(WriteTime[i]==0x50)
02C1 E687 LDI R24,0x67
02C2 E090 LDI R25,0
02C3 01F8 MOVW R30,R16
02C4 0FE8 ADD R30,R24
02C5 1FF9 ADC R31,R25
02C6 8180 LDD R24,Z+0
02C7 3580 CPI R24,0x50
02C8 F441 BNE 0x02D1
(0141) {WriteTime[i]=0x49;
02C9 E687 LDI R24,0x67
02CA E090 LDI R25,0
02CB 01F8 MOVW R30,R16
02CC 0FE8 ADD R30,R24
02CD 1FF9 ADC R31,R25
02CE E489 LDI R24,0x49
02CF 8380 STD Z+0,R24
(0142) }
02D0 C009 RJMP 0x02DA
(0143) else
(0144) WriteTime[i]=WriteTime[i]-1;
02D1 E687 LDI R24,0x67
02D2 E090 LDI R25,0
02D3 0118 MOVW R2,R16
02D4 0E28 ADD R2,R24
02D5 1E39 ADC R3,R25
02D6 01F1 MOVW R30,R2
02D7 8180 LDD R24,Z+0
02D8 5081 SUBI R24,1
02D9 8380 STD Z+0,R24
02DA 9508 RET
(0145) }
(0146)
(0147) /*cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc*/
(0148) //设置小时加减法子程序
(0149) //ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
(0150) //加法
(0151) void PlusHour(int i)
(0152) {
(0153) if(WriteTime[i]==0x09)
_PlusHour:
i --> R16
02DB E687 LDI R24,0x67
02DC E090 LDI R25,0
02DD 01F8 MOVW R30,R16
02DE 0FE8 ADD R30,R24
02DF 1FF9 ADC R31,R25
02E0 8180 LDD R24,Z+0
02E1 3089 CPI R24,0x9
02E2 F439 BNE 0x02EA
(0154) { WriteTime[i]=0x0f;
02E3 E687 LDI R24,0x67
02E4 E090 LDI R25,0
02E5 01F8 MOVW R30,R16
02E6 0FE8 ADD R30,R24
02E7 1FF9 ADC R31,R25
02E8 E08F LDI R24,0xF
02E9 8380 STD Z+0,R24
(0155) }
(0156) if(WriteTime[i]==0x19)
02EA E687 LDI R24,0x67
02EB E090 LDI R25,0
02EC 01F8 MOVW R30,R16
02ED 0FE8 ADD R30,R24
02EE 1FF9 ADC R31,R25
02EF 8180 LDD R24,Z+0
02F0 3189 CPI R24,0x19
02F1 F439 BNE 0x02F9
(0157) {WriteTime[i]=0x1f;
02F2 E687 LDI R24,0x67
02F3 E090 LDI R25,0
02F4 01F8 MOVW R30,R16
02F5 0FE8 ADD R30,R24
02F6 1FF9 ADC R31,R25
02F7 E18F LDI R24,0x1F
02F8 8380 STD Z+0,R24
(0158) }
(0159) if(WriteTime[i]==0x23)
02F9 E687 LDI R24,0x67
02FA E090 LDI R25,0
02FB 01F8 MOVW R30,R16
02FC 0FE8 ADD R30,R24
02FD 1FF9 ADC R31,R25
02FE 8180 LDD R24,Z+0
02FF 3283 CPI R24,0x23
0300 F441 BNE 0x0309
(0160) {WriteTime[i]=0x00;
0301 E687 LDI R24,0x67
0302 E090 LDI R25,0
0303 01F8 MOVW R30,R16
0304 0FE8 ADD R30,R24
0305 1FF9 ADC R31,R25
0306 2422 CLR R2
0307 8220 STD Z+0,R2
(0161) }
0308 C009 RJMP 0x0312
(0162) else
(0163) WriteTime[i]=WriteTime[i]+1;
0309 E687 LDI R24,0x67
030A E090 LDI R25,0
030B 0118 MOVW R2,R16
030C 0E28 ADD R2,R24
030D 1E39 ADC R3,R25
030E 01F1 MOVW R30,R2
030F 8180 LDD R24,Z+0
0310 5F8F SUBI R24,0xFF
0311 8380 STD Z+0,R24
0312 9508 RET
(0164) }
(0165) //减法
(0166) void SubHour(int i)
(0167) {
(0168) if(WriteTime[i]==0x00)
_SubHour:
i --> R16
0313 E687 LDI R24,0x67
0314 E090 LDI R25,0
0315 01F8 MOVW R30,R16
0316 0FE8 ADD R30,R24
0317 1FF9 ADC R31,R25
0318 8020 LDD R2,Z+0
0319 2022 TST R2
031A F429 BNE 0x0320
(0169) { WriteTime[i]=0x24;
031B 01F8 MOVW R30,R16
031C 0FE8 ADD R30,R24
031D 1FF9 ADC R31,R25
031E E284 LDI R24,0x24
031F 8380 STD Z+0,R24
(0170) }
(0171) if(WriteTime[i]==0x10)
0320 E687 LDI R24,0x67
0321 E090 LDI R25,0
0322 01F8 MOVW R30,R16
0323 0FE8 ADD R30,R24
0324 1FF9 ADC R31,R25
0325 8180 LDD R24,Z+0
0326 3180 CPI R24,0x10
0327 F439 BNE 0x032F
(0172) {WriteTime[i]=0x0a;
0328 E687 LDI R24,0x67
0329 E090 LDI R25,0
032A 01F8 MOVW R30,R16
032B 0FE8 ADD R30,R24
032C 1FF9 ADC R31,R25
032D E08A LDI R24,0xA
032E 8380 STD Z+0,R24
(0173) }
(0174) if(WriteTime[i]==0x20)
032F E687 LDI R24,0x67
0330 E090 LDI R25,0
0331 01F8 MOVW R30,R16
0332 0FE8 ADD R30,R24
0333 1FF9 ADC R31,R25
0334 8180 LDD R24,Z+0
0335 3280 CPI R24,0x20
0336 F441 BNE 0x033F
(0175) {WriteTime[i]=0x19;
0337 E687 LDI R24,0x67
0338 E090 LDI R25,0
0339 01F8 MOVW R30,R16
033A 0FE8 ADD R30,R24
033B 1FF9 ADC R31,R25
033C E189 LDI R24,0x19
033D 8380 STD Z+0,R24
(0176) }
033E C009 RJMP 0x0348
(0177) else
(0178) WriteTime[i]=WriteTime[i]-1;
033F E687 LDI R24,0x67
0340 E090 LDI R25,0
0341 0118 MOVW R2,R16
0342 0E28 ADD R2,R24
0343 1E39 ADC R3,R25
0344 01F1 MOVW R30,R2
0345 8180 LDD R24,Z+0
0346 5081 SUBI R24,1
0347 8380 STD Z+0,R24
0348 9508 RET
(0179) }
(0180) //cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
(0181) //设置日期,子程序
(0182) //cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
(0183) //日期加法
(0184) void PlusDay(int i)
(0185) { if(WriteTime[i]==0x09)
_PlusDay:
i --> R16
0349 E687 LDI R24,0x67
034A E090 LDI R25,0
034B 01F8 MOVW R30,R16
034C 0FE8 ADD R30,R24
034D 1FF9 ADC R31,R25
034E 8180 LDD R24,Z+0
034F 3089 CPI R24,0x9
0350 F439 BNE 0x0358
(0186) { WriteTime[i]=0x0f;
0351 E687 LDI R24,0x67
0352 E090 LDI R25,0
0353 01F8 MOVW R30,R16
0354 0FE8 ADD R30,R24
0355 1FF9 ADC R31,R25
0356 E08F LDI R24,0xF
0357 8380 STD Z+0,R24
(0187) }
(0188) if(WriteTime[i]==0x19)
0358 E687 LDI R24,0x67
0359 E090 LDI R25,0
035A 01F8 MOVW R30,R16
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -