⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ds1302.s

📁 DS1302
💻 S
📖 第 1 页 / 共 5 页
字号:
	.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 + -