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

📄 edu.lst

📁 一个单片机的完整开发程序AVR的
💻 LST
📖 第 1 页 / 共 5 页
字号:
    040C 4FFF      SBCI	R31,0xFF
    040D 8300      STD	Z+0,R16
(0354) 				  k=score-i*100-j*10;
    040E E684      LDI	R24,0x64
    040F 01FE      MOVW	R30,R28
    0410 53E6      SUBI	R30,0x36
    0411 4FFF      SBCI	R31,0xFF
    0412 8000      LDD	R0,Z+0
    0413 9D80      MUL	R24,R0
    0414 2C2A      MOV	R2,R10
    0415 1820      SUB	R2,R0
    0416 E08A      LDI	R24,0xA
    0417 2E00      MOV	R0,R16
    0418 9D80      MUL	R24,R0
    0419 1820      SUB	R2,R0
    041A 01FE      MOVW	R30,R28
    041B 53E5      SUBI	R30,0x35
    041C 4FFF      SBCI	R31,0xFF
    041D 8220      STD	Z+0,R2
(0355) 				  if(i==1)
    041E 01FE      MOVW	R30,R28
    041F 53E6      SUBI	R30,0x36
    0420 4FFF      SBCI	R31,0xFF
    0421 8180      LDD	R24,Z+0
    0422 3081      CPI	R24,1
    0423 F471      BNE	0x0432
(0356) 		 		  	lcd_buffer[3]=table[j]|0x10;
    0424 E680      LDI	R24,0x60
    0425 E090      LDI	R25,0
    0426 01DE      MOVW	R26,R28
    0427 53A4      SUBI	R26,0x34
    0428 4FBF      SBCI	R27,0xFF
    0429 91EC      LD	R30,0(X)
    042A 27FF      CLR	R31
    042B 0FE8      ADD	R30,R24
    042C 1FF9      ADC	R31,R25
    042D 8180      LDD	R24,Z+0
    042E 6180      ORI	R24,0x10
    042F 93800145  STS	_lcd_buffer+3,R24
    0431 C00C      RJMP	0x043E
(0357) 				  else
(0358) 		 		    lcd_buffer[3]=table[j];
    0432 E680      LDI	R24,0x60
    0433 E090      LDI	R25,0
    0434 01DE      MOVW	R26,R28
    0435 53A4      SUBI	R26,0x34
    0436 4FBF      SBCI	R27,0xFF
    0437 91EC      LD	R30,0(X)
    0438 27FF      CLR	R31
    0439 0FE8      ADD	R30,R24
    043A 1FF9      ADC	R31,R25
    043B 8020      LDD	R2,Z+0
    043C 92200145  STS	_lcd_buffer+3,R2
(0359) 				  lcd_buffer[13]=table[k]|0x10;
    043E E680      LDI	R24,0x60
    043F E090      LDI	R25,0
    0440 01DE      MOVW	R26,R28
    0441 53A5      SUBI	R26,0x35
    0442 4FBF      SBCI	R27,0xFF
    0443 91EC      LD	R30,0(X)
    0444 27FF      CLR	R31
    0445 0FE8      ADD	R30,R24
    0446 1FF9      ADC	R31,R25
    0447 8180      LDD	R24,Z+0
    0448 6180      ORI	R24,0x10
    0449 9380014F  STS	0x14F,R24
(0360) 				  send_data(6,lcd_buffer[3]);
    044B 91200145  LDS	R18,_lcd_buffer+3
    044D E006      LDI	R16,6
    044E 940E0A59  CALL	_send_data
(0361) 				  send_data(26,lcd_buffer[13]);
    0450 9120014F  LDS	R18,0x14F
    0452 E10A      LDI	R16,0x1A
    0453 940E0A59  CALL	_send_data
(0362) 				  break;
(0363) 	   deflaut:   break;
(0364) 	  }
(0365)    	 
(0366) 	  }
(0367)      }
(0368)     
(0369) 	}
(0370) 	}
(0371) A:   if((data[4]==0xFE||data[4]==0xDB)&&data[ques_num+5]==0xDB)// //it is the answer
    0455 91800071  LDS	R24,0x71
    0457 3F8E      CPI	R24,0xFE
    0458 F019      BEQ	0x045C
    0459 3D8B      CPI	R24,0xDB
    045A F009      BEQ	0x045C
    045B C03C      RJMP	0x0498
    045C E782      LDI	R24,0x72
    045D E090      LDI	R25,0
    045E 91E0006C  LDS	R30,_ques_num
    0460 27FF      CLR	R31
    0461 0FE8      ADD	R30,R24
    0462 1FF9      ADC	R31,R25
    0463 8180      LDD	R24,Z+0
    0464 3D8B      CPI	R24,0xDB
    0465 F009      BEQ	0x0467
    0466 C031      RJMP	0x0498
(0372) 		{
(0373) 	 	key_flag=0;
    0467 2400      CLR	R0
    0468 01FE      MOVW	R30,R28
    0469 52ED      SUBI	R30,0x2D
    046A 4FFF      SBCI	R31,0xFF
    046B 8200      STD	Z+0,R0
(0374) 		lcd_buffer[9]=0x40;
    046C E480      LDI	R24,0x40
    046D 9380014B  STS	0x14B,R24
(0375) 	  	for(i=0;i<ques_num;i++)
    046F 01FE      MOVW	R30,R28
    0470 53E6      SUBI	R30,0x36
    0471 4FFF      SBCI	R31,0xFF
    0472 8200      STD	Z+0,R0
    0473 C01C      RJMP	0x0490
(0376) 	  	ans[i]=data[i+5];
    0474 E782      LDI	R24,0x72
    0475 E090      LDI	R25,0
    0476 01DE      MOVW	R26,R28
    0477 53A6      SUBI	R26,0x36
    0478 4FBF      SBCI	R27,0xFF
    0479 91EC      LD	R30,0(X)
    047A 27FF      CLR	R31
    047B 0FE8      ADD	R30,R24
    047C 1FF9      ADC	R31,R25
    047D 8020      LDD	R2,Z+0
    047E 01CE      MOVW	R24,R28
    047F 01DE      MOVW	R26,R28
    0480 53A6      SUBI	R26,0x36
    0481 4FBF      SBCI	R27,0xFF
    0482 91EC      LD	R30,0(X)
    0483 27FF      CLR	R31
    0484 0FE8      ADD	R30,R24
    0485 1FF9      ADC	R31,R25
    0486 8220      STD	Z+0,R2
    0487 01FE      MOVW	R30,R28
    0488 53E6      SUBI	R30,0x36
    0489 4FFF      SBCI	R31,0xFF
    048A 8000      LDD	R0,Z+0
    048B 9403      INC	R0
    048C 01FE      MOVW	R30,R28
    048D 53E6      SUBI	R30,0x36
    048E 4FFF      SBCI	R31,0xFF
    048F 8200      STD	Z+0,R0
    0490 9020006C  LDS	R2,_ques_num
    0492 01FE      MOVW	R30,R28
    0493 53E6      SUBI	R30,0x36
    0494 4FFF      SBCI	R31,0xFF
    0495 8000      LDD	R0,Z+0
    0496 1402      CP	R0,R2
    0497 F2E0      BCS	0x0474
(0377) 	  	
(0378) 	 	}
(0379) 		
(0380) 
(0381) 	if(ans[ques_id-1]&0x01)
    0498 01CE      MOVW	R24,R28
    0499 9701      SBIW	R24,1
    049A 01DE      MOVW	R26,R28
    049B 53A3      SUBI	R26,0x33
    049C 4FBF      SBCI	R27,0xFF
    049D 91EC      LD	R30,0(X)
    049E 27FF      CLR	R31
    049F 0FE8      ADD	R30,R24
    04A0 1FF9      ADC	R31,R25
    04A1 8020      LDD	R2,Z+0
    04A2 FE20      SBRS	R2,0
    04A3 C006      RJMP	0x04AA
(0382) 	    lcd_buffer[9]|=0x04;
    04A4 9180014B  LDS	R24,0x14B
    04A6 6084      ORI	R24,4
    04A7 9380014B  STS	0x14B,R24
    04A9 C005      RJMP	0x04AF
(0383) 	  else
(0384) 	  	lcd_buffer[9]&=0xfb;	
    04AA 9180014B  LDS	R24,0x14B
    04AC 7F8B      ANDI	R24,0xFB
    04AD 9380014B  STS	0x14B,R24
(0385) 	if(ans[ques_id-1]&0x02)
    04AF 01CE      MOVW	R24,R28
    04B0 9701      SBIW	R24,1
    04B1 01DE      MOVW	R26,R28
    04B2 53A3      SUBI	R26,0x33
    04B3 4FBF      SBCI	R27,0xFF
    04B4 91EC      LD	R30,0(X)
    04B5 27FF      CLR	R31
    04B6 0FE8      ADD	R30,R24
    04B7 1FF9      ADC	R31,R25
    04B8 8020      LDD	R2,Z+0
    04B9 FE21      SBRS	R2,1
    04BA C006      RJMP	0x04C1
(0386) 	    lcd_buffer[9]|=0x08;
    04BB 9180014B  LDS	R24,0x14B
    04BD 6088      ORI	R24,0x8
    04BE 9380014B  STS	0x14B,R24
    04C0 C005      RJMP	0x04C6
(0387) 	  else
(0388) 	  	lcd_buffer[9]&=0xf7;	
    04C1 9180014B  LDS	R24,0x14B
    04C3 7F87      ANDI	R24,0xF7
    04C4 9380014B  STS	0x14B,R24
(0389) 	if(ans[ques_id-1]&0x04)
    04C6 01CE      MOVW	R24,R28
    04C7 9701      SBIW	R24,1
    04C8 01DE      MOVW	R26,R28
    04C9 53A3      SUBI	R26,0x33
    04CA 4FBF      SBCI	R27,0xFF
    04CB 91EC      LD	R30,0(X)
    04CC 27FF      CLR	R31
    04CD 0FE8      ADD	R30,R24
    04CE 1FF9      ADC	R31,R25
    04CF 8020      LDD	R2,Z+0
    04D0 FE22      SBRS	R2,2
    04D1 C006      RJMP	0x04D8
(0390) 	    lcd_buffer[1]|=0x20;
    04D2 91800143  LDS	R24,_lcd_buffer+1
    04D4 6280      ORI	R24,0x20
    04D5 93800143  STS	_lcd_buffer+1,R24
    04D7 C005      RJMP	0x04DD
(0391) 	  else
(0392) 	  	lcd_buffer[1]&=0xdf;	
    04D8 91800143  LDS	R24,_lcd_buffer+1
    04DA 7D8F      ANDI	R24,0xDF
    04DB 93800143  STS	_lcd_buffer+1,R24
(0393) 	if(ans[ques_id-1]&0x08)
    04DD 01CE      MOVW	R24,R28
    04DE 9701      SBIW	R24,1
    04DF 01DE      MOVW	R26,R28
    04E0 53A3      SUBI	R26,0x33
    04E1 4FBF      SBCI	R27,0xFF
    04E2 91EC      LD	R30,0(X)
    04E3 27FF      CLR	R31
    04E4 0FE8      ADD	R30,R24
    04E5 1FF9      ADC	R31,R25
    04E6 8020      LDD	R2,Z+0
    04E7 FE23      SBRS	R2,3
    04E8 C006      RJMP	0x04EF
(0394) 	    lcd_buffer[1]|=0x40;
    04E9 91800143  LDS	R24,_lcd_buffer+1
    04EB 6480      ORI	R24,0x40
    04EC 93800143  STS	_lcd_buffer+1,R24
    04EE C005      RJMP	0x04F4
(0395) 	  else
(0396) 	  	lcd_buffer[1]&=0xbf;	
    04EF 91800143  LDS	R24,_lcd_buffer+1
    04F1 7B8F      ANDI	R24,0xBF
    04F2 93800143  STS	_lcd_buffer+1,R24
(0397) 	if(ans[ques_id-1]&0x10)
    04F4 01CE      MOVW	R24,R28
    04F5 9701      SBIW	R24,1
    04F6 01DE      MOVW	R26,R28
    04F7 53A3      SUBI	R26,0x33
    04F8 4FBF      SBCI	R27,0xFF
    04F9 91EC      LD	R30,0(X)
    04FA 27FF      CLR	R31
    04FB 0FE8      ADD	R30,R24
    04FC 1FF9      ADC	R31,R25
    04FD 8020      LDD	R2,Z+0
    04FE FE24      SBRS	R2,4
    04FF C006      RJMP	0x0506
(0398) 	    lcd_buffer[1]|=0x04;
    0500 91800143  LDS	R24,_lcd_buffer+1
    0502 6084      ORI	R24,4
    0503 93800143  STS	_lcd_buffer+1,R24
    0505 C005      RJMP	0x050B
(0399) 	  else
(0400) 	  	lcd_buffer[1]&=0xfb;	
    0506 91800143  LDS	R24,_lcd_buffer+1
    0508 7F8B      ANDI	R24,0xFB
    0509 93800143  STS	_lcd_buffer+1,R24
(0401) 			
(0402) 	send_data(2,lcd_buffer[1]);
    050B 91200143  LDS	R18,_lcd_buffer+1
    050D E002      LDI	R16,2
    050E 940E0A59  CALL	_send_data
(0403) 	send_data(18,lcd_buffer[9]);
    0510 9120014B  LDS	R18,0x14B
    0512 E102      LDI	R16,0x12
    0513 940E0A59  CALL	_send_data
(0404) 
(0405) 	if(ques_num!=0)//&&key_flag==1
    0515 9020006C  LDS	R2,_ques_num
    0517 2022      TST	R2
    0518 F409      BNE	0x051A
    0519 C47B      RJMP	0x0995
(0406)    {
(0407) 	 j=0;
    051A 2400      CLR	R0
    051B 01FE      MOVW	R30,R28
    051C 53E4      SUBI	R30,0x34
    051D 4FFF      SBCI	R31,0xFF
    051E 8200      STD	Z+0,R0
(0408)    	for(k=0;k<ques_num;k++)
    051F 01FE      MOVW	R30,R28
    0520 53E5      SUBI	R30,0x35
    0521 4FFF      SBCI	R31,0xFF
    0522 8200      STD	Z+0,R0
    0523 C02F      RJMP	0x0553
(0409) 	{
(0410) 	 if(ques[k]==0)
    0524 ED8B      LDI	R24,0xDB
    0525 E090      LDI	R25,0
    0526 01DE      MOVW	R26,R28
    0527 53A5      SUBI	R26,0x35
    0528 4FBF      SBCI	R27,0xFF
    0529 91EC      LD	R30,0(X)
    052A 27FF      CLR	R31
    052B 0FE8      ADD	R30,R24
    052C 1FF9      ADC	R31,R25
    052D 8020      LDD	R2,Z+0
    052E 2022      TST	R2
    052F F4D1      BNE	0x054A
(0411) 	 {
(0412) 	  n_ques[j]=k+1;
    0530 01CE      MOVW	R24,R28
    0531 598C      SUBI	R24,0x9C
    0532 4F9F      SBCI	R25,0xFF
    0533 01DE      MOVW	R26,R28
    0534 53A4      SUBI	R26,0x34
    0535 4FBF      SBCI	R27,0xFF
    0536 91EC      LD	R30,0(X)
    0537 27FF      CLR	R31
    0538 0FE8      ADD	R30,R24
    0539 1FF9      ADC	R31,R25
    053A 01DE      MOVW	R26,R28
    053B 53A5      SUBI	R26,0x35
    053C 4FBF      SBCI	R27,0xFF
    053D 918C      LD	R24,0(X)
    053E 5F8F      SUBI	R24,0xFF
    053F 8380      STD	Z+0,R24
(0413) 	  j++;
    0540 01FE      MOVW	R30,R28
    0541 53E4      SUBI	R30,0x34
    0542 4FFF      SBCI	R31,0xFF
    0543 8000      LDD	R0,Z+0
    0544 9403      INC	R0
    0545 01FE      MOVW	R30,R28
    0546 53E4      SUBI	R30,0x34
    0547 4FFF      SBCI	R31,0xFF
    0548 8200      STD	Z+0,R0
(0414) 	  n_num++;
    0549 94E3      INC	R14
    054A 01FE      MOVW	R30,R28
    054B 53E5      SUBI	R30,0x35
    054C 4FFF      SBCI	R31,0xFF
    054D 8000      LDD	R0,Z+0
    054E 9403      INC	R0
    054F 01FE      MOVW	R30,R28
    0550 53E5      SUBI	R30,0x35
    0551 4FFF      SBCI	R31,0xFF
    0552 8200      STD	Z+0,R0
    0553 9020006C  LDS	R2,_ques_num
    0555 01FE      MOVW	R30,R28
    0556 53E5      SUBI	R30,0x35
    0557 4FFF      SBCI	R31,0xFF
    0558 8000      LDD	R0,Z+0
    0559 1402      CP	R0,R2
    055A F408      BCC	0x055C
    055B CFC8      RJMP	0x0524
(0415) 	 }
(0416) 	}
(0417) 	i=n_num/100;
    055C E614      LDI	R17,0x64
    055D 2D0E      MOV	R16,R14
    055E 940E0B82  CALL	div8u
    0560 01FE      MOVW	R30,R28
    0561 53E6      SUBI	R30,0x36
    0562 4FFF      SBCI	R31,0xFF
    0563 8300      STD	Z+0,R16
(0418) 	j=(n_num-i*100)/10;
    0564 E684      LDI	R24,0x64
    0565 2E00      MOV	R0,R16
    0566 9D80      MUL	R24,R0
    0567 2D0E      MOV	R16,R14
    0568 1900      SUB	R16,R0
    0569 E01A      LDI	R17,0xA
    056A 940E0B82  CALL	div8u
    056C 01FE      MOVW	R30,R28
    056D 53E4      SUBI	R30,0x34
    056E 4FFF      SBCI	R31,0xFF
    056F 8300      STD	Z+0,R16
(0419) 	k=n_num-i*100-j*10;
    0570 E684      LDI	R24,0x64
    0571 01FE      MOVW	R30,R28
    0572 53E6      SUBI	R30,0x36
    0573 4FFF      SBCI	R31,0xFF
    0574 8000      LDD	R0,Z+0
    0575 9D80      MUL	R24,R0
    0576 2C2E      MOV	R2,R14
    0577 1820      SUB	R2,R0
    0578 E08A      LDI	R24,0xA
    0579 2E00      MOV	R0,R16
    057A 9D80      MUL	R24,R0
    057B 1820      SUB	R2,R0
    057C 01FE      MOVW	R30,R28
    057D 53E5      SUBI	R30,0x35
    057E 4FFF      SBCI	R31,0xFF
    057F 8220      STD	Z+0,R2
(0420) 	lcd_buffer[12]|=0x40;
    0580 9180014E  LDS	R24,0x14E
    0582 6480      ORI	R24,0x40
    0583 9380014E  STS	0x14E,R24
(0421) 	if(i==1)
    0585 01FE      MOVW	R30,R28
    0586 53E6      SUBI	R30,0x36
    0587 4FFF      SBCI	R31,0xFF
    0588 8180      LDD	R24,Z+0
    0589 3081      CPI	R24,1
    058A F459      BNE	0x0596
(0422) 	 lcd_buffer[2]=table[k]|0x10;
    058B E680      LDI	R24,0x60
    058C E090      LDI	R25,0
    058D 2DE2      MOV	R30,R2
    058E 27FF      CLR	R31
    058F 0FE8      ADD	R30,R24
    0590 1FF9      ADC	R31,R25
    0591 8180      LDD	R24,Z+0
    0592 6180      ORI	R24,0x10
    0593 93800144  STS	_lcd_buffer+2,R24
    0595 C00D      RJMP	0x05A3
(0423) 	else
(0424) 	 lcd_buffer[2]=table[k]&0xef;
    0596 E680      LDI	R24,0x60
    0597 E090      LDI	R25,0
    0598 01DE      MOVW	R26,R28

⌨️ 快捷键说明

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