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