📄 eeprom.lst
字号:
(0157) for(i=0;i<tim1;i++)
FE 24AA CLR R10
FF C003 RJMP 0x0103
(0158) {
(0159) delay(50);
100 E302 LDI R16,0x32
101 DFF2 RCALL _delay
102 94A3 INC R10
103 14AC CP R10,R12
104 F3D8 BCS 0x0100
105 90C9 LD R12,Y+
106 90A9 LD R10,Y+
107 9508 RET
_delays:
tim2 --> R12
j --> R10
time1 --> R10
108 92AA ST R10,-Y
109 92CA ST R12,-Y
10A 2EA0 MOV R10,R16
(0160) }
(0161) }
(0162) void delays(u08 time1)
(0163) {
(0164) u08 tim2,j;
(0165) tim2=time1;
10B 2CCA MOV R12,R10
(0166) for(j=0;j<tim2;j++)
10C 24AA CLR R10
10D C003 RJMP 0x0111
(0167) {
(0168) delayms(250);
10E EF0A LDI R16,0xFA
10F DFEA RCALL _delayms
110 94A3 INC R10
111 14AC CP R10,R12
112 F3D8 BCS 0x010E
113 90C9 LD R12,Y+
114 90A9 LD R10,Y+
115 9508 RET
_Icp_time0:
116 922A ST R2,-Y
117 923A ST R3,-Y
118 938A ST R24,-Y
119 B62F IN R2,0x3F
11A 922A ST R2,-Y
(0169) }
(0170) }
(0171) void Icp_time0(void)
(0172) {
(0173) SREG=0x00;
11B 2422 CLR R2
11C BE2F OUT 0x3F,R2
(0174) TIFR0=0x01;
11D E081 LDI R24,1
11E BB85 OUT 0x15,R24
(0175) data_temp2=data_temp1;
11F 9020 0102 LDS R2,data_temp1
121 9030 0103 LDS R3,data_temp1+1
123 9230 0101 STS data_temp2+1,R3
125 9220 0100 STS data_temp2,R2
(0176) data_temp1=0x0000;
127 2422 CLR R2
128 2433 CLR R3
129 9230 0103 STS data_temp1+1,R3
12B 9220 0102 STS data_temp1,R2
(0177) TCNT0=0xc0;
12D EC80 LDI R24,0xC0
12E BD86 OUT 0x26,R24
(0178) SREG|=0x80;
12F 9478 BSET 7
130 9029 LD R2,Y+
131 BE2F OUT 0x3F,R2
132 9189 LD R24,Y+
133 9039 LD R3,Y+
134 9029 LD R2,Y+
135 9518 RETI
_Int0:
136 938A ST R24,-Y
137 939A ST R25,-Y
138 B78F IN R24,0x3F
139 938A ST R24,-Y
(0179) }
(0180) void Int0(void)
(0181) {
(0182) //SREG=0x00;
(0183) data_temp1++;
13A 9180 0102 LDS R24,data_temp1
13C 9190 0103 LDS R25,data_temp1+1
13E 9601 ADIW R24,1
13F 9390 0103 STS data_temp1+1,R25
141 9380 0102 STS data_temp1,R24
143 9189 LD R24,Y+
144 BF8F OUT 0x3F,R24
145 9199 LD R25,Y+
146 9189 LD R24,Y+
147 9518 RETI
_sendData:
hbit --> R10
k --> R20
cbit --> R22
148 D0BE RCALL push_xgsetF00C
149 2F60 MOV R22,R16
(0184) //SREG|=0x80;
(0185) }
(0186) void sendData(u08 cbit)
(0187) {
(0188) u08 k;
(0189) u08 hbit;
(0190) //hbit=0x01;
(0191) PORTC=0x02;
14A E082 LDI R24,2
14B B988 OUT 0x08,R24
(0192) delay(180);
14C EB04 LDI R16,0xB4
14D DFA6 RCALL _delay
(0193) PORTC=0x00;
14E 2422 CLR R2
14F B828 OUT 0x08,R2
(0194) delay(15);
150 E00F LDI R16,0xF
151 DFA2 RCALL _delay
(0195) //delay(26);
(0196) //PORTB=0x08;
(0197) //buz(cbit);
(0198) for(k=0;k<8;k++)
152 2744 CLR R20
153 C018 RJMP 0x016C
(0199) {
(0200) hbit=(cbit&0x80);
154 2F86 MOV R24,R22
155 7880 ANDI R24,0x80
156 2EA8 MOV R10,R24
(0201) if(hbit)
157 2388 TST R24
158 F049 BEQ 0x0162
(0202) {
(0203) PORTC=0x02;
159 E082 LDI R24,2
15A B988 OUT 0x08,R24
(0204) delay(16);
15B E100 LDI R16,0x10
15C DF97 RCALL _delay
(0205) PORTC=0x00;
15D 2422 CLR R2
15E B828 OUT 0x08,R2
(0206) delay(50);
15F E302 LDI R16,0x32
160 DF93 RCALL _delay
(0207) //PORTB=0x00;
(0208) }
161 C008 RJMP 0x016A
(0209) else
(0210) {
(0211) PORTC=0x02;
162 E082 LDI R24,2
163 B988 OUT 0x08,R24
(0212) delay(50);
164 E302 LDI R16,0x32
165 DF8E RCALL _delay
(0213) PORTC=0x00;
166 2422 CLR R2
167 B828 OUT 0x08,R2
(0214) delay(16);
168 E100 LDI R16,0x10
169 DF8A RCALL _delay
(0215) //PORTB=0x00;
(0216) }
(0217) cbit<<=1;
FILE: <library>
16A 0F66 LSL R22
16B 9543 INC R20
16C 3048 CPI R20,0x8
16D F330 BCS 0x0154
16E C09F RJMP pop_xgsetF00C
div32u:
16F 94E8 BCLR 6
170 C001 RJMP 0x0172
mod32u:
171 9468 BSET 6
172 D02F RCALL long_div_prolog
173 24CC CLR R12
174 C008 RJMP 0x017D
div32s:
175 94E8 BCLR 6
176 C001 RJMP 0x0178
mod32s:
177 9468 BSET 6
178 D029 RCALL long_div_prolog
179 FD37 SBRC R19,7
17A D09A RCALL neg32
17B FDB7 SBRC R27,7
17C D051 RCALL neg_R24_R27
17D 2477 CLR R7
17E 2488 CLR R8
17F 2499 CLR R9
180 24AA CLR R10
181 24BB CLR R11
182 D041 RCALL tst_R16_R19
183 F0C1 BEQ 0x019C
184 D044 RCALL tst_R24_R27
185 F0B1 BEQ 0x019C
186 E2E8 LDI R30,0x28
187 0F00 LSL R16
188 1F11 ROL R17
189 1F22 ROL R18
18A 1F33 ROL R19
18B 1C77 ROL R7
18C 1C88 ROL R8
18D 1C99 ROL R9
18E 1CAA ROL R10
18F 1CBB ROL R11
190 1688 CP R8,R24
191 0699 CPC R9,R25
192 06AA CPC R10,R26
193 06BB CPC R11,R27
194 F028 BCS 0x019A
195 1A88 SUB R8,R24
196 0A99 SBC R9,R25
197 0AAA SBC R10,R26
198 0ABB SBC R11,R27
199 9503 INC R16
19A 95EA DEC R30
19B F759 BNE 0x0187
19C F426 BRTC 0x01A1
19D 2D08 MOV R16,R8
19E 2D19 MOV R17,R9
19F 2D2A MOV R18,R10
1A0 2D3B MOV R19,R11
1A1 C013 RJMP long_div_epilog
long_div_prolog:
1A2 927A ST R7,-Y
1A3 928A ST R8,-Y
1A4 929A ST R9,-Y
1A5 92AA ST R10,-Y
1A6 92BA ST R11,-Y
1A7 92CA ST R12,-Y
1A8 93EA ST R30,-Y
1A9 938A ST R24,-Y
1AA 939A ST R25,-Y
1AB 93AA ST R26,-Y
1AC 93BA ST R27,-Y
1AD 858B LDD R24,Y+11
1AE 859C LDD R25,Y+12
1AF 85AD LDD R26,Y+13
1B0 85BE LDD R27,Y+14
1B1 2EC3 MOV R12,R19
1B2 F00E BRTS 0x01B4
1B3 26CB EOR R12,R27
1B4 9508 RET
long_div_epilog:
1B5 FCC7 SBRC R12,7
1B6 D05E RCALL neg32
1B7 91B9 LD R27,Y+
1B8 91A9 LD R26,Y+
1B9 9199 LD R25,Y+
1BA 9189 LD R24,Y+
1BB 91E9 LD R30,Y+
1BC 90C9 LD R12,Y+
1BD 90B9 LD R11,Y+
1BE 90A9 LD R10,Y+
1BF 9099 LD R9,Y+
1C0 9089 LD R8,Y+
1C1 9079 LD R7,Y+
1C2 9624 ADIW R28,4
1C3 9508 RET
tst_R16_R19:
1C4 2FE0 MOV R30,R16
1C5 2BE1 OR R30,R17
1C6 2BE2 OR R30,R18
1C7 2BE3 OR R30,R19
1C8 9508 RET
tst_R24_R27:
1C9 2FE8 MOV R30,R24
1CA 2BE9 OR R30,R25
1CB 2BEA OR R30,R26
1CC 2BEB OR R30,R27
1CD 9508 RET
neg_R24_R27:
1CE 9580 COM R24
1CF 9590 COM R25
1D0 95A0 COM R26
1D1 95B0 COM R27
1D2 5F8F SUBI R24,0xFF
1D3 4F9F SBCI R25,0xFF
1D4 4FAF SBCI R26,0xFF
1D5 4FBF SBCI R27,0xFF
1D6 9508 RET
empy32u:
empy32s:
1D7 D046 RCALL long_prolog
1D8 927A ST R7,-Y
1D9 D05D RCALL tstzero1
1DA F151 BEQ 0x0205
1DB 2477 CLR R7
1DC D060 RCALL tstzero2
1DD F419 BNE 0x01E1
1DE 018C MOVW R16,R24
1DF 019D MOVW R18,R26
1E0 C024 RJMP 0x0205
1E1 920A ST R0,-Y
1E2 921A ST R1,-Y
1E3 9F08 MUL R16,R24
1E4 2CB0 MOV R11,R0
1E5 2CA1 MOV R10,R1
1E6 9F28 MUL R18,R24
1E7 2C90 MOV R9,R0
1E8 2C81 MOV R8,R1
1E9 9F18 MUL R17,R24
1EA 0CA0 ADD R10,R0
1EB 1C91 ADC R9,R1
1EC 1C87 ADC R8,R7
1ED 9F09 MUL R16,R25
1EE 0CA0 ADD R10,R0
1EF 1C91 ADC R9,R1
1F0 1C87 ADC R8,R7
1F1 9F19 MUL R17,R25
1F2 0C90 ADD R9,R0
1F3 1C81 ADC R8,R1
1F4 9F0A MUL R16,R26
1F5 0C90 ADD R9,R0
1F6 1C81 ADC R8,R1
1F7 9F38 MUL R19,R24
1F8 0C80 ADD R8,R0
1F9 9F29 MUL R18,R25
1FA 0C80 ADD R8,R0
1FB 9F1A MUL R17,R26
1FC 0C80 ADD R8,R0
1FD 9F0B MUL R16,R27
1FE 0C80 ADD R8,R0
1FF 9019 LD R1,Y+
200 9009 LD R0,Y+
201 2D0B MOV R16,R11
202 2D1A MOV R17,R10
203 2D29 MOV R18,R9
204 2D38 MOV R19,R8
205 9079 LD R7,Y+
206 C025 RJMP long_epilog
push_xgsetF00C:
207 937A ST R23,-Y
208 936A ST R22,-Y
209 935A ST R21,-Y
20A 934A ST R20,-Y
20B 92BA ST R11,-Y
20C 92AA ST R10,-Y
20D 9508 RET
pop_xgsetF00C:
20E 90A9 LD R10,Y+
20F 90B9 LD R11,Y+
210 9149 LD R20,Y+
211 9159 LD R21,Y+
212 9169 LD R22,Y+
213 9179 LD R23,Y+
214 9508 RET
neg32:
215 9500 COM R16
216 9510 COM R17
217 9520 COM R18
218 9530 COM R19
219 5F0F SUBI R16,0xFF
21A 4F1F SBCI R17,0xFF
21B 4F2F SBCI R18,0xFF
21C 4F3F SBCI R19,0xFF
21D 9508 RET
long_prolog:
21E 928A ST R8,-Y
21F 929A ST R9,-Y
220 92AA ST R10,-Y
221 92BA ST R11,-Y
222 93EA ST R30,-Y
223 938A ST R24,-Y
224 939A ST R25,-Y
225 93AA ST R26,-Y
226 93BA ST R27,-Y
227 8589 LDD R24,Y+9
228 859A LDD R25,Y+10
229 85AB LDD R26,Y+11
22A 85BC LDD R27,Y+12
22B 9508 RET
long_epilog:
22C 91B9 LD R27,Y+
22D 91A9 LD R26,Y+
22E 9199 LD R25,Y+
22F 9189 LD R24,Y+
230 91E9 LD R30,Y+
231 90B9 LD R11,Y+
232 90A9 LD R10,Y+
233 9099 LD R9,Y+
234 9089 LD R8,Y+
235 9624 ADIW R28,4
236 9508 RET
tstzero1:
237 27EE CLR R30
238 2BE0 OR R30,R16
239 2BE1 OR R30,R17
23A 2BE2 OR R30,R18
23B 2BE3 OR R30,R19
23C 9508 RET
tstzero2:
23D 27EE CLR R30
23E 2BE8 OR R30,R24
23F 2BE9 OR R30,R25
240 2BEA OR R30,R26
241 2BEB OR R30,R27
242 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -