📄 iremote_ir.lst
字号:
D3 2EA0 MOV R10,R16
D4 92A0 0063 STS User_ID+2,R10
(0118) User_ID[3]=EEPROM_read(0x13);
D6 E103 LDI R16,0x13
D7 DF5B RCALL _EEPROM_read
D8 2EA0 MOV R10,R16
D9 92A0 0064 STS User_ID+3,R10
(0119) User_ID[4]=EEPROM_read(0x14);
DB E104 LDI R16,0x14
DC DF56 RCALL _EEPROM_read
DD 2EA0 MOV R10,R16
DE 92A0 0065 STS 0x0065,R10
(0120) User_ID[5]=EEPROM_read(0x15);
E0 E105 LDI R16,0x15
E1 DF51 RCALL _EEPROM_read
E2 2EA0 MOV R10,R16
E3 92A0 0066 STS 0x0066,R10
(0121) EEPROM_read(0x38);
E5 E308 LDI R16,0x38
E6 DF4C RCALL _EEPROM_read
(0122) EEPROM_read(0x39);
E7 E309 LDI R16,0x39
E8 DF4A RCALL _EEPROM_read
(0123) if(temp2>5){
E9 E085 LDI R24,5
EA 800D LDD R0,Y+5
EB 1580 CP R24,R0
EC F008 BCS 0x00EE
ED C0CC RJMP 0x01BA
(0124) temp3=User_ID[2];
EE 90C0 0063 LDS R12,User_ID+2
F0 24DD CLR R13
(0125) temp3<<=8;
F1 2CDC MOV R13,R12
F2 24CC CLR R12
(0126) temp3|=User_ID[3];
F3 9020 0064 LDS R2,User_ID+3
F5 2433 CLR R3
F6 28C2 OR R12,R2
F7 28D3 OR R13,R3
(0127) temp4=User_ID[4];
F8 90E0 0065 LDS R14,0x0065
FA 24FF CLR R15
(0128) temp4<<=8;
FB 2CFE MOV R15,R14
FC 24EE CLR R14
(0129) temp4|=User_ID[5];
FD 9020 0066 LDS R2,0x0066
FF 2433 CLR R3
100 28E2 OR R14,R2
101 28F3 OR R15,R3
(0130) ID=temp3;
102 2C2C MOV R2,R12
103 2C3D MOV R3,R13
104 2444 CLR R4
105 2455 CLR R5
106 8228 STD Y+0,R2
107 8239 STD Y+1,R3
108 824A STD Y+2,R4
109 825B STD Y+3,R5
(0131) ID<<=16;
10A 8028 LDD R2,Y+0
10B 8039 LDD R3,Y+1
10C 804A LDD R4,Y+2
10D 805B LDD R5,Y+3
10E 2C42 MOV R4,R2
10F 2C53 MOV R5,R3
110 2422 CLR R2
111 2433 CLR R3
112 8228 STD Y+0,R2
113 8239 STD Y+1,R3
114 824A STD Y+2,R4
115 825B STD Y+3,R5
(0132) ID|=temp4;
116 2C2E MOV R2,R14
117 2C3F MOV R3,R15
118 2444 CLR R4
119 2455 CLR R5
11A 8068 LDD R6,Y+0
11B 8079 LDD R7,Y+1
11C 808A LDD R8,Y+2
11D 809B LDD R9,Y+3
11E 2862 OR R6,R2
11F 2873 OR R7,R3
120 2884 OR R8,R4
121 2895 OR R9,R5
122 8268 STD Y+0,R6
123 8279 STD Y+1,R7
124 828A STD Y+2,R8
125 829B STD Y+3,R9
(0133) time_10ms=0;temp1=0;temp2=0;temp5=0;
126 2422 CLR R2
127 9220 0068 STS time_10ms,R2
129 2400 CLR R0
12A 820C STD Y+4,R0
12B 820D STD Y+5,R0
12C 24AA CLR R10
(0134) do{
(0135) WDR();
12D 95A8 WDR
(0136) if(temp1!=time_10ms){
12E 9020 0068 LDS R2,time_10ms
130 800C LDD R0,Y+4
131 1402 CP R0,R2
132 F0A9 BEQ 0x0148
(0137) temp1=time_10ms;
133 822C STD Y+4,R2
(0138) if((PINB&0x08)==0){
134 99B3 SBIC 0x16,3
135 C00D RJMP 0x0143
(0139) time_10ms=0;
136 2422 CLR R2
137 9220 0068 STS time_10ms,R2
(0140) temp2++;temp5=0;
139 800D LDD R0,Y+5
13A 9403 INC R0
13B 820D STD Y+5,R0
13C 24AA CLR R10
(0141) if(temp2>150)temp2=200;
13D E986 LDI R24,0x96
13E 1580 CP R24,R0
13F F440 BCC 0x0148
140 EC88 LDI R24,0xC8
141 838D STD Y+5,R24
(0142) }
142 C005 RJMP 0x0148
(0143) else{
(0144) temp5++;
143 94A3 INC R10
(0145) if(temp5>10)break;
144 E08A LDI R24,0xA
145 158A CP R24,R10
146 F408 BCC 0x0148
147 C019 RJMP 0x0161
(0146) }
(0147) }
(0148) User_ID[2]++;
148 9180 0063 LDS R24,User_ID+2
14A 5F8F SUBI R24,0xFF
14B 9380 0063 STS User_ID+2,R24
(0149) ID++;
14D E041 LDI R20,1
14E E050 LDI R21,0
14F E060 LDI R22,0
150 E070 LDI R23,0
151 8028 LDD R2,Y+0
152 8039 LDD R3,Y+1
153 804A LDD R4,Y+2
154 805B LDD R5,Y+3
155 0E24 ADD R2,R20
156 1E35 ADC R3,R21
157 1E46 ADC R4,R22
158 1E57 ADC R5,R23
159 8228 STD Y+0,R2
15A 8239 STD Y+1,R3
15B 824A STD Y+2,R4
15C 825B STD Y+3,R5
(0150) }while(time_10ms<200);
15D 9180 0068 LDS R24,time_10ms
15F 3C88 CPI R24,0xC8
160 F260 BCS 0x012D
(0151) TCCR0B=0;
161 2422 CLR R2
162 BE23 OUT 0x33,R2
(0152) TIMSK0=0;
163 BE29 OUT 0x39,R2
(0153) CLI();
164 94F8 BCLR 7
(0154) if(temp2>150){
165 E986 LDI R24,0x96
166 800D LDD R0,Y+5
167 1580 CP R24,R0
168 F008 BCS 0x016A
169 C071 RJMP 0x01DB
(0155) temp4=ID;
16A 80E8 LDD R14,Y+0
16B 80F9 LDD R15,Y+1
(0156) temp3=ID>>16;
16C 8028 LDD R2,Y+0
16D 8039 LDD R3,Y+1
16E 804A LDD R4,Y+2
16F 805B LDD R5,Y+3
170 2CC4 MOV R12,R4
171 2CD5 MOV R13,R5
(0157) User_ID[3]=temp3;
172 92C0 0064 STS User_ID+3,R12
(0158) User_ID[2]=(temp3>>8)+User_ID[2];
174 9020 0063 LDS R2,User_ID+2
176 2433 CLR R3
177 2C4C MOV R4,R12
178 2C5D MOV R5,R13
179 2C45 MOV R4,R5
17A 2455 CLR R5
17B 0C42 ADD R4,R2
17C 1C53 ADC R5,R3
17D 9240 0063 STS User_ID+2,R4
(0159) User_ID[5]=temp4;
17F 92E0 0066 STS 0x0066,R14
(0160) User_ID[4]=temp4>>8;
181 2C2E MOV R2,R14
182 2C3F MOV R3,R15
183 2C23 MOV R2,R3
184 2433 CLR R3
185 9220 0065 STS 0x0065,R2
(0161) if(pw_off_ram!=0xaa){
187 9180 0060 LDS R24,pw_off_ram
189 3A8A CPI R24,0xAA
18A F409 BNE 0x018C
18B C04F RJMP 0x01DB
(0162) EEPROM_write(0x12,User_ID[2]);
18C 2D24 MOV R18,R4
18D E102 LDI R16,0x12
18E DEAA RCALL _EEPROM_write
(0163) EEPROM_write(0x13,User_ID[3]);
18F 9120 0064 LDS R18,User_ID+3
191 E103 LDI R16,0x13
192 DEA6 RCALL _EEPROM_write
(0164) EEPROM_write(0x14,User_ID[4]);
193 9120 0065 LDS R18,0x0065
195 E104 LDI R16,0x14
196 DEA2 RCALL _EEPROM_write
(0165) EEPROM_write(0x15,User_ID[5]);
197 9120 0066 LDS R18,0x0066
199 E105 LDI R16,0x15
19A DE9E RCALL _EEPROM_write
(0166) EEPROM_write(0x38,0x55);
19B E525 LDI R18,0x55
19C E308 LDI R16,0x38
19D DE9B RCALL _EEPROM_write
(0167) EEPROM_write(0x39,0xaa);
19E EA2A LDI R18,0xAA
19F E309 LDI R16,0x39
1A0 DE98 RCALL _EEPROM_write
(0168) temp2=0;
1A1 2400 CLR R0
1A2 820D STD Y+5,R0
(0169) for(temp1=0;temp1<6;temp1++){
1A3 820C STD Y+4,R0
1A4 C00D RJMP 0x01B2
(0170) temp2+=User_ID[temp1];
1A5 E681 LDI R24,0x61
1A6 E090 LDI R25,0
1A7 81EC LDD R30,Y+4
1A8 27FF CLR R31
1A9 0FE8 ADD R30,R24
1AA 1FF9 ADC R31,R25
1AB 8020 LDD R2,Z+0
1AC 800D LDD R0,Y+5
1AD 0C02 ADD R0,R2
1AE 820D STD Y+5,R0
1AF 800C LDD R0,Y+4
1B0 9403 INC R0
1B1 820C STD Y+4,R0
1B2 818C LDD R24,Y+4
1B3 3086 CPI R24,6
1B4 F380 BCS 0x01A5
(0171) }
(0172) User_ID[6]=temp2;
1B5 800D LDD R0,Y+5
1B6 9200 0067 STS 0x0067,R0
(0173) send_code();
1B8 DEB3 RCALL _send_code
(0174) }
(0175) }
(0176) }
1B9 C021 RJMP 0x01DB
(0177) else{
(0178) TCCR0B=0;
1BA 2422 CLR R2
1BB BE23 OUT 0x33,R2
(0179) TIMSK0=0;
1BC BE29 OUT 0x39,R2
(0180) CLI();
1BD 94F8 BCLR 7
(0181) temp2=0;
1BE 2400 CLR R0
1BF 820D STD Y+5,R0
(0182) for(temp1=0;temp1<6;temp1++){
1C0 820C STD Y+4,R0
1C1 C00D RJMP 0x01CF
(0183) temp2+=User_ID[temp1];
1C2 E681 LDI R24,0x61
1C3 E090 LDI R25,0
1C4 81EC LDD R30,Y+4
1C5 27FF CLR R31
1C6 0FE8 ADD R30,R24
1C7 1FF9 ADC R31,R25
1C8 8020 LDD R2,Z+0
1C9 800D LDD R0,Y+5
1CA 0C02 ADD R0,R2
1CB 820D STD Y+5,R0
1CC 800C LDD R0,Y+4
1CD 9403 INC R0
1CE 820C STD Y+4,R0
1CF 818C LDD R24,Y+4
1D0 3086 CPI R24,6
1D1 F380 BCS 0x01C2
(0184) }
(0185) User_ID[6]=temp2;
1D2 800D LDD R0,Y+5
1D3 9200 0067 STS 0x0067,R0
(0186) send_code();
1D5 DE96 RCALL _send_code
(0187) }
1D6 C004 RJMP 0x01DB
(0188) while(1){
(0189) pw_off_ram=0xaa;//写入防重复RESET误写码
1D7 EA8A LDI R24,0xAA
1D8 9380 0060 STS pw_off_ram,R24
(0190) PW_OFF;
FILE: <library>
1DA 98C4 CBI 0x18,4
1DB CFFB RJMP 0x01D7
1DC 9626 ADIW R28,6
1DD 9508 RET
push_xgsetF03C:
1DE 937A ST R23,-Y
1DF 936A ST R22,-Y
1E0 935A ST R21,-Y
1E1 934A ST R20,-Y
1E2 92DA ST R13,-Y
1E3 92CA ST R12,-Y
1E4 92BA ST R11,-Y
1E5 92AA ST R10,-Y
1E6 9508 RET
pop_xgsetF03C:
1E7 90A9 LD R10,Y+
1E8 90B9 LD R11,Y+
1E9 90C9 LD R12,Y+
1EA 90D9 LD R13,Y+
1EB 9149 LD R20,Y+
1EC 9159 LD R21,Y+
1ED 9169 LD R22,Y+
1EE 9179 LD R23,Y+
1EF 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -