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

📄 macoh.s

📁 工控计数器ICCAVR的MAGE8程序LED数码显示+4键
💻 S
📖 第 1 页 / 共 5 页
字号:
	ldi R30,0
	cpc R25,R30
	brne X75
	rjmp L209
X75:
	rjmp L166
L219:
	ldd R24,y+11
	ldd R25,y+12
	cpi R24,23
	ldi R30,0
	cpc R25,R30
	brne X76
	rjmp L12
X76:
	rjmp L166
X11:
	.dbline 374
; 																	            {
L169:
	.dbline 376
; 																				case    set:
; 																				  if(fbit==2)
	ldd R24,y+15
	cpi R24,2
	breq X77
	rjmp L173
X77:
	.dbline 377
; 													                               {
	.dbline 378
; 							                                                       resettemp=reset_m;
	sts _resettemp,R14
	.dbline 379
; 							                                                       EEPROMwrite(0x11,resettemp);
	mov R18,R14
	ldi R16,17
	ldi R17,0
	rcall _EEPROMwrite_extIO
	.dbline 380
;                                                                                    fbit=0;
	clr R0
	std y+15,R0
	.dbline 381
; 													                              }
	rjmp L167
L172:
	.dbline 385
; 																				 else 
; 																				 
; 																				 while(1)
; 																				 { 
	.dbline 386
; 																				 ccc=0;
	clr R12
	.dbline 387
; 																				 if(fbit!=2) process (ccc,p,0);
	ldd R24,y+15
	cpi R24,2
	breq L175
	.dbline 387
	clr R2
	std y+2,R2
	lds R2,_p
	lds R3,_p+1
	std y+1,R3
	std y+0,R2
	mov R2,R12
	clr R3
	clr R4
	clr R5
	movw R16,R2
	movw R18,R4
	rcall _process
L175:
	.dbline 388
; 																				 for(ccc=0;ccc<6;ccc++)
	clr R12
	rjmp L180
L177:
	.dbline 389
	.dbline 389
	lds R2,_p
	lds R3,_p+1
	mov R30,R12
	clr R31
	add R30,R2
	adc R31,R3
	ldd R24,z+0
	cpi R24,10
	brne L181
	.dbline 389
	mov R30,R12
	clr R31
	add R30,R2
	adc R31,R3
	clr R2
	std z+0,R2
L181:
	.dbline 389
L178:
	.dbline 388
	inc R12
L180:
	.dbline 388
	mov R24,R12
	cpi R24,6
	brlo L177
	.dbline 390
; 																				 {if(p[ccc]==10) p[ccc]=0;}
; 																				 o=lock;
	ldi R24,<_lock
	ldi R25,>_lock
	sts _o+1,R25
	sts _o,R24
	.dbline 391
; 																				 key=display_flash(fbit,cbit,2);
	ldi R24,2
	std y+0,R24
	ldd R18,y+16
	ldd R16,y+15
	rcall _display_flash
	sts _key,R16
	.dbline 392
; 																				 switch (key)
	mov R2,R16
	clr R3
	std y+14,R3
	std y+13,R2
	movw R24,R2
	cpi R24,19
	ldi R30,0
	cpc R25,R30
	brne X78
	rjmp L55
X78:
	ldi R24,19
	cp R24,R2
	cpc R25,R3
	brlt L207
L206:
	ldd R24,y+13
	ldd R25,y+14
	cpi R24,7
	ldi R30,0
	cpc R25,R30
	breq L186
	cpi R24,11
	ldi R30,0
	cpc R25,R30
	brne X79
	rjmp L199
X79:
	cpi R24,13
	ldi R30,0
	cpc R25,R30
	brne X80
	rjmp L194
X80:
	cpi R24,14
	ldi R30,0
	cpc R25,R30
	breq L189
	rjmp L183
L207:
	ldd R24,y+13
	ldd R25,y+14
	cpi R24,23
	ldi R30,0
	cpc R25,R30
	brne X81
	rjmp L12
X81:
	rjmp L183
X12:
	.dbline 393
; 																				         {
L186:
	.dbline 395
; 																						 case    set:
; 																						 if(fbit==2) 
	ldd R24,y+15
	cpi R24,2
	breq X82
	rjmp L53
X82:
	.dbline 396
; 																						  { fbit=0;
	.dbline 396
	clr R0
	std y+15,R0
	.dbline 397
; 																						    lockda=process_add();
	rcall _process_add
	sts _lockda+1,R17
	sts _lockda,R16
	.dbline 398
; 																							}
	.dbline 400
; 																						 else           
; 																						 goto    menu2;
	.dbline 401
; 																						 break;
	rjmp L184
L189:
	.dbline 403
; 																						 case    up:
; 			                                                                             if(fbit==2)
	ldd R24,y+15
	cpi R24,2
	breq X83
	rjmp L184
X83:
	.dbline 404
; 			                                                                                 {        if(p[cbit]<9) p[cbit]++;
	.dbline 404
	lds R2,_p
	lds R3,_p+1
	ldd R30,y+16
	clr R31
	add R30,R2
	adc R31,R3
	ldd R24,z+0
	cpi R24,9
	brsh L192
	.dbline 404
	ldd R4,y+16
	clr R5
	add R4,R2
	adc R5,R3
	movw R30,R4
	ldd R24,z+0
	subi R24,255    ; addi 1
	std z+0,R24
	rjmp L184
L192:
	.dbline 405
; 			                                                                                          else             p[cbit]=0;}
	lds R2,_p
	lds R3,_p+1
	ldd R30,y+16
	clr R31
	add R30,R2
	adc R31,R3
	clr R2
	std z+0,R2
	.dbline 405
	.dbline 406
; 			                                                                             break;
	rjmp L184
L194:
	.dbline 408
; 			                                                                             case    down:
; 			                                                                             if(fbit==2)
	ldd R24,y+15
	cpi R24,2
	breq X84
	rjmp L184
X84:
	.dbline 409
; 			                                                                                 {        if(p[cbit]>0) p[cbit]--;
	.dbline 409
	lds R2,_p
	lds R3,_p+1
	ldd R30,y+16
	clr R31
	add R30,R2
	adc R31,R3
	ldd R2,z+0
	clr R3
	cp R3,R2
	brsh L197
	.dbline 409
	lds R2,_p
	lds R3,_p+1
	ldd R4,y+16
	clr R5
	add R4,R2
	adc R5,R3
	movw R30,R4
	ldd R24,z+0
	subi R24,1
	std z+0,R24
	rjmp L184
L197:
	.dbline 410
; 			                                                                                          else           p[cbit]=9;}
	lds R2,_p
	lds R3,_p+1
	ldd R30,y+16
	clr R31
	add R30,R2
	adc R31,R3
	ldi R24,9
	std z+0,R24
	.dbline 410
	.dbline 411
; 			                                                                             break;
	rjmp L184
L199:
	.dbline 413
; 			                                                                             case    left:
; 			                                                                             fbit=2;
	ldi R24,2
	std y+15,R24
	.dbline 414
; 			                                                                             if(cbit<5) cbit++;
	ldd R24,y+16
	cpi R24,5
	brsh L200
	.dbline 414
	mov R0,R24
	inc R0
	std y+16,R0
	rjmp L201
L200:
	.dbline 415
; 			                                                                             else        cbit=0;
	clr R0
	std y+16,R0
L201:
	.dbline 416
; 			                                                                             if(p[cbit]==10)     p[cbit]=0;
	lds R2,_p
	lds R3,_p+1
	ldd R30,y+16
	clr R31
	add R30,R2
	adc R31,R3
	ldd R24,z+0
	cpi R24,10
	brne L184
	.dbline 416
	ldd R30,y+16
	clr R31
	add R30,R2
	adc R31,R3
	clr R2
	std z+0,R2
	.dbline 417
; 			                                                                             break;
	.dbline 419
; 																						 case    set3s:
; 																						 return;
	.dbline 421
; 																						 case   set_left3s:
;                                                                                          goto   menu3;	
L183:
L184:
	.dbline 423
L173:
	.dbline 384
	rjmp L172
X13:
	.dbline 424
; 																						 }
; 																				  }
; 																				break;
	rjmp L167
L208:
L209:
	.dbline 426
; rst_mcall:																	  case    up:
;                               											        if(fbit==2)
	ldd R24,y+15
	cpi R24,2
	brne L167
	.dbline 427
; 													                             {
	.dbline 428
; 							                                                     if(reset_m<2)      reset_m++;
	mov R24,R14
	cpi R24,2
	brsh L212
	.dbline 428
	inc R14
	rjmp L167
L212:
	.dbline 429
; 							                                                     else                   reset_m=0;
	clr R14
	.dbline 430
; 													                             }
	.dbline 431
; 						                                                        break;
	rjmp L167
X14:
	.dbline 433
; 																                case    down:
; 																                goto     rst_mcall;
L215:
	.dbline 435
; 													                            case    left:
; 													                            fbit=2;
	ldi R24,2
	std y+15,R24
	.dbline 436
; 													                            break;
	.dbline 438
; 													                            case   set3s:
; 							                                                    return ;
	.dbline 440
; 																				case   set_left3s:
;                                                                                 goto   menu3;	
L166:
L167:
	.dbline 442
L158:
	.dbline 364
	rjmp L157
X15:
	.dbline 443
; 																				}
; 																} 
; 																break;
	rjmp L152
L220:
L221:
	.dbline 445
; 												                case    up:
; in_mcall:												      if(fbit==2)
	ldd R24,y+15
	cpi R24,2
	brne L152
	.dbline 446
; 													             {
	.dbline 447
; 			                                                     if(intm_m==0)  intm_m++;
	tst R10
	brne L224
	.dbline 447
	inc R10
	rjmp L152
L224:
	.dbline 448
; 			                                                      else                intm_m=0;
	clr R10
	.dbline 449
; 			                                                     }
	.dbline 450
; 						                                        break;
	rjmp L152
X16:
	.dbline 452
; 																case    down:
; 																goto     in_mcall;
L227:
	.dbline 454
; 													            case    left:
; 													            fbit=2;
	ldi R24,2
	std y+15,R24
	.dbline 455
; 													            break;
	.dbline 457
; 													            case   set3s:
; 							                                    return ;
	.dbline 459
; 																case   set_left3s:
;                                                                 goto   menu3;	
L151:
L152:
	.dbline 461
L147:
	.dbline 349
	rjmp L146
X17:
	.dbline 462
; 												              }
; 													 }	
; 											 }
	.dbline 463
; 										}																	 			  
	.dbline 464
; 						                break;
	rjmp L139
L232:
	.dbline 466
; 										case   up:
; 										if(fbit==2)
	ldd R24,y+15
	cpi R24,2
	breq X85
	rjmp L139
X85:
	.dbline 467
; 										  {    if(cbit!=3)   {   if(p[cbit]<9) p[cbit]++;
	.dbline 467
	ldd R24,y+16
	cpi R24,3
	breq L235
	.dbline 467
	.dbline 467
	lds R2,_p
	lds R3,_p+1
	mov R30,R24
	clr R31
	add R30,R2
	adc R31,R3
	ldd R24,z+0
	cpi R24,9
	brsh L237
	.dbline 467
	ldd R4,y+16
	clr R5
	add R4,R2
	adc R5,R3
	movw R30,R4
	ldd R24,z+0
	subi R24,255    ; addi 1
	std z+0,R24
	rjmp L139
L237:
	.dbline 468
; 													                  else              p[cbit]=0;  }
	lds R2,_p
	lds R3,_p+1
	ldd R30,y+16
	clr R31
	add R30,R2
	adc R31,R3
	clr R2
	std z+0,R2
	.dbline 468
	rjmp L139
L235:
	.dbline 469
; 												else            { if(p[cbit]==0) p[cbit]=1;
	.dbline 469
	lds R2,_p
	lds R3,_p+1
	ldd R30,y+16
	clr R31
	add R30,R2
	adc R31,R3
	ldd R2,z+0
	tst R2
	brne L239
	.dbline 469
	lds R2,_p
	lds R3,_p+1
	ldd R30,y+16
	clr R31
	add R30,R2
	adc R31,R3
	ldi R24,1
	std z+0,R24
	rjmp L139
L239:
	.dbline 470
; 														                 else             p[cbit]=0;}
	lds R2,_p
	lds R3,_p+1
	ldd R30,y+16
	clr R31
	add R30,R2
	adc R31,R3
	clr R2
	std z+0,R2
	.dbline 470
	.dbline 471
; 										  }
	.dbline 472
; 										break;
	rjmp L139
L241:
	.dbline 474
; 										case    down:
; 										if(fbit==2)         
	ldd R24,y+15
	cpi R24,2
	breq X86
	rjmp L139
X86:
	.dbline 475
; 										 {   if(cbit!=3)     {   if(p[cbit]>0)   p[cbit]--;
	.dbline 475
	ldd R24,y+16
	cpi R24,3
	breq L244
	.dbline 475
	.dbline 475
	lds R2,_p
	lds R3,_p+1
	mov R30,R24
	clr R31
	add R30,R2
	adc R31,R3
	ldd R2,z+0
	clr R3
	cp R3,R2
	brsh L246
	.dbline 475
	lds R2,_p
	lds R3,_p+1
	mov R4,R24
	clr R5
	add R4,R2
	adc R5,R3
	movw R30,R4
	ldd R24,z+0
	subi R24,1
	std z+0,R24
	rjmp L139
L246:
	.dbline 476
; 													                  else              p[cbit]=9;  }
	lds R2,_p
	lds R3,_p+1
	ldd R30,y+16
	clr R31
	add R30,R2
	adc R31,R3
	ldi R24,9
	std z+0,R24
	.dbline 476
	rjmp L139
L244:
	.dbline 477
; 											 else               { if(p[cbit]==0) p[cbit]=1;
	.dbline 477
	lds R2,_p
	lds R3,_p+1
	ldd R30,y+16
	clr R31
	add R30,R2
	adc R31,R3
	ldd R2,z+0
	tst R2
	brne L248
	.dbline 477
	lds R2,_p
	lds R3,_p+1
	ldd R30,y+16
	clr R31
	add R30,R2
	adc R31,R3
	ldi R24,1
	std z+0,R24
	rjmp L139
L248:
	.dbline 478
; 														              else              p[cbit]=0;  }
	lds R2,_p
	lds R3,_p+1
	ldd R30,y+16
	clr R31
	add R30,R2
	adc R31,R3
	clr R2
	std z+0,R2
	.dbline 478
	.dbline 479
; 										  }
	.dbline 480
; 									    break;
	rjmp L139
L250:
	.dbline 482
; 										case    left:
; 										fbit=2;
	ldi R24,2
	std y+15,R24
	.dbline 484
; 										
; 										if(cbit<3)   {cbit++;}
	ldd R24,y+16
	cpi R24,3
	brsh L251
	.dbline 484
	.dbline 484
	mov R0,R24
	inc R0
	std y+16,R0
	.dbline 484
	rjmp L252
L251:
	.dbline 485
; 										else         { cbit=0;}
	.dbline 485
	clr R0
	std y+16,R0
	.dbline 485
L252:
	.dbline 486
; 										if(p[cbit]==10)     {p[cbit]=0;}
	lds R2,_p
	lds R3,_p+1
	ldd R30,y+16
	clr R31
	add R30,R2
	adc R31,R3
	ldd R24,z+0
	cpi R24,10
	brne L139
	.dbline 486
	.dbline 486
	ldd R30,y+16
	clr R31
	add R30,R2
	adc R31,R3
	clr R2
	std z+0,R2
	.dbline 486

⌨️ 快捷键说明

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