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

📄 icc17-1.lst

📁 手把手教你学AVR单片机C程序设计实验程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
(0040)     case 15:if((temp>=0x30)&&(temp<=0x39)){a[10]=temp-0x30;ReceverCnt=16;}//minute
    0DE0 9180008C  LDS	R24,temp
    0DE2 3380      CPI	R24,0x30
    0DE3 F068      BCS	0x0DF1
    0DE4 E389      LDI	R24,0x39
    0DE5 9020008C  LDS	R2,temp
    0DE7 1582      CP	R24,R2
    0DE8 F040      BCS	0x0DF1
    0DE9 2D82      MOV	R24,R2
    0DEA 5380      SUBI	R24,0x30
    0DEB 9380008A  STS	0x8A,R24
    0DED E180      LDI	R24,0x10
    0DEE 9380006B  STS	ReceverCnt,R24
    0DF0 C14E      RJMP	0x0F3F
(0041) 		   else ReceverEndFlag=0;break;
    0DF1 2422      CLR	R2
    0DF2 9220006C  STS	ReceverEndFlag,R2
    0DF4 C14A      RJMP	0x0F3F
(0042)     case 16:if((temp>=0x30)&&(temp<=0x39)){a[11]=temp-0x30;ReceverCnt=17;}
    0DF5 9180008C  LDS	R24,temp
    0DF7 3380      CPI	R24,0x30
    0DF8 F068      BCS	0x0E06
    0DF9 E389      LDI	R24,0x39
    0DFA 9020008C  LDS	R2,temp
    0DFC 1582      CP	R24,R2
    0DFD F040      BCS	0x0E06
    0DFE 2D82      MOV	R24,R2
    0DFF 5380      SUBI	R24,0x30
    0E00 9380008B  STS	0x8B,R24
    0E02 E181      LDI	R24,0x11
    0E03 9380006B  STS	ReceverCnt,R24
    0E05 C139      RJMP	0x0F3F
(0043) 		   else ReceverEndFlag=0;break;	   
    0E06 2422      CLR	R2
    0E07 9220006C  STS	ReceverEndFlag,R2
    0E09 C135      RJMP	0x0F3F
(0044) 	case 17:if(temp==')'){ReceverCnt=0;ReceverEndFlag=1;}
    0E0A 9180008C  LDS	R24,temp
    0E0C 3289      CPI	R24,0x29
    0E0D F439      BNE	0x0E15
    0E0E 2422      CLR	R2
    0E0F 9220006B  STS	ReceverCnt,R2
    0E11 E081      LDI	R24,1
    0E12 9380006C  STS	ReceverEndFlag,R24
    0E14 C12A      RJMP	0x0F3F
(0045) 	        else if(temp=='{')ReceverCnt=20;	
    0E15 9180008C  LDS	R24,temp
    0E17 378B      CPI	R24,0x7B
    0E18 F421      BNE	0x0E1D
    0E19 E184      LDI	R24,0x14
    0E1A 9380006B  STS	ReceverCnt,R24
    0E1C C122      RJMP	0x0F3F
(0046) 			else ReceverEndFlag=0;break;	
    0E1D 2422      CLR	R2
    0E1E 9220006C  STS	ReceverEndFlag,R2
    0E20 C11E      RJMP	0x0F3F
(0047) 	//************************************************   
(0048) 	case 20:if((temp>=0x30)&&(temp<=0x39)){b[0]=temp-0x30;ReceverCnt=21;}//set_hour1
    0E21 9180008C  LDS	R24,temp
    0E23 3380      CPI	R24,0x30
    0E24 F068      BCS	0x0E32
    0E25 E389      LDI	R24,0x39
    0E26 9020008C  LDS	R2,temp
    0E28 1582      CP	R24,R2
    0E29 F040      BCS	0x0E32
    0E2A 2D82      MOV	R24,R2
    0E2B 5380      SUBI	R24,0x30
    0E2C 9380007C  STS	b,R24
    0E2E E185      LDI	R24,0x15
    0E2F 9380006B  STS	ReceverCnt,R24
    0E31 C10D      RJMP	0x0F3F
(0049) 		   else ReceverEndFlag=0;break;	
    0E32 2422      CLR	R2
    0E33 9220006C  STS	ReceverEndFlag,R2
    0E35 C109      RJMP	0x0F3F
(0050)     case 21:if((temp>=0x30)&&(temp<=0x39)){b[1]=temp-0x30;ReceverCnt=22;}
    0E36 9180008C  LDS	R24,temp
    0E38 3380      CPI	R24,0x30
    0E39 F068      BCS	0x0E47
    0E3A E389      LDI	R24,0x39
    0E3B 9020008C  LDS	R2,temp
    0E3D 1582      CP	R24,R2
    0E3E F040      BCS	0x0E47
    0E3F 2D82      MOV	R24,R2
    0E40 5380      SUBI	R24,0x30
    0E41 9380007D  STS	b+1,R24
    0E43 E186      LDI	R24,0x16
    0E44 9380006B  STS	ReceverCnt,R24
    0E46 C0F8      RJMP	0x0F3F
(0051) 		   else ReceverEndFlag=0;break;	
    0E47 2422      CLR	R2
    0E48 9220006C  STS	ReceverEndFlag,R2
    0E4A C0F4      RJMP	0x0F3F
(0052) 	case 22:if(temp==',')ReceverCnt=23;	
    0E4B 9180008C  LDS	R24,temp
    0E4D 328C      CPI	R24,0x2C
    0E4E F421      BNE	0x0E53
    0E4F E187      LDI	R24,0x17
    0E50 9380006B  STS	ReceverCnt,R24
    0E52 C0EC      RJMP	0x0F3F
(0053) 		   else ReceverEndFlag=0;break;	
    0E53 2422      CLR	R2
    0E54 9220006C  STS	ReceverEndFlag,R2
    0E56 C0E8      RJMP	0x0F3F
(0054) 	case 23:if((temp>=0x30)&&(temp<=0x39)){b[2]=temp-0x30;ReceverCnt=24;}//set_minute1
    0E57 9180008C  LDS	R24,temp
    0E59 3380      CPI	R24,0x30
    0E5A F068      BCS	0x0E68
    0E5B E389      LDI	R24,0x39
    0E5C 9020008C  LDS	R2,temp
    0E5E 1582      CP	R24,R2
    0E5F F040      BCS	0x0E68
    0E60 2D82      MOV	R24,R2
    0E61 5380      SUBI	R24,0x30
    0E62 9380007E  STS	b+2,R24
    0E64 E188      LDI	R24,0x18
    0E65 9380006B  STS	ReceverCnt,R24
    0E67 C0D7      RJMP	0x0F3F
(0055) 		   else ReceverEndFlag=0;break;	
    0E68 2422      CLR	R2
    0E69 9220006C  STS	ReceverEndFlag,R2
    0E6B C0D3      RJMP	0x0F3F
(0056)     case 24:if((temp>=0x30)&&(temp<=0x39)){b[3]=temp-0x30;ReceverCnt=25;}
    0E6C 9180008C  LDS	R24,temp
    0E6E 3380      CPI	R24,0x30
    0E6F F068      BCS	0x0E7D
    0E70 E389      LDI	R24,0x39
    0E71 9020008C  LDS	R2,temp
    0E73 1582      CP	R24,R2
    0E74 F040      BCS	0x0E7D
    0E75 2D82      MOV	R24,R2
    0E76 5380      SUBI	R24,0x30
    0E77 9380007F  STS	b+3,R24
    0E79 E189      LDI	R24,0x19
    0E7A 9380006B  STS	ReceverCnt,R24
    0E7C C0C2      RJMP	0x0F3F
(0057) 		   else ReceverEndFlag=0;break;	
    0E7D 2422      CLR	R2
    0E7E 9220006C  STS	ReceverEndFlag,R2
    0E80 C0BE      RJMP	0x0F3F
(0058) 	case 25:if(temp==';')ReceverCnt=26;	
    0E81 9180008C  LDS	R24,temp
    0E83 338B      CPI	R24,0x3B
    0E84 F419      BNE	0x0E88
    0E85 E18A      LDI	R24,0x1A
    0E86 9380006B  STS	ReceverCnt,R24
(0059) 	//-------------------------------------------------	      	   
(0060) 	case 26:if((temp>=0x30)&&(temp<=0x39)){c[0]=temp-0x30;ReceverCnt=27;}//set_hour2
    0E88 9180008C  LDS	R24,temp
    0E8A 3380      CPI	R24,0x30
    0E8B F068      BCS	0x0E99
    0E8C E389      LDI	R24,0x39
    0E8D 9020008C  LDS	R2,temp
    0E8F 1582      CP	R24,R2
    0E90 F040      BCS	0x0E99
    0E91 2D82      MOV	R24,R2
    0E92 5380      SUBI	R24,0x30
    0E93 93800078  STS	c,R24
    0E95 E18B      LDI	R24,0x1B
    0E96 9380006B  STS	ReceverCnt,R24
    0E98 C0A6      RJMP	0x0F3F
(0061) 		   else ReceverEndFlag=0;break;	
    0E99 2422      CLR	R2
    0E9A 9220006C  STS	ReceverEndFlag,R2
    0E9C C0A2      RJMP	0x0F3F
(0062)     case 27:if((temp>=0x30)&&(temp<=0x39)){c[1]=temp-0x30;ReceverCnt=28;}
    0E9D 9180008C  LDS	R24,temp
    0E9F 3380      CPI	R24,0x30
    0EA0 F068      BCS	0x0EAE
    0EA1 E389      LDI	R24,0x39
    0EA2 9020008C  LDS	R2,temp
    0EA4 1582      CP	R24,R2
    0EA5 F040      BCS	0x0EAE
    0EA6 2D82      MOV	R24,R2
    0EA7 5380      SUBI	R24,0x30
    0EA8 93800079  STS	c+1,R24
    0EAA E18C      LDI	R24,0x1C
    0EAB 9380006B  STS	ReceverCnt,R24
    0EAD C091      RJMP	0x0F3F
(0063) 		   else ReceverEndFlag=0;break;	
    0EAE 2422      CLR	R2
    0EAF 9220006C  STS	ReceverEndFlag,R2
    0EB1 C08D      RJMP	0x0F3F
(0064) 	case 28:if((temp>=0x30)&&(temp<=0x39)){c[2]=temp-0x30;ReceverCnt=29;}//set_minute2
    0EB2 9180008C  LDS	R24,temp
    0EB4 3380      CPI	R24,0x30
    0EB5 F068      BCS	0x0EC3
    0EB6 E389      LDI	R24,0x39
    0EB7 9020008C  LDS	R2,temp
    0EB9 1582      CP	R24,R2
    0EBA F040      BCS	0x0EC3
    0EBB 2D82      MOV	R24,R2
    0EBC 5380      SUBI	R24,0x30
    0EBD 9380007A  STS	c+2,R24
    0EBF E18D      LDI	R24,0x1D
    0EC0 9380006B  STS	ReceverCnt,R24
    0EC2 C07C      RJMP	0x0F3F
(0065) 		   else ReceverEndFlag=0;break;	
    0EC3 2422      CLR	R2
    0EC4 9220006C  STS	ReceverEndFlag,R2
    0EC6 C078      RJMP	0x0F3F
(0066)     case 29:if((temp>=0x30)&&(temp<=0x39)){c[3]=temp-0x30;ReceverCnt=30;}
    0EC7 9180008C  LDS	R24,temp
    0EC9 3380      CPI	R24,0x30
    0ECA F068      BCS	0x0ED8
    0ECB E389      LDI	R24,0x39
    0ECC 9020008C  LDS	R2,temp
    0ECE 1582      CP	R24,R2
    0ECF F040      BCS	0x0ED8
    0ED0 2D82      MOV	R24,R2
    0ED1 5380      SUBI	R24,0x30
    0ED2 9380007B  STS	c+3,R24
    0ED4 E18E      LDI	R24,0x1E
    0ED5 9380006B  STS	ReceverCnt,R24
    0ED7 C067      RJMP	0x0F3F
(0067) 		   else ReceverEndFlag=0;break;		
    0ED8 2422      CLR	R2
    0ED9 9220006C  STS	ReceverEndFlag,R2
    0EDB C063      RJMP	0x0F3F
(0068) 	case 30:if((temp=='}')||(temp==')')){ReceverCnt=0;ReceverEndFlag=2;}
    0EDC 9180008C  LDS	R24,temp
    0EDE 378D      CPI	R24,0x7D
    0EDF F011      BEQ	0x0EE2
    0EE0 3289      CPI	R24,0x29
    0EE1 F439      BNE	0x0EE9
    0EE2 2422      CLR	R2
    0EE3 9220006B  STS	ReceverCnt,R2
    0EE5 E082      LDI	R24,2
    0EE6 9380006C  STS	ReceverEndFlag,R24
    0EE8 C056      RJMP	0x0F3F
(0069) 	        else if(temp=='<')ReceverCnt=40;	
    0EE9 9180008C  LDS	R24,temp
    0EEB 338C      CPI	R24,0x3C
    0EEC F421      BNE	0x0EF1
    0EED E288      LDI	R24,0x28
    0EEE 9380006B  STS	ReceverCnt,R24
    0EF0 C04E      RJMP	0x0F3F
(0070) 			else ReceverEndFlag=0;break;	
    0EF1 2422      CLR	R2
    0EF2 9220006C  STS	ReceverEndFlag,R2
    0EF4 C04A      RJMP	0x0F3F
(0071)     //**************************************************
(0072) 	case 40:if((temp>=0x30)&&(temp<=0x39)){d[0]=temp-0x30;ReceverCnt=41;}//set_hour1_on/off
    0EF5 9180008C  LDS	R24,temp
    0EF7 3380      CPI	R24,0x30
    0EF8 F068      BCS	0x0F06
    0EF9 E389      LDI	R24,0x39
    0EFA 9020008C  LDS	R2,temp
    0EFC 1582      CP	R24,R2
    0EFD F040      BCS	0x0F06
    0EFE 2D82      MOV	R24,R2
    0EFF 5380      SUBI	R24,0x30
    0F00 93800076  STS	d,R24
    0F02 E289      LDI	R24,0x29
    0F03 9380006B  STS	ReceverCnt,R24
    0F05 C039      RJMP	0x0F3F
(0073) 		   else ReceverEndFlag=0;break;	
    0F06 2422      CLR	R2
    0F07 9220006C  STS	ReceverEndFlag,R2
    0F09 C035      RJMP	0x0F3F
(0074) 	case 41:if(temp==';')ReceverCnt=42;	
    0F0A 9180008C  LDS	R24,temp
    0F0C 338B      CPI	R24,0x3B
    0F0D F421      BNE	0x0F12
    0F0E E28A      LDI	R24,0x2A
    0F0F 9380006B  STS	ReceverCnt,R24
    0F11 C02D      RJMP	0x0F3F
(0075) 		   else ReceverEndFlag=0;break;		
    0F12 2422      CLR	R2
    0F13 9220006C  STS	ReceverEndFlag,R2
    0F15 C029      RJMP	0x0F3F
(0076) 	case 42:if((temp>=0x30)&&(temp<=0x39)){d[1]=temp-0x30;ReceverCnt=43;}//set_hour2_on/off
    0F16 9180008C  LDS	R24,temp
    0F18 3380      CPI	R24,0x30
    0F19 F068      BCS	0x0F27
    0F1A E389      LDI	R24,0x39
    0F1B 9020008C  LDS	R2,temp
    0F1D 1582      CP	R24,R2
    0F1E F040      BCS	0x0F27
    0F1F 2D82      MOV	R24,R2
    0F20 5380      SUBI	R24,0x30
    0F21 93800077  STS	d+1,R24
    0F23 E28B      LDI	R24,0x2B
    0F24 9380006B  STS	ReceverCnt,R24
    0F26 C018      RJMP	0x0F3F
(0077) 		   else ReceverEndFlag=0;break;	 
    0F27 2422      CLR	R2
    0F28 9220006C  STS	ReceverEndFlag,R2
    0F2A C014      RJMP	0x0F3F
(0078) 	case 43:if((temp=='>')||(temp==')')){ReceverCnt=0;ReceverEndFlag=3;}
    0F2B 9180008C  LDS	R24,temp
    0F2D 338E      CPI	R24,0x3E
    0F2E F011      BEQ	0x0F31
    0F2F 3289      CPI	R24,0x29
    0F30 F439      BNE	0x0F38
    0F31 2422      CLR	R2
    0F32 9220006B  STS	ReceverCnt,R2
    0F34 E083      LDI	R24,3
    0F35 9380006C  STS	ReceverEndFlag,R24
    0F37 C007      RJMP	0x0F3F
(0079) 	        else ReceverEndFlag=0;break;		        
    0F38 2422      CLR	R2
    0F39 9220006C  STS	ReceverEndFlag,R2
    0F3B C003      RJMP	0x0F3F
(0080) 	default:ReceverCnt=0;break;		
    0F3C 2422      CLR	R2
    0F3D 9220006B  STS	ReceverCnt,R2
(0081) 	}						
(0082)       Flag=0;				
    0F3F 2422      CLR	R2
    0F40 9220006D  STS	Flag,R2
(0083)       SREG=0x80;			
    0F42 E880      LDI	R24,0x80
    0F43 BF8F      OUT	0x3F,R24
(0084)    }						
    0F44 940E12A0  CALL	pop_gset1
    0F46 9508      RET
(0085) }
(0086) //-------------------
(0087) void mov(void)
(0088) {
(0089) year=((uint)(a[0]*1000))+((uint)(a[1]*100))+((uint)(a[2]*10))+((uint)(a[3]));
_mov:
    0F47 90200081  LDS	R2,a+1
    0F49 E684      LDI	R24,0x64
    0F4A 9D82      MUL	R24,R2
    0F4B 0110      MOVW	R2,R0
    0F4C 91200080  LDS	R18,a
    0F4E 2733      CLR	R19
    0F4F EE08      LDI	R16,0xE8
    0F50 E013      LDI	R17,3
    0F51 940E1279  CALL	empy16s
    0F53 0128      MOVW	R4,R16
    0F54 0C42      ADD	R4,R2
    0F55 1C53      ADC	R5,R3
    0F56 90200082  LDS	R2,a+2
    0F58 E08A      LDI	R24,0xA
    0F59 9D82      MUL	R24,R2
    0F5A 0C40      ADD	R4,R0
    0F5B 1C51      ADC	R5,R1
    0F5C 90200083  LDS	R2,a+3
    0F5E 2433      CLR	R3
    0F5F 0C42      ADD	R4,R2
    0F60 1C53      ADC	R5,R3
    0F61 92500061  STS	year+1,R5
    0F63 92400060  STS	year,R4
(0090) month=a[4]*10+a[5];
    0F65 90200084  LDS	R2,0x84
    0F67 9D82      MUL	R24,R2
    0F68 90200085  LDS	R2,0x85
    0F6A 2C30      MOV	R3,R0
    0F6B 0C32      ADD	R3,R2
    0F6C 92300062  STS	month,R3
(0091) date=a[6]*10+a[7];
    0F6E 90200086  LDS	R2,0x86
    0F70 9D82      MUL	R24,R2
    0F71 90200087  LDS	R2,0x87
    0F73 2C30      MOV	R3,R0
    0F74 0C32      ADD	R3,R2
    0F75 92300063  STS	date,R3
(0092) hour=a[8]*10+a[9];
    0F77 90200088  LDS	R2,0x88
    0F79 9D82      MUL	R24,R2
    0F7A 90200089  LDS	R2,0x89
    0F7C 2C30      MOV	R3,R0
    0F7D 0C32      ADD	R3,R2
    0F7E 92300064  STS	hour,R3
(0093) minute=a[10]*10+a[11];
    0F80 9020008A  LDS	R2,0x8A
    0F82 9D82      MUL	R24,R2
    0F83 9020008B  LDS	R2,0x8B
    0F85 2C30      MOV	R3,R0
    0F86 0C32      ADD	R3,R2
    0F87 92300065  STS	minute,R3
(0094) set_hour1=b[0]*10+b[1];
    0F89 9020007C  LDS	R2,b
    0F8B 9D82      MUL	R24,R2
    0F8C 9020007D  LDS	R2,b+1
    0F8E 2C30      MOV	R3,R0
    0F8F 0C32      ADD	R3,R2
    0F90 92300067  STS	set_hour1,R3
(0095) set_minute1=b[2]*10+b[3];
    0F92 9020007E  LDS	R2,b+2
    0F94 9D82      MUL	R24,R2
    0F95 9020007F  LDS	R2,b+3
    0F97 2C30      MOV	R3,R0
    0F98 0C32      ADD	R3,R2
    0F99 92300068  STS	set_minute1,R3
(0096) set_hour2=c[0]*10+c[1];
    0F9B 90200078  LDS	R2,c
    0F9D 9D82      MUL	R24,R2
    0F9

⌨️ 快捷键说明

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