📄 icc17-1.lst
字号:
(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 + -