📄 ds1302.s
字号:
.dbline 188
; if(WriteTime[i]==0x19)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,25
brne L99
.dbline 189
; {WriteTime[i]=0x1f;
.dbline 189
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,31
std z+0,R24
.dbline 190
; }
L99:
.dbline 191
; if(WriteTime[i]==0x29)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,41
brne L101
.dbline 192
; {WriteTime[i]=0x2f;
.dbline 192
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,47
std z+0,R24
.dbline 193
; }
L101:
.dbline 194
; if(WriteTime[i]==0x31)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,49
brne L103
.dbline 195
; {WriteTime[i]=0x00;
.dbline 195
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
clr R2
std z+0,R2
.dbline 196
; }
rjmp L104
L103:
.dbline 198
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R2,R16
add R2,R24
adc R3,R25
movw R30,R2
ldd R24,z+0
subi R24,255 ; addi 1
std z+0,R24
L104:
.dbline -2
L96:
.dbline 0 ; func end
ret
.dbsym r i 16 I
.dbend
.dbfunc e SubDay _SubDay fV
; i -> R16,R17
.even
_SubDay::
.dbline -1
.dbline 203
; else
; WriteTime[i]=WriteTime[i]+1;
;
; }
; //日期 减法
; void SubDay(int i)
; {
.dbline 204
; if(WriteTime[i]==0x00)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R2,z+0
tst R2
brne L106
.dbline 205
; { WriteTime[i]=0x32;
.dbline 205
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,50
std z+0,R24
.dbline 206
; }
L106:
.dbline 207
; if(WriteTime[i]==0x10)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,16
brne L108
.dbline 208
; {WriteTime[i]=0x0a;
.dbline 208
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,10
std z+0,R24
.dbline 209
; }
L108:
.dbline 210
; if(WriteTime[i]==0x20)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,32
brne L110
.dbline 211
; {WriteTime[i]=0x1a;
.dbline 211
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,26
std z+0,R24
.dbline 212
; }
L110:
.dbline 213
; if(WriteTime[i]==0x30)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,48
brne L112
.dbline 214
; {WriteTime[i]=0x29;
.dbline 214
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,41
std z+0,R24
.dbline 215
; }
rjmp L113
L112:
.dbline 217
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R2,R16
add R2,R24
adc R3,R25
movw R30,R2
ldd R24,z+0
subi R24,1
std z+0,R24
L113:
.dbline -2
L105:
.dbline 0 ; func end
ret
.dbsym r i 16 I
.dbend
.dbfunc e PlusMonth _PlusMonth fV
; i -> R16,R17
.even
_PlusMonth::
.dbline -1
.dbline 225
; else
; WriteTime[i]=WriteTime[i]-1;
;
; }
; //cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
; //设置月份子程序
; //cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
; //月份 加法
; void PlusMonth(int i)
; {
.dbline 226
; if(WriteTime[i]==0x09)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,9
brne L115
.dbline 227
; { WriteTime[i]=0x0f;
.dbline 227
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,15
std z+0,R24
.dbline 228
; }
L115:
.dbline 229
; if(WriteTime[i]==0x12)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,18
brne L117
.dbline 230
; {WriteTime[i]=0x00;
.dbline 230
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
clr R2
std z+0,R2
.dbline 231
; }
rjmp L118
L117:
.dbline 233
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R2,R16
add R2,R24
adc R3,R25
movw R30,R2
ldd R24,z+0
subi R24,255 ; addi 1
std z+0,R24
L118:
.dbline -2
L114:
.dbline 0 ; func end
ret
.dbsym r i 16 I
.dbend
.dbfunc e SubMonth _SubMonth fV
; i -> R16,R17
.even
_SubMonth::
.dbline -1
.dbline 238
; else
; WriteTime[i]=WriteTime[i]+1;
;
; }
; //月份减法
; void SubMonth(int i)
; {
.dbline 239
; if(WriteTime[i]==0x00)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R2,z+0
tst R2
brne L120
.dbline 240
; { WriteTime[i]=0x13;
.dbline 240
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,19
std z+0,R24
.dbline 241
; }
L120:
.dbline 242
; if(WriteTime[i]==0x11)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,17
brne L122
.dbline 243
; {WriteTime[i]=0x09;
.dbline 243
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,9
std z+0,R24
.dbline 244
; }
rjmp L123
L122:
.dbline 246
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R2,R16
add R2,R24
adc R3,R25
movw R30,R2
ldd R24,z+0
subi R24,1
std z+0,R24
L123:
.dbline -2
L119:
.dbline 0 ; func end
ret
.dbsym r i 16 I
.dbend
.dbfunc e PlusYear _PlusYear fV
; i -> R16,R17
.even
_PlusYear::
.dbline -1
.dbline 254
; else
; WriteTime[i]=WriteTime[i]-1;
;
; }
; //cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
; //设置年子程序
; //cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
; //加
; void PlusYear(int i)
; {
.dbline 255
; if(WriteTime[i]==0x09)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,9
brne L125
.dbline 256
; { WriteTime[i]=0x0f;
.dbline 256
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,15
std z+0,R24
.dbline 257
; }
L125:
.dbline 258
; if(WriteTime[i]==0x19)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,25
brne L127
.dbline 259
; {WriteTime[i]=0x1f;
.dbline 259
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,31
std z+0,R24
.dbline 260
; }
L127:
.dbline 261
; if(WriteTime[i]==0x29)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,41
brne L129
.dbline 262
; {WriteTime[i]=0x2f;
.dbline 262
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,47
std z+0,R24
.dbline 263
; }
L129:
.dbline 264
; if(WriteTime[i]==0x39)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,57
brne L131
.dbline 265
; {WriteTime[i]=0x3f;
.dbline 265
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,63
std z+0,R24
.dbline 266
; }
L131:
.dbline 267
; if(WriteTime[i]==0x49)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,73
brne L133
.dbline 268
; {WriteTime[i]=0x4f;
.dbline 268
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,79
std z+0,R24
.dbline 269
; }
L133:
.dbline 270
; if(WriteTime[i]==0x59)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,89
brne L135
.dbline 271
; {WriteTime[i]=0x5f;
.dbline 271
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,95
std z+0,R24
.dbline 272
; }
L135:
.dbline 273
; if(WriteTime[i]==0x69)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,105
brne L137
.dbline 274
; {WriteTime[i]=0x6f;
.dbline 274
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,111
std z+0,R24
.dbline 275
; }
L137:
.dbline 276
; if(WriteTime[i]==0x79)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,121
brne L139
.dbline 277
; {WriteTime[i]=0x7f;
.dbline 277
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,127
std z+0,R24
.dbline 278
; }
L139:
.dbline 279
; if(WriteTime[i]==0x89)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,137
brne L141
.dbline 280
; {WriteTime[i]=0x8f;
.dbline 280
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,143
std z+0,R24
.dbline 281
; }
L141:
.dbline 282
; if(WriteTime[i]==0x99)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,153
brne L143
.dbline 283
; {WriteTime[i]=0x00;
.dbline 283
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
clr R2
std z+0,R2
.dbline 284
; }
rjmp L144
L143:
.dbline 286
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R2,R16
add R2,R24
adc R3,R25
movw R30,R2
ldd R24,z+0
subi R24,255 ; addi 1
std z+0,R24
L144:
.dbline -2
L124:
.dbline 0 ; func end
ret
.dbsym r i 16 I
.dbend
.dbfunc e SubYear _SubYear fV
; i -> R16,R17
.even
_SubYear::
.dbline -1
.dbline 291
; else
; WriteTime[i]=WriteTime[i]+1;
;
; }
; //减
; void SubYear(int i)
; {
.dbline 292
; if(WriteTime[i]==0x00)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R2,z+0
tst R2
brne L146
.dbline 293
; { WriteTime[i]=0x5a;
.dbline 293
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,90
std z+0,R24
.dbline 294
; }
L146:
.dbline 295
; if(WriteTime[i]==0x10)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,16
brne L148
.dbline 296
; {WriteTime[i]=0x0a;
.dbline 296
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,10
std z+0,R24
.dbline 297
; }
L148:
.dbline 298
; if(WriteTime[i]==0x20)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,32
brne L150
.dbline 299
; {WriteTime[i]=0x1a;
.dbline 299
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,26
std z+0,R24
.dbline 300
; }
L150:
.dbline 301
; if(WriteTime[i]==0x30)
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,48
brne L152
.dbline 302
; {WriteTime[i]=0x2a;
.dbline 302
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,42
std z+0,R24
.dbline 303
; }
L152:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -