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

📄 icc17-1.lst

📁 手把手教你学AVR单片机C程序设计实验程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
    0C43 E0E0      LDI	R30,0
    0C44 075E      CPC	R21,R30
    0C45 F179      BEQ	0x0C75
    0C46 3045      CPI	R20,5
    0C47 E0E0      LDI	R30,0
    0C48 075E      CPC	R21,R30
    0C49 F109      BEQ	0x0C6B
    0C4A 3046      CPI	R20,6
    0C4B E0E0      LDI	R30,0
    0C4C 075E      CPC	R21,R30
    0C4D F149      BEQ	0x0C77
    0C4E 3047      CPI	R20,7
    0C4F E0E0      LDI	R30,0
    0C50 075E      CPC	R21,R30
    0C51 F0D9      BEQ	0x0C6D
    0C52 3048      CPI	R20,0x8
    0C53 E0E0      LDI	R30,0
    0C54 075E      CPC	R21,R30
    0C55 F0C9      BEQ	0x0C6F
    0C56 3049      CPI	R20,0x9
    0C57 E0E0      LDI	R30,0
    0C58 075E      CPC	R21,R30
    0C59 F0F9      BEQ	0x0C79
    0C5A 304A      CPI	R20,0xA
    0C5B E0E0      LDI	R30,0
    0C5C 075E      CPC	R21,R30
    0C5D F099      BEQ	0x0C71
    0C5E 304B      CPI	R20,0xB
    0C5F E0E0      LDI	R30,0
    0C60 075E      CPC	R21,R30
    0C61 F0C9      BEQ	0x0C7B
    0C62 304C      CPI	R20,0xC
    0C63 E0E0      LDI	R30,0
    0C64 075E      CPC	R21,R30
    0C65 F069      BEQ	0x0C73
    0C66 C030      RJMP	0x0C97
(0058)   {				
(0059)   case 1:len=31;break;			
    0C67 E14F      LDI	R20,0x1F
    0C68 C030      RJMP	0x0C99
(0060)   case 3:len=31;break;		
    0C69 E14F      LDI	R20,0x1F
    0C6A C02E      RJMP	0x0C99
(0061)   case 5:len=31;break;	
    0C6B E14F      LDI	R20,0x1F
    0C6C C02C      RJMP	0x0C99
(0062)   case 7:len=31;break;		
    0C6D E14F      LDI	R20,0x1F
    0C6E C02A      RJMP	0x0C99
(0063)   case 8:len=31;break;	
    0C6F E14F      LDI	R20,0x1F
    0C70 C028      RJMP	0x0C99
(0064)   case 10:len=31;break;		
    0C71 E14F      LDI	R20,0x1F
    0C72 C026      RJMP	0x0C99
(0065)   case 12:len=31;break;		
    0C73 E14F      LDI	R20,0x1F
    0C74 C024      RJMP	0x0C99
(0066)   case 4:len=30;break;		
    0C75 E14E      LDI	R20,0x1E
    0C76 C022      RJMP	0x0C99
(0067)   case 6:len=30;break;	
    0C77 E14E      LDI	R20,0x1E
    0C78 C020      RJMP	0x0C99
(0068)   case 9:len=30;break;		
    0C79 E14E      LDI	R20,0x1E
    0C7A C01E      RJMP	0x0C99
(0069)   case 11:len=30;break;		
    0C7B E14E      LDI	R20,0x1E
    0C7C C01C      RJMP	0x0C99
(0070)   case 2:if(year%4==0&&year%100!=0||year%400==0)len=29;	
    0C7D 01CB      MOVW	R24,R22
    0C7E 7083      ANDI	R24,3
    0C7F 7090      ANDI	R25,0
    0C80 3080      CPI	R24,0
    0C81 0789      CPC	R24,R25
    0C82 F441      BNE	0x0C8B
    0C83 E624      LDI	R18,0x64
    0C84 E030      LDI	R19,0
    0C85 018B      MOVW	R16,R22
    0C86 940E1245  CALL	mod16u
    0C88 3000      CPI	R16,0
    0C89 0701      CPC	R16,R17
    0C8A F441      BNE	0x0C93
    0C8B E920      LDI	R18,0x90
    0C8C E031      LDI	R19,1
    0C8D 018B      MOVW	R16,R22
    0C8E 940E1245  CALL	mod16u
    0C90 3000      CPI	R16,0
    0C91 0701      CPC	R16,R17
    0C92 F411      BNE	0x0C95
    0C93 E14D      LDI	R20,0x1D
    0C94 C004      RJMP	0x0C99
(0071) 	else len=28;break;		
    0C95 E14C      LDI	R20,0x1C
    0C96 C002      RJMP	0x0C99
(0072)   default:return 0;		
    0C97 2700      CLR	R16
    0C98 C001      RJMP	0x0C9A
(0073)   }				
(0074) return len;			
    0C99 2F04      MOV	R16,R20
    0C9A 940E1289  CALL	pop_gset2
    0C9C 9508      RET
_Rece:
    0C9D 940E129D  CALL	push_gset1
FILE: D:\文稿\手把手教你学AVR单片机C程序设计\第17章~1\第17章实验程序\icc17-1\recever.c
(0001) void Rece(void)
(0002) {
(0003)   if(Flag==1)				
    0C9F 9180006D  LDS	R24,Flag
    0CA1 3081      CPI	R24,1
    0CA2 F009      BEQ	0x0CA4
    0CA3 C2A0      RJMP	0x0F44
(0004)    {  						
(0005)     SREG=0x00;		
    0CA4 2422      CLR	R2
    0CA5 BE2F      OUT	0x3F,R2
(0006) 	switch(ReceverCnt)	
    0CA6 9140006B  LDS	R20,ReceverCnt
    0CA8 2755      CLR	R21
    0CA9 3040      CPI	R20,0
    0CAA E0E0      LDI	R30,0
    0CAB 075E      CPC	R21,R30
    0CAC F40C      BGE	0x0CAE
    0CAD C28E      RJMP	0x0F3C
    0CAE E28B      LDI	R24,0x2B
    0CAF E090      LDI	R25,0
    0CB0 1784      CP	R24,R20
    0CB1 0795      CPC	R25,R21
    0CB2 F40C      BGE	0x0CB4
    0CB3 C288      RJMP	0x0F3C
    0CB4 E002      LDI	R16,2
    0CB5 E010      LDI	R17,0
    0CB6 019A      MOVW	R18,R20
    0CB7 940E1279  CALL	empy16s
    0CB9 01F8      MOVW	R30,R16
    0CBA E584      LDI	R24,0x54
    0CBB E090      LDI	R25,0
    0CBC 0FE8      ADD	R30,R24
    0CBD 1FF9      ADC	R31,R25
    0CBE 9005      LPM	R0,Z+
    0CBF 9014      LPM	R1,0(Z)
    0CC0 01F0      MOVW	R30,R0
    0CC1 9409      IJMP
(0007) 	{						
(0008) 	case 0:if(temp=='(')ReceverCnt=1;	
    0CC2 9180008C  LDS	R24,temp
    0CC4 3288      CPI	R24,0x28
    0CC5 F421      BNE	0x0CCA
    0CC6 E081      LDI	R24,1
    0CC7 9380006B  STS	ReceverCnt,R24
    0CC9 C275      RJMP	0x0F3F
(0009) 	       else if(temp=='{')ReceverCnt=20;	
    0CCA 9180008C  LDS	R24,temp
    0CCC 378B      CPI	R24,0x7B
    0CCD F421      BNE	0x0CD2
    0CCE E184      LDI	R24,0x14
    0CCF 9380006B  STS	ReceverCnt,R24
    0CD1 C26D      RJMP	0x0F3F
(0010) 		   else if(temp=='<')ReceverCnt=40;	
    0CD2 9180008C  LDS	R24,temp
    0CD4 338C      CPI	R24,0x3C
    0CD5 F421      BNE	0x0CDA
    0CD6 E288      LDI	R24,0x28
    0CD7 9380006B  STS	ReceverCnt,R24
    0CD9 C265      RJMP	0x0F3F
(0011) 		   else ReceverEndFlag=0;break;
    0CDA 2422      CLR	R2
    0CDB 9220006C  STS	ReceverEndFlag,R2
    0CDD C261      RJMP	0x0F3F
(0012) 	case 1:if((temp>=0x30)&&(temp<=0x39)){a[0]=temp-0x30;ReceverCnt=2;}//year
    0CDE 9180008C  LDS	R24,temp
    0CE0 3380      CPI	R24,0x30
    0CE1 F068      BCS	0x0CEF
    0CE2 E389      LDI	R24,0x39
    0CE3 9020008C  LDS	R2,temp
    0CE5 1582      CP	R24,R2
    0CE6 F040      BCS	0x0CEF
    0CE7 2D82      MOV	R24,R2
    0CE8 5380      SUBI	R24,0x30
    0CE9 93800080  STS	a,R24
    0CEB E082      LDI	R24,2
    0CEC 9380006B  STS	ReceverCnt,R24
    0CEE C250      RJMP	0x0F3F
(0013) 		   else ReceverEndFlag=0;break;	
    0CEF 2422      CLR	R2
    0CF0 9220006C  STS	ReceverEndFlag,R2
    0CF2 C24C      RJMP	0x0F3F
(0014)     case 2:if((temp>=0x30)&&(temp<=0x39)){a[1]=temp-0x30;ReceverCnt=3;}
    0CF3 9180008C  LDS	R24,temp
    0CF5 3380      CPI	R24,0x30
    0CF6 F068      BCS	0x0D04
    0CF7 E389      LDI	R24,0x39
    0CF8 9020008C  LDS	R2,temp
    0CFA 1582      CP	R24,R2
    0CFB F040      BCS	0x0D04
    0CFC 2D82      MOV	R24,R2
    0CFD 5380      SUBI	R24,0x30
    0CFE 93800081  STS	a+1,R24
    0D00 E083      LDI	R24,3
    0D01 9380006B  STS	ReceverCnt,R24
    0D03 C23B      RJMP	0x0F3F
(0015) 		   else ReceverEndFlag=0;break;	
    0D04 2422      CLR	R2
    0D05 9220006C  STS	ReceverEndFlag,R2
    0D07 C237      RJMP	0x0F3F
(0016)     case 3:if((temp>=0x30)&&(temp<=0x39)){a[2]=temp-0x30;ReceverCnt=4;}
    0D08 9180008C  LDS	R24,temp
    0D0A 3380      CPI	R24,0x30
    0D0B F068      BCS	0x0D19
    0D0C E389      LDI	R24,0x39
    0D0D 9020008C  LDS	R2,temp
    0D0F 1582      CP	R24,R2
    0D10 F040      BCS	0x0D19
    0D11 2D82      MOV	R24,R2
    0D12 5380      SUBI	R24,0x30
    0D13 93800082  STS	a+2,R24
    0D15 E084      LDI	R24,4
    0D16 9380006B  STS	ReceverCnt,R24
    0D18 C226      RJMP	0x0F3F
(0017) 		   else ReceverEndFlag=0;break;	
    0D19 2422      CLR	R2
    0D1A 9220006C  STS	ReceverEndFlag,R2
    0D1C C222      RJMP	0x0F3F
(0018)     case 4:if((temp>=0x30)&&(temp<=0x39)){a[3]=temp-0x30;ReceverCnt=5;}
    0D1D 9180008C  LDS	R24,temp
    0D1F 3380      CPI	R24,0x30
    0D20 F068      BCS	0x0D2E
    0D21 E389      LDI	R24,0x39
    0D22 9020008C  LDS	R2,temp
    0D24 1582      CP	R24,R2
    0D25 F040      BCS	0x0D2E
    0D26 2D82      MOV	R24,R2
    0D27 5380      SUBI	R24,0x30
    0D28 93800083  STS	a+3,R24
    0D2A E085      LDI	R24,5
    0D2B 9380006B  STS	ReceverCnt,R24
    0D2D C211      RJMP	0x0F3F
(0019) 		   else ReceverEndFlag=0;break;
    0D2E 2422      CLR	R2
    0D2F 9220006C  STS	ReceverEndFlag,R2
    0D31 C20D      RJMP	0x0F3F
(0020)     case 5:if(temp==',')ReceverCnt=6;	
    0D32 9180008C  LDS	R24,temp
    0D34 328C      CPI	R24,0x2C
    0D35 F421      BNE	0x0D3A
    0D36 E086      LDI	R24,6
    0D37 9380006B  STS	ReceverCnt,R24
    0D39 C205      RJMP	0x0F3F
(0021) 		   else ReceverEndFlag=0;break;	
    0D3A 2422      CLR	R2
    0D3B 9220006C  STS	ReceverEndFlag,R2
    0D3D C201      RJMP	0x0F3F
(0022) 	case 6:if((temp>=0x30)&&(temp<=0x39)){a[4]=temp-0x30;ReceverCnt=7;}//month
    0D3E 9180008C  LDS	R24,temp
    0D40 3380      CPI	R24,0x30
    0D41 F068      BCS	0x0D4F
    0D42 E389      LDI	R24,0x39
    0D43 9020008C  LDS	R2,temp
    0D45 1582      CP	R24,R2
    0D46 F040      BCS	0x0D4F
    0D47 2D82      MOV	R24,R2
    0D48 5380      SUBI	R24,0x30
    0D49 93800084  STS	0x84,R24
    0D4B E087      LDI	R24,7
    0D4C 9380006B  STS	ReceverCnt,R24
    0D4E C1F0      RJMP	0x0F3F
(0023) 		   else ReceverEndFlag=0;break;	
    0D4F 2422      CLR	R2
    0D50 9220006C  STS	ReceverEndFlag,R2
    0D52 C1EC      RJMP	0x0F3F
(0024)     case 7:if((temp>=0x30)&&(temp<=0x39)){a[5]=temp-0x30;ReceverCnt=8;}
    0D53 9180008C  LDS	R24,temp
    0D55 3380      CPI	R24,0x30
    0D56 F068      BCS	0x0D64
    0D57 E389      LDI	R24,0x39
    0D58 9020008C  LDS	R2,temp
    0D5A 1582      CP	R24,R2
    0D5B F040      BCS	0x0D64
    0D5C 2D82      MOV	R24,R2
    0D5D 5380      SUBI	R24,0x30
    0D5E 93800085  STS	0x85,R24
    0D60 E088      LDI	R24,0x8
    0D61 9380006B  STS	ReceverCnt,R24
    0D63 C1DB      RJMP	0x0F3F
(0025) 		   else ReceverEndFlag=0;break;	
    0D64 2422      CLR	R2
    0D65 9220006C  STS	ReceverEndFlag,R2
    0D67 C1D7      RJMP	0x0F3F
(0026) 	case 8:if(temp==',')ReceverCnt=9;	
    0D68 9180008C  LDS	R24,temp
    0D6A 328C      CPI	R24,0x2C
    0D6B F421      BNE	0x0D70
    0D6C E089      LDI	R24,0x9
    0D6D 9380006B  STS	ReceverCnt,R24
    0D6F C1CF      RJMP	0x0F3F
(0027) 		   else ReceverEndFlag=0;break;		   
    0D70 2422      CLR	R2
    0D71 9220006C  STS	ReceverEndFlag,R2
    0D73 C1CB      RJMP	0x0F3F
(0028)     case 9:if((temp>=0x30)&&(temp<=0x39)){a[6]=temp-0x30;ReceverCnt=10;}//date
    0D74 9180008C  LDS	R24,temp
    0D76 3380      CPI	R24,0x30
    0D77 F068      BCS	0x0D85
    0D78 E389      LDI	R24,0x39
    0D79 9020008C  LDS	R2,temp
    0D7B 1582      CP	R24,R2
    0D7C F040      BCS	0x0D85
    0D7D 2D82      MOV	R24,R2
    0D7E 5380      SUBI	R24,0x30
    0D7F 93800086  STS	0x86,R24
    0D81 E08A      LDI	R24,0xA
    0D82 9380006B  STS	ReceverCnt,R24
    0D84 C1BA      RJMP	0x0F3F
(0029) 		   else ReceverEndFlag=0;break;
    0D85 2422      CLR	R2
    0D86 9220006C  STS	ReceverEndFlag,R2
    0D88 C1B6      RJMP	0x0F3F
(0030)     case 10:if((temp>=0x30)&&(temp<=0x39)){a[7]=temp-0x30;ReceverCnt=11;}
    0D89 9180008C  LDS	R24,temp
    0D8B 3380      CPI	R24,0x30
    0D8C F068      BCS	0x0D9A
    0D8D E389      LDI	R24,0x39
    0D8E 9020008C  LDS	R2,temp
    0D90 1582      CP	R24,R2
    0D91 F040      BCS	0x0D9A
    0D92 2D82      MOV	R24,R2
    0D93 5380      SUBI	R24,0x30
    0D94 93800087  STS	0x87,R24
    0D96 E08B      LDI	R24,0xB
    0D97 9380006B  STS	ReceverCnt,R24
    0D99 C1A5      RJMP	0x0F3F
(0031) 		   else ReceverEndFlag=0;break;	
    0D9A 2422      CLR	R2
    0D9B 9220006C  STS	ReceverEndFlag,R2
    0D9D C1A1      RJMP	0x0F3F
(0032) 	case 11:if(temp==',')ReceverCnt=12;	
    0D9E 9180008C  LDS	R24,temp
    0DA0 328C      CPI	R24,0x2C
    0DA1 F421      BNE	0x0DA6
    0DA2 E08C      LDI	R24,0xC
    0DA3 9380006B  STS	ReceverCnt,R24
    0DA5 C199      RJMP	0x0F3F
(0033) 		   else ReceverEndFlag=0;break;		   
    0DA6 2422      CLR	R2
    0DA7 9220006C  STS	ReceverEndFlag,R2
    0DA9 C195      RJMP	0x0F3F
(0034) 	case 12:if((temp>=0x30)&&(temp<=0x39)){a[8]=temp-0x30;ReceverCnt=13;}//hour
    0DAA 9180008C  LDS	R24,temp
    0DAC 3380      CPI	R24,0x30
    0DAD F068      BCS	0x0DBB
    0DAE E389      LDI	R24,0x39
    0DAF 9020008C  LDS	R2,temp
    0DB1 1582      CP	R24,R2
    0DB2 F040      BCS	0x0DBB
    0DB3 2D82      MOV	R24,R2
    0DB4 5380      SUBI	R24,0x30
    0DB5 93800088  STS	0x88,R24
    0DB7 E08D      LDI	R24,0xD
    0DB8 9380006B  STS	ReceverCnt,R24
    0DBA C184      RJMP	0x0F3F
(0035) 		   else ReceverEndFlag=0;break;	
    0DBB 2422      CLR	R2
    0DBC 9220006C  STS	ReceverEndFlag,R2
    0DBE C180      RJMP	0x0F3F
(0036)     case 13:if((temp>=0x30)&&(temp<=0x39)){a[9]=temp-0x30;ReceverCnt=14;}
    0DBF 9180008C  LDS	R24,temp
    0DC1 3380      CPI	R24,0x30
    0DC2 F068      BCS	0x0DD0
    0DC3 E389      LDI	R24,0x39
    0DC4 9020008C  LDS	R2,temp
    0DC6 1582      CP	R24,R2
    0DC7 F040      BCS	0x0DD0
    0DC8 2D82      MOV	R24,R2
    0DC9 5380      SUBI	R24,0x30
    0DCA 93800089  STS	0x89,R24
    0DCC E08E      LDI	R24,0xE
    0DCD 9380006B  STS	ReceverCnt,R24
    0DCF C16F      RJMP	0x0F3F
(0037) 		   else ReceverEndFlag=0;break;	
    0DD0 2422      CLR	R2
    0DD1 9220006C  STS	ReceverEndFlag,R2
    0DD3 C16B      RJMP	0x0F3F
(0038) 	case 14:if(temp==',')ReceverCnt=15;	
    0DD4 9180008C  LDS	R24,temp
    0DD6 328C      CPI	R24,0x2C
    0DD7 F421      BNE	0x0DDC
    0DD8 E08F      LDI	R24,0xF
    0DD9 9380006B  STS	ReceverCnt,R24
    0DDB C163      RJMP	0x0F3F
(0039) 		   else ReceverEndFlag=0;break;		   
    0DDC 2422      CLR	R2
    0DDD 9220006C  STS	ReceverEndFlag,R2
    0DDF C15F      RJMP	0x0F3F

⌨️ 快捷键说明

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