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

📄 万年历.s

📁 PS2控制代码123456789
💻 S
📖 第 1 页 / 共 2 页
字号:
	.dbline 99
; 	   hour=hour+1;
	lds R24,_hour
	subi R24,255    ; addi 1
	sts _hour,R24
	.dbline 100
; 	   if(hour==24)
	cpi R24,24
	brne L27
	.dbline 101
; 	   {
	.dbline 102
; 		 hour=0;
	sts _hour,R2
	.dbline 103
; 		 week=week+1;
	lds R24,_week
	subi R24,255    ; addi 1
	sts _week,R24
	.dbline 104
; 		 if(week>7)
	ldi R24,7
	lds R2,_week
	cp R24,R2
	brsh L29
	.dbline 105
; 		  week=1;
	ldi R24,1
	sts _week,R24
L29:
	.dbline 106
; 		  day=day+1;
	lds R24,_day
	subi R24,255    ; addi 1
	sts _day,R24
	.dbline 108
; 		  
; 		  if(day>get_days(month))
	lds R16,_month
	xcall _get_days
	lds R2,_day
	cp R16,R2
	brsh L31
	.dbline 109
; 		   {
	.dbline 110
; 		    day=1;
	ldi R24,1
	sts _day,R24
	.dbline 111
; 		    month=month+1;
	lds R24,_month
	subi R24,255    ; addi 1
	sts _month,R24
	.dbline 112
; 			if(month>12)
	ldi R24,12
	lds R2,_month
	cp R24,R2
	brsh L33
	.dbline 113
; 			 {
	.dbline 114
; 			  month=1;
	ldi R24,1
	sts _month,R24
	.dbline 115
; 			  year=year+1;
	lds R24,_year
	lds R25,_year+1
	adiw R24,1
	sts _year+1,R25
	sts _year,R24
	.dbline 116
; 			 }
L33:
	.dbline 117
; 		   }
L31:
	.dbline 119
; 		
; 	   }
L27:
	.dbline 120
;     }
L25:
	.dbline 121
L23:
	.dbline -2
L22:
	xcall pop_lset
	.dbline 0 ; func end
	reti
	.dbend
	.dbfunc e time _time fV
	.even
_time::
	sbiw R28,2
	.dbline -1
	.dbline 124
;   }
;  }
;  void time(void)
;  { 
	.dbline 125
; 	if(data==0x70)
	lds R24,_data
	cpi R24,112
	brne L36
	.dbline 126
;       {
	.dbline 127
; 	   delay_nms(20);
	ldi R16,20
	ldi R17,0
	xcall _delay_nms
	.dbline 128
; 	   if(data==0x70)
	lds R24,_data
	cpi R24,112
	brne L38
	.dbline 129
; 	   {
	.dbline 130
;          count++;	
	lds R24,_count
	subi R24,255    ; addi 1
	sts _count,R24
	.dbline 131
; 	     if(count>8)
	ldi R24,8
	lds R2,_count
	cp R24,R2
	brsh L40
	.dbline 132
; 	    { count=0;
	.dbline 132
	clr R2
	sts _count,R2
	.dbline 133
; 		 ocmj_write(0xf4);//清屏	
	ldi R16,244
	xcall _ocmj_write
	.dbline 134
; 	    }
L40:
	.dbline 135
; 	   }
L38:
	.dbline 136
; 	 }
L36:
	.dbline 138
; /*******************年设置*****************************/ 	  
;         if(count==1)
	lds R24,_count
	cpi R24,1
	brne L42
	.dbline 139
; 	      {
	.dbline 140
; 		  hz_tran(0,3,"年设置");
	ldi R24,<L44
	ldi R25,>L44
	std y+1,R25
	std y+0,R24
	ldi R18,3
	clr R16
	xcall _hz_tran
	.dbline 141
; 		     if(data==0x79)
	lds R24,_data
	cpi R24,121
	brne L45
	.dbline 143
; 			 
;               {
	.dbline 144
;                year++;  			    	 
	lds R24,_year
	lds R25,_year+1
	adiw R24,1
	sts _year+1,R25
	sts _year,R24
	.dbline 145
; 			  }		 
L45:
	.dbline 146
; 			 if(data==0x7B)
	lds R24,_data
	cpi R24,123
	brne L47
	.dbline 147
;                        {
	.dbline 148
;                          year--;        
	lds R24,_year
	lds R25,_year+1
	sbiw R24,1
	sts _year+1,R25
	sts _year,R24
	.dbline 149
; 					   }
L47:
	.dbline 153
; 				   
; 				   
; 				
; 		   }
L42:
	.dbline 155
; /*******************月设置*****************************/ 	  
;         if(count==2)
	lds R24,_count
	cpi R24,2
	brne L49
	.dbline 156
; 	      {hz_tran(0,3,"月设置");
	.dbline 156
	ldi R24,<L51
	ldi R25,>L51
	std y+1,R25
	std y+0,R24
	ldi R18,3
	clr R16
	xcall _hz_tran
	.dbline 157
; 		    if(data==0x79)
	lds R24,_data
	cpi R24,121
	brne L52
	.dbline 158
;                        {
	.dbline 159
;                          month++;  
	lds R24,_month
	subi R24,255    ; addi 1
	sts _month,R24
	.dbline 160
; 						 if(month>12)
	ldi R24,12
	lds R2,_month
	cp R24,R2
	brsh L54
	.dbline 161
; 						  {month=1;} 			   		  
	.dbline 161
	ldi R24,1
	sts _month,R24
	.dbline 161
L54:
	.dbline 162
; 					    }			 
L52:
	.dbline 163
; 			 if(data==0x7B)
	lds R24,_data
	cpi R24,123
	brne L56
	.dbline 164
;                        {
	.dbline 165
;                         month--;  
	lds R24,_month
	subi R24,1
	sts _month,R24
	.dbline 166
; 						if(month==0)
	tst R24
	brne L58
	.dbline 167
; 						 {month=12;}          
	.dbline 167
	ldi R24,12
	sts _month,R24
	.dbline 167
L58:
	.dbline 168
; 					   }
L56:
	.dbline 171
; 				   
; 				
; 		    }				  
L49:
	.dbline 173
;  /*******************日设置*****************************/ 	  
;         if(count==3)
	lds R24,_count
	cpi R24,3
	brne L60
	.dbline 174
; 	      {
	.dbline 175
; 	      hz_tran(0,3,"日设置");
	ldi R24,<L62
	ldi R25,>L62
	std y+1,R25
	std y+0,R24
	ldi R18,3
	clr R16
	xcall _hz_tran
	.dbline 176
; 		  if(data==0x79)
	lds R24,_data
	cpi R24,121
	brne L63
	.dbline 177
;                        {
	.dbline 178
;                          day++;  
	lds R24,_day
	subi R24,255    ; addi 1
	sts _day,R24
	.dbline 179
; 						 if(day>get_days(month))
	lds R16,_month
	xcall _get_days
	lds R2,_day
	cp R16,R2
	brsh L65
	.dbline 180
; 						  {day=1;} 				    
	.dbline 180
	ldi R24,1
	sts _day,R24
	.dbline 180
L65:
	.dbline 181
; 					    }			
L63:
	.dbline 182
; 	      if(data==0x7B)
	lds R24,_data
	cpi R24,123
	brne L67
	.dbline 183
;                        {
	.dbline 184
;                         day--;  
	lds R24,_day
	subi R24,1
	sts _day,R24
	.dbline 185
; 						if(day==0)
	tst R24
	brne L69
	.dbline 186
; 						 {day=get_days(month);}        
	.dbline 186
	lds R16,_month
	xcall _get_days
	sts _day,R16
	.dbline 186
L69:
	.dbline 187
; 					   }
L67:
	.dbline 190
; 				   
; 				
; 		    }		
L60:
	.dbline 193
; 			  
;  /*******************星期设置*****************************/ 	  
;         if(count==4)
	lds R24,_count
	cpi R24,4
	brne L71
	.dbline 194
; 	      {
	.dbline 195
; 	      hz_tran(0,3,"星期设置");
	ldi R24,<L73
	ldi R25,>L73
	std y+1,R25
	std y+0,R24
	ldi R18,3
	clr R16
	xcall _hz_tran
	.dbline 196
; 		      if(data==0x79)
	lds R24,_data
	cpi R24,121
	brne L74
	.dbline 197
;                        {
	.dbline 198
;                          week++;  
	lds R24,_week
	subi R24,255    ; addi 1
	sts _week,R24
	.dbline 199
; 						 if(week>7)
	ldi R24,7
	lds R2,_week
	cp R24,R2
	brsh L76
	.dbline 200
; 						  {week=1;} 				      
	.dbline 200
	ldi R24,1
	sts _week,R24
	.dbline 200
L76:
	.dbline 201
; 					    }
L74:
	.dbline 202
; 			 if(data==0x7B)
	lds R24,_data
	cpi R24,123
	brne L78
	.dbline 203
;                        {
	.dbline 204
;                         week--;  
	lds R24,_week
	subi R24,1
	sts _week,R24
	.dbline 205
; 						if(week==0)
	tst R24
	brne L80
	.dbline 206
; 						 {week=7;}         
	.dbline 206
	ldi R24,7
	sts _week,R24
	.dbline 206
L80:
	.dbline 207
; 					   }				  
L78:
	.dbline 208
; 		    }		
L71:
	.dbline 210
; 	/*******************小时设置*****************************/ 	  
;         if(count==5)
	lds R24,_count
	cpi R24,5
	brne L82
	.dbline 211
; 	      {
	.dbline 212
; 	        hz_tran(0,3,"小时设置");
	ldi R24,<L84
	ldi R25,>L84
	std y+1,R25
	std y+0,R24
	ldi R18,3
	clr R16
	xcall _hz_tran
	.dbline 213
; 		      if(data==0x79)
	lds R24,_data
	cpi R24,121
	brne L85
	.dbline 214
;                        {
	.dbline 215
;                          hour++;  
	lds R24,_hour
	subi R24,255    ; addi 1
	sts _hour,R24
	.dbline 216
; 						 if(hour>24)
	ldi R24,24
	lds R2,_hour
	cp R24,R2
	brsh L87
	.dbline 217
; 						  {hour=1;} 				    
	.dbline 217
	ldi R24,1
	sts _hour,R24
	.dbline 217
L87:
	.dbline 218
; 					    }	
L85:
	.dbline 219
; 			 if(data==0x7B)
	lds R24,_data
	cpi R24,123
	brne L89
	.dbline 220
;                        {
	.dbline 221
;                         hour--;  
	lds R24,_hour
	subi R24,1
	sts _hour,R24
	.dbline 222
; 						if(hour==0)
	tst R24
	brne L91
	.dbline 223
; 						 {hour=23;}          
	.dbline 223
	ldi R24,23
	sts _hour,R24
	.dbline 223
L91:
	.dbline 224
; 					   }
L89:
	.dbline 226
; 				   
; 		    }		
L82:
	.dbline 228
; 	/*******************分钟设置*****************************/ 	  
;         if(count==6)
	lds R24,_count
	cpi R24,6
	brne L93
	.dbline 229
; 	      {
	.dbline 230
; 	       hz_tran(0,3,"分钟设置");
	ldi R24,<L95
	ldi R25,>L95
	std y+1,R25
	std y+0,R24
	ldi R18,3
	clr R16
	xcall _hz_tran
	.dbline 231
; 		     if(data==0x79)
	lds R24,_data
	cpi R24,121
	brne L96
	.dbline 232
;                        {
	.dbline 233
;                          minute++;  
	lds R24,_minute
	subi R24,255    ; addi 1
	sts _minute,R24
	.dbline 234
; 						 if(minute>60)
	ldi R24,60
	lds R2,_minute
	cp R24,R2
	brsh L98
	.dbline 235
; 						  {minute=1;} 				    
	.dbline 235
	ldi R24,1
	sts _minute,R24
	.dbline 235
L98:
	.dbline 236
; 					    }	
L96:
	.dbline 237
; 		     if(data==0x7B) 
	lds R24,_data
	cpi R24,123
	brne L100
	.dbline 238
;                        {
	.dbline 239
;                         minute--;  
	lds R24,_minute
	subi R24,1
	sts _minute,R24
	.dbline 240
; 						if(minute==0)
	tst R24
	brne L102
	.dbline 241
; 						 {minute=59;}         
	.dbline 241
	ldi R24,59
	sts _minute,R24
	.dbline 241
L102:
	.dbline 242
; 					   }
L100:
	.dbline 244
; 				   
; 		    }		
L93:
	.dbline 246
; 	 /*******************秒设置*****************************/ 	  
;         if(count==7)
	lds R24,_count
	cpi R24,7
	brne L104
	.dbline 247
; 	      {
	.dbline 248
; 	      hz_tran(0,3,"秒钟设置");
	ldi R24,<L106
	ldi R25,>L106
	std y+1,R25
	std y+0,R24
	ldi R18,3
	clr R16
	xcall _hz_tran
	.dbline 249
; 		     if(data==0x79)
	lds R24,_data
	cpi R24,121
	brne L107
	.dbline 250
;                 {
	.dbline 251
;                   second++;  
	lds R24,_second
	subi R24,255    ; addi 1
	sts _second,R24
	.dbline 252
; 				  if(second>60)
	ldi R24,60
	lds R2,_second
	cp R24,R2
	brsh L109
	.dbline 253
; 				  {second=1;} 				    
	.dbline 253
	ldi R24,1
	sts _second,R24
	.dbline 253
L109:
	.dbline 254
; 			     }		
L107:
	.dbline 255
; 			 if(data==0x7B)
	lds R24,_data
	cpi R24,123
	brne L111
	.dbline 256
;                        {
	.dbline 257
;                         second--;  
	lds R24,_second
	subi R24,1
	sts _second,R24
	.dbline 258
; 						if(second==0)
	tst R24
	brne L113
	.dbline 259
; 						 {second=59;}         
	.dbline 259
	ldi R24,59
	sts _second,R24
	.dbline 259
L113:
	.dbline 260
; 					   }
L111:
	.dbline 262
; 				   
; 		    }	
L104:
	.dbline 263
; 	  time_display();	   
	xcall _time_display
	.dbline -2
L35:
	adiw R28,2
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e instruction _instruction fV
	.even
_instruction::
	sbiw R28,4
	.dbline -1
	.dbline 266
;   }
;   void instruction(void)
;   {
	.dbline 267
;    hz_tran(1,0,"键为功能键");
	ldi R24,<L116
	ldi R25,>L116
	std y+1,R25
	std y+0,R24
	clr R18
	ldi R16,1
	xcall _hz_tran
	.dbline 268
;    hz_tran(1,1,"键表示增加"); 
	ldi R24,<L117
	ldi R25,>L117
	std y+1,R25
	std y+0,R24
	ldi R18,1
	ldi R16,1
	xcall _hz_tran
	.dbline 269
;    hz_tran(1,2,"键表示减少"); 
	ldi R24,<L118
	ldi R25,>L118
	std y+1,R25
	std y+0,R24
	ldi R18,2
	ldi R16,1
	xcall _hz_tran
	.dbline 270
;    hz_tran(6,3,"返回");
	ldi R24,<L7
	ldi R25,>L7
	std y+1,R25
	std y+0,R24
	ldi R18,3
	ldi R16,6
	xcall _hz_tran
	.dbline 271
;    write_ASCII(0xf9,13,48,69);//E
	ldi R24,69
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,48
	std y+1,R25
	std y+0,R24
	ldi R18,13
	ldi R19,0
	ldi R16,249
	ldi R17,0
	xcall _write_ASCII
	.dbline 272
;    write_ASCII(0xf9,14,48,115);//s
	ldi R24,115
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,48
	std y+1,R25
	std y+0,R24
	ldi R18,14
	ldi R19,0
	ldi R16,249
	ldi R17,0
	xcall _write_ASCII
	.dbline 273
;    write_ASCII(0xf9,15,48,99);//c
	ldi R24,99
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,48
	std y+1,R25
	std y+0,R24
	ldi R18,15
	ldi R19,0
	ldi R16,249
	ldi R17,0
	xcall _write_ASCII
	.dbline 274
;    write_ASCII(0xf9,4,0,48);//0
	ldi R24,48
	ldi R25,0
	std y+3,R25
	std y+2,R24
	clr R2
	clr R3
	std y+1,R3
	std y+0,R2
	ldi R18,4
	ldi R19,0
	ldi R16,249
	ldi R17,0
	xcall _write_ASCII
	.dbline 275
;    write_ASCII(0xf9,4,16,43);//+
	ldi R24,43
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,16
	std y+1,R25
	std y+0,R24
	ldi R18,4
	ldi R19,0
	ldi R16,249
	ldi R17,0
	xcall _write_ASCII
	.dbline 276
;    write_ASCII(0xf9,4,32,45);//-
	ldi R24,45
	ldi R25,0
	std y+3,R25
	std y+2,R24
	ldi R24,32
	std y+1,R25
	std y+0,R24
	ldi R18,4
	ldi R19,0
	ldi R16,249
	ldi R17,0
	xcall _write_ASCII
	.dbline -2
L115:
	adiw R28,4
	.dbline 0 ; func end
	ret
	.dbend
	.area bss(ram, con, rel)
	.dbfile F:\调试\万年历.c
_alrm_minute::
	.blkb 1
	.dbsym e alrm_minute _alrm_minute c
_alrm_hour::
	.blkb 1
	.dbsym e alrm_hour _alrm_hour c
_count::
	.blkb 1
	.dbsym e count _count c
	.area data(ram, con, rel)
	.dbfile F:\调试\万年历.c
L118:
	.blkb 11
	.area idata
	.byte 188,252,177,237,202,190,188,245,201,217,0
	.area data(ram, con, rel)
	.dbfile F:\调试\万年历.c
L117:
	.blkb 11
	.area idata
	.byte 188,252,177,237,202,190,212,246,188,211,0
	.area data(ram, con, rel)
	.dbfile F:\调试\万年历.c
L116:
	.blkb 11
	.area idata
	.byte 188,252,206,170,185,166,196,220,188,252,0
	.area data(ram, con, rel)
	.dbfile F:\调试\万年历.c
L106:
	.blkb 9
	.area idata
	.byte 195,235,214,211,201,232,214,195,0
	.area data(ram, con, rel)
	.dbfile F:\调试\万年历.c
L95:
	.blkb 9
	.area idata
	.byte 183,214,214,211,201,232,214,195,0
	.area data(ram, con, rel)
	.dbfile F:\调试\万年历.c
L84:
	.blkb 9
	.area idata
	.byte 208,161,202,177,201,232,214,195,0
	.area data(ram, con, rel)
	.dbfile F:\调试\万年历.c
L73:
	.blkb 9
	.area idata
	.byte 208,199,198,218,201,232,214,195,0
	.area data(ram, con, rel)
	.dbfile F:\调试\万年历.c
L62:
	.blkb 7
	.area idata
	.byte 200,213,201,232,214,195,0
	.area data(ram, con, rel)
	.dbfile F:\调试\万年历.c
L51:
	.blkb 7
	.area idata
	.byte 212,194,201,232,214,195,0
	.area data(ram, con, rel)
	.dbfile F:\调试\万年历.c
L44:
	.blkb 7
	.area idata
	.byte 196,234,201,232,214,195,0
	.area data(ram, con, rel)
	.dbfile F:\调试\万年历.c
L7:
	.blkb 5
	.area idata
	.byte 183,181,187,216,0
	.area data(ram, con, rel)
	.dbfile F:\调试\万年历.c
L6:
	.blkb 5
	.area idata
	.byte 206,194,182,200,0
	.area data(ram, con, rel)
	.dbfile F:\调试\万年历.c
L5:
	.blkb 5
	.area idata
	.byte 208,199,198,218,0
	.area data(ram, con, rel)
	.dbfile F:\调试\万年历.c
L4:
	.blkb 3
	.area idata
	.byte 200,213,0
	.area data(ram, con, rel)
	.dbfile F:\调试\万年历.c
L3:
	.blkb 3
	.area idata
	.byte 212,194,0
	.area data(ram, con, rel)
	.dbfile F:\调试\万年历.c
L2:
	.blkb 3
	.area idata
	.byte 196,234,0
	.area data(ram, con, rel)
	.dbfile F:\调试\万年历.c

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -