0,0 → 1,690 |
1 .file "rc.c" |
2 .arch atmega644p |
3 __SREG__ = 0x3f |
4 __SP_H__ = 0x3e |
5 __SP_L__ = 0x3d |
6 __tmp_reg__ = 0 |
7 __zero_reg__ = 1 |
8 .global __do_copy_data |
9 .global __do_clear_bss |
10 .global NewPpmData |
11 .data |
14 NewPpmData: |
15 0000 01 .byte 1 |
16 .global tmpChannels |
17 .global tmpChannels |
18 .section .bss |
21 tmpChannels: |
22 0000 00 .skip 1,0 |
23 .text |
24 .global rc_sum_init |
26 rc_sum_init: |
27 /* prologue: frame size=0 */ |
28 /* prologue end (size=0) */ |
29 0000 89E1 ldi r24,lo8(25) |
30 0002 A0E0 ldi r26,lo8(PPM_diff) |
31 0004 B0E0 ldi r27,hi8(PPM_diff) |
32 0006 E0E0 ldi r30,lo8(PPM_in) |
33 0008 F0E0 ldi r31,hi8(PPM_in) |
34 .L5: |
35 000a 1182 std Z+1,__zero_reg__ |
36 000c 1082 st Z,__zero_reg__ |
37 000e 3296 adiw r30,2 |
38 0010 1196 adiw r26,1 |
39 0012 1C92 st X,__zero_reg__ |
40 0014 1E92 st -X,__zero_reg__ |
41 0016 1296 adiw r26,2 |
42 0018 8150 subi r24,lo8(-(-1)) |
43 001a 87FF sbrs r24,7 |
44 001c F6CF rjmp .L5 |
45 001e 1092 0000 sts (AdNeutralGier)+1,__zero_reg__ |
46 0022 1092 0000 sts AdNeutralGier,__zero_reg__ |
47 0026 1092 0000 sts (AdNeutralRoll)+1,__zero_reg__ |
48 002a 1092 0000 sts AdNeutralRoll,__zero_reg__ |
49 002e 1092 0000 sts (AdNeutralNick)+1,__zero_reg__ |
50 0032 1092 0000 sts AdNeutralNick,__zero_reg__ |
51 /* epilogue: frame size=0 */ |
52 0036 0895 ret |
53 /* epilogue end (size=1) */ |
54 /* function rc_sum_init size 28 (27) */ |
56 .lcomm AltICR.0,2 |
57 .lcomm index.1,2 |
58 .lcomm AltICR.2,2 |
59 .lcomm ppm_in.3,26 |
60 .lcomm ppm_diff.4,26 |
61 .lcomm old_ppm_in.5,26 |
62 .lcomm old_ppm_diff.6,26 |
63 .lcomm index.7,1 |
64 .lcomm okay_cnt.8,1 |
65 .global __vector_12 |
67 __vector_12: |
68 /* prologue: frame size=0 */ |
69 0038 1F92 push __zero_reg__ |
70 003a 0F92 push __tmp_reg__ |
71 003c 0FB6 in __tmp_reg__,__SREG__ |
72 003e 0F92 push __tmp_reg__ |
73 0040 1124 clr __zero_reg__ |
74 0042 0F93 push r16 |
75 0044 1F93 push r17 |
76 0046 2F93 push r18 |
77 0048 3F93 push r19 |
78 004a 4F93 push r20 |
79 004c 5F93 push r21 |
80 004e 6F93 push r22 |
81 0050 7F93 push r23 |
82 0052 8F93 push r24 |
83 0054 9F93 push r25 |
84 0056 AF93 push r26 |
85 0058 BF93 push r27 |
86 005a CF93 push r28 |
87 005c DF93 push r29 |
88 005e EF93 push r30 |
89 0060 FF93 push r31 |
90 /* prologue end (size=21) */ |
91 0062 8091 0000 lds r24,EE_Parameter+99 |
92 0066 82FD sbrc r24,2 |
93 0068 CFC0 rjmp .L9 |
94 006a 4091 8600 lds r20,134 |
95 006e 5091 8700 lds r21,(134)+1 |
96 0072 8091 0000 lds r24,AltICR.0 |
97 0076 9091 0000 lds r25,(AltICR.0)+1 |
98 007a 481B sub r20,r24 |
99 007c 590B sbc r21,r25 |
100 007e 8091 8600 lds r24,134 |
101 0082 9091 8700 lds r25,(134)+1 |
102 0086 9093 0000 sts (AltICR.0)+1,r25 |
103 008a 8093 0000 sts AltICR.0,r24 |
104 008e CA01 movw r24,r20 |
105 0090 8D54 subi r24,lo8(-(-1101)) |
106 0092 9440 sbci r25,hi8(-(-1101)) |
107 0094 A091 0000 lds r26,index.1 |
108 0098 B091 0000 lds r27,(index.1)+1 |
109 009c 835F subi r24,lo8(6899) |
110 009e 9A41 sbci r25,hi8(6899) |
111 00a0 78F4 brsh .L10 |
112 00a2 8091 0000 lds r24,index.1 |
113 00a6 8093 0000 sts Channels,r24 |
114 00aa 1497 sbiw r26,4 |
115 00ac 14F0 brlt .L11 |
116 00ae 1092 0000 sts NewPpmData,__zero_reg__ |
117 .L11: |
118 00b2 81E0 ldi r24,lo8(1) |
119 00b4 90E0 ldi r25,hi8(1) |
120 00b6 9093 0000 sts (index.1)+1,r25 |
121 00ba 8093 0000 sts index.1,r24 |
122 00be 07C2 rjmp .L8 |
123 .L10: |
124 00c0 AD30 cpi r26,13 |
125 00c2 B105 cpc r27,__zero_reg__ |
126 00c4 0CF0 brlt .+2 |
127 00c6 03C2 rjmp .L8 |
128 00c8 CA01 movw r24,r20 |
129 00ca 8B5F subi r24,lo8(-(-251)) |
130 00cc 9040 sbci r25,hi8(-(-251)) |
131 00ce 845B subi r24,lo8(436) |
132 00d0 9140 sbci r25,hi8(436) |
133 00d2 08F0 brlo .+2 |
134 00d4 74C0 rjmp .L14 |
135 00d6 425D subi r20,lo8(-(-466)) |
136 00d8 5140 sbci r21,hi8(-(-466)) |
137 00da FD01 movw r30,r26 |
138 00dc EA0F add r30,r26 |
139 00de FB1F adc r31,r27 |
140 00e0 E050 subi r30,lo8(-(PPM_in)) |
141 00e2 F040 sbci r31,hi8(-(PPM_in)) |
142 00e4 8081 ld r24,Z |
143 00e6 9181 ldd r25,Z+1 |
144 00e8 FA01 movw r30,r20 |
145 00ea E81B sub r30,r24 |
146 00ec F90B sbc r31,r25 |
147 00ee CF01 movw r24,r30 |
148 00f0 F7FF sbrs r31,7 |
149 00f2 03C0 rjmp .L16 |
150 00f4 9095 com r25 |
151 00f6 8195 neg r24 |
152 00f8 9F4F sbci r25,lo8(-1) |
153 .L16: |
154 00fa 0697 sbiw r24,6 |
155 00fc 5CF4 brge .L15 |
156 00fe 8091 0000 lds r24,SenderOkay |
157 0102 883C cpi r24,lo8(-56) |
158 0104 20F4 brsh .L17 |
159 0106 8091 0000 lds r24,SenderOkay |
160 010a 865F subi r24,lo8(-(10)) |
161 010c 01C0 rjmp .L87 |
162 .L17: |
163 010e 88EC ldi r24,lo8(-56) |
164 .L87: |
165 0110 8093 0000 sts SenderOkay,r24 |
166 .L15: |
167 0114 FD01 movw r30,r26 |
168 0116 EA0F add r30,r26 |
169 0118 FB1F adc r31,r27 |
170 011a E050 subi r30,lo8(-(PPM_in)) |
171 011c F040 sbci r31,hi8(-(PPM_in)) |
172 011e 8081 ld r24,Z |
173 0120 9181 ldd r25,Z+1 |
174 0122 9C01 movw r18,r24 |
175 0124 220F lsl r18 |
176 0126 331F rol r19 |
177 0128 280F add r18,r24 |
178 012a 391F adc r19,r25 |
179 012c 240F add r18,r20 |
180 012e 351F adc r19,r21 |
181 0130 37FF sbrs r19,7 |
182 0132 02C0 rjmp .L19 |
183 0134 2D5F subi r18,lo8(-(3)) |
184 0136 3F4F sbci r19,hi8(-(3)) |
185 .L19: |
186 0138 E901 movw r28,r18 |
187 013a D595 asr r29 |
188 013c C795 ror r28 |
189 013e D595 asr r29 |
190 0140 C795 ror r28 |
191 0142 CA01 movw r24,r20 |
192 0144 0196 adiw r24,1 |
193 0146 8C17 cp r24,r28 |
194 0148 9D07 cpc r25,r29 |
195 014a 14F4 brge .L20 |
196 014c 2197 sbiw r28,1 |
197 014e 06C0 rjmp .L21 |
198 .L20: |
199 0150 4150 subi r20,lo8(-(-1)) |
200 0152 5040 sbci r21,hi8(-(-1)) |
201 0154 C417 cp r28,r20 |
202 0156 D507 cpc r29,r21 |
203 0158 0CF4 brge .L21 |
204 015a 2196 adiw r28,1 |
205 .L21: |
206 015c 8091 0000 lds r24,SenderOkay |
207 0160 833C cpi r24,lo8(-61) |
208 0162 E0F0 brlo .L23 |
209 0164 8D01 movw r16,r26 |
210 0166 0A0F add r16,r26 |
211 0168 1B1F adc r17,r27 |
212 016a F801 movw r30,r16 |
213 016c E050 subi r30,lo8(-(PPM_in)) |
214 016e F040 sbci r31,hi8(-(PPM_in)) |
215 0170 8081 ld r24,Z |
216 0172 9181 ldd r25,Z+1 |
217 0174 9E01 movw r18,r28 |
218 0176 281B sub r18,r24 |
219 0178 390B sbc r19,r25 |
220 017a C901 movw r24,r18 |
221 017c 63E0 ldi r22,lo8(3) |
222 017e 70E0 ldi r23,hi8(3) |
223 0180 0E94 0000 call __divmodhi4 |
224 0184 CB01 movw r24,r22 |
225 0186 880F lsl r24 |
226 0188 991F rol r25 |
227 018a 860F add r24,r22 |
228 018c 971F adc r25,r23 |
229 018e 0050 subi r16,lo8(-(PPM_diff)) |
230 0190 1040 sbci r17,hi8(-(PPM_diff)) |
231 0192 D801 movw r26,r16 |
232 0194 1196 adiw r26,1 |
233 0196 9C93 st X,r25 |
234 0198 8E93 st -X,r24 |
235 019a 07C0 rjmp .L24 |
236 .L23: |
237 019c AA0F add r26,r26 |
238 019e BB1F adc r27,r27 |
239 01a0 A050 subi r26,lo8(-(PPM_diff)) |
240 01a2 B040 sbci r27,hi8(-(PPM_diff)) |
241 01a4 1196 adiw r26,1 |
242 01a6 1C92 st X,__zero_reg__ |
243 01a8 1E92 st -X,__zero_reg__ |
244 .L24: |
245 01aa E091 0000 lds r30,index.1 |
246 01ae F091 0000 lds r31,(index.1)+1 |
247 01b2 EE0F add r30,r30 |
248 01b4 FF1F adc r31,r31 |
249 01b6 E050 subi r30,lo8(-(PPM_in)) |
250 01b8 F040 sbci r31,hi8(-(PPM_in)) |
251 01ba D183 std Z+1,r29 |
252 01bc C083 st Z,r28 |
253 .L14: |
254 01be 2091 0000 lds r18,index.1 |
255 01c2 3091 0000 lds r19,(index.1)+1 |
256 01c6 2F5F subi r18,lo8(-(1)) |
257 01c8 3F4F sbci r19,hi8(-(1)) |
258 01ca 3093 0000 sts (index.1)+1,r19 |
259 01ce 2093 0000 sts index.1,r18 |
260 01d2 8091 0000 lds r24,PlatinenVersion |
261 01d6 8431 cpi r24,lo8(20) |
262 01d8 08F0 brlo .+2 |
263 01da 79C1 rjmp .L8 |
264 01dc 2530 cpi r18,5 |
265 01de 3105 cpc r19,__zero_reg__ |
266 01e0 11F4 brne .L26 |
267 01e2 5D9A sbi 43-0x20,5 |
268 01e4 01C0 rjmp .L27 |
269 .L26: |
270 01e6 5D98 cbi 43-0x20,5 |
271 .L27: |
272 01e8 8091 0000 lds r24,index.1 |
273 01ec 9091 0000 lds r25,(index.1)+1 |
274 01f0 8630 cpi r24,6 |
275 01f2 9105 cpc r25,__zero_reg__ |
276 01f4 11F4 brne .L28 |
277 01f6 5C9A sbi 43-0x20,4 |
278 01f8 01C0 rjmp .L29 |
279 .L28: |
280 01fa 5C98 cbi 43-0x20,4 |
281 .L29: |
282 01fc 0797 sbiw r24,7 |
283 01fe 11F4 brne .L30 |
284 0200 5B9A sbi 43-0x20,3 |
285 0202 65C1 rjmp .L8 |
286 .L30: |
287 0204 5B98 cbi 43-0x20,3 |
288 0206 63C1 rjmp .L8 |
289 .L9: |
290 0208 4091 8600 lds r20,134 |
291 020c 5091 8700 lds r21,(134)+1 |
292 0210 8091 0000 lds r24,AltICR.2 |
293 0214 9091 0000 lds r25,(AltICR.2)+1 |
294 0218 481B sub r20,r24 |
295 021a 590B sbc r21,r25 |
296 021c 8091 8600 lds r24,134 |
297 0220 9091 8700 lds r25,(134)+1 |
298 0224 9093 0000 sts (AltICR.2)+1,r25 |
299 0228 8093 0000 sts AltICR.2,r24 |
300 022c CA01 movw r24,r20 |
301 022e 8D54 subi r24,lo8(-(-1101)) |
302 0230 9440 sbci r25,hi8(-(-1101)) |
303 0232 6091 0000 lds r22,index.7 |
304 0236 835F subi r24,lo8(6899) |
305 0238 9A41 sbci r25,hi8(6899) |
306 023a 08F0 brlo .+2 |
307 023c 7AC0 rjmp .L33 |
308 023e 6093 0000 sts tmpChannels,r22 |
309 0242 8091 0000 lds r24,tmpChannels |
310 0246 8430 cpi r24,lo8(4) |
311 0248 08F4 brsh .+2 |
312 024a 53C0 rjmp .L34 |
313 024c 9091 0000 lds r25,Channels |
314 0250 8091 0000 lds r24,tmpChannels |
315 0254 9817 cp r25,r24 |
316 0256 09F0 breq .+2 |
317 0258 4CC0 rjmp .L34 |
318 025a 5091 0000 lds r21,okay_cnt.8 |
319 025e 5B30 cpi r21,lo8(11) |
320 0260 08F4 brsh .+2 |
321 0262 3FC0 rjmp .L35 |
322 0264 1092 0000 sts NewPpmData,__zero_reg__ |
323 0268 1092 0000 sts index.7,__zero_reg__ |
324 026c 40E0 ldi r20,lo8(0) |
325 .L40: |
326 026e 5F31 cpi r21,lo8(31) |
327 0270 C0F0 brlo .L39 |
328 0272 E42F mov r30,r20 |
329 0274 FF27 clr r31 |
330 0276 EE0F add r30,r30 |
331 0278 FF1F adc r31,r31 |
332 027a 9F01 movw r18,r30 |
333 027c 2050 subi r18,lo8(-(old_ppm_in.5)) |
334 027e 3040 sbci r19,hi8(-(old_ppm_in.5)) |
335 0280 DF01 movw r26,r30 |
336 0282 A050 subi r26,lo8(-(PPM_in)) |
337 0284 B040 sbci r27,hi8(-(PPM_in)) |
338 0286 8D91 ld r24,X+ |
339 0288 9C91 ld r25,X |
340 028a D901 movw r26,r18 |
341 028c 8D93 st X+,r24 |
342 028e 9C93 st X,r25 |
343 0290 DF01 movw r26,r30 |
344 0292 A050 subi r26,lo8(-(PPM_diff)) |
345 0294 B040 sbci r27,hi8(-(PPM_diff)) |
346 0296 8D91 ld r24,X+ |
347 0298 9C91 ld r25,X |
348 029a E050 subi r30,lo8(-(old_ppm_diff.6)) |
349 029c F040 sbci r31,hi8(-(old_ppm_diff.6)) |
350 029e 9183 std Z+1,r25 |
351 02a0 8083 st Z,r24 |
352 .L39: |
353 02a2 E42F mov r30,r20 |
354 02a4 FF27 clr r31 |
355 02a6 EE0F add r30,r30 |
356 02a8 FF1F adc r31,r31 |
357 02aa 9F01 movw r18,r30 |
358 02ac 2050 subi r18,lo8(-(PPM_in)) |
359 02ae 3040 sbci r19,hi8(-(PPM_in)) |
360 02b0 DF01 movw r26,r30 |
361 02b2 A050 subi r26,lo8(-(ppm_in.3)) |
362 02b4 B040 sbci r27,hi8(-(ppm_in.3)) |
363 02b6 8D91 ld r24,X+ |
364 02b8 9C91 ld r25,X |
365 02ba D901 movw r26,r18 |
366 02bc 1196 adiw r26,1 |
367 02be 9C93 st X,r25 |
368 02c0 8E93 st -X,r24 |
369 02c2 DF01 movw r26,r30 |
370 02c4 A050 subi r26,lo8(-(ppm_diff.4)) |
371 02c6 B040 sbci r27,hi8(-(ppm_diff.4)) |
372 02c8 8D91 ld r24,X+ |
373 02ca 9C91 ld r25,X |
374 02cc E050 subi r30,lo8(-(PPM_diff)) |
375 02ce F040 sbci r31,hi8(-(PPM_diff)) |
376 02d0 9183 std Z+1,r25 |
377 02d2 8083 st Z,r24 |
378 02d4 842F mov r24,r20 |
379 02d6 8F5F subi r24,lo8(-(1)) |
380 02d8 482F mov r20,r24 |
381 02da 8D30 cpi r24,lo8(13) |
382 02dc 40F2 brlo .L40 |
383 02de 8093 0000 sts index.7,r24 |
384 .L35: |
385 02e2 8091 0000 lds r24,okay_cnt.8 |
386 02e6 8F3F cpi r24,lo8(-1) |
387 02e8 B9F0 breq .L42 |
388 02ea 8F5F subi r24,lo8(-(1)) |
389 02ec 8093 0000 sts okay_cnt.8,r24 |
390 02f0 13C0 rjmp .L42 |
391 .L34: |
392 02f2 8091 0000 lds r24,okay_cnt.8 |
393 02f6 8536 cpi r24,lo8(101) |
394 02f8 20F0 brlo .L43 |
395 02fa 8AE0 ldi r24,lo8(10) |
396 02fc 8093 0000 sts okay_cnt.8,r24 |
397 0300 02C0 rjmp .L44 |
398 .L43: |
399 0302 1092 0000 sts okay_cnt.8,__zero_reg__ |
400 .L44: |
401 0306 8091 0000 lds r24,PlatinenVersion |
402 030a 8A30 cpi r24,lo8(10) |
403 030c 11F0 breq .L46 |
404 030e 8431 cpi r24,lo8(20) |
405 0310 10F0 brlo .L45 |
406 .L46: |
407 0312 289A sbi 37-0x20,0 |
408 0314 01C0 rjmp .L42 |
409 .L45: |
410 0316 2898 cbi 37-0x20,0 |
411 .L42: |
412 0318 81E0 ldi r24,lo8(1) |
413 031a 8093 0000 sts index.7,r24 |
414 031e 8091 0000 lds r24,MotorenEin |
415 0322 8823 tst r24 |
416 0324 09F0 breq .+2 |
417 0326 D3C0 rjmp .L8 |
418 0328 8091 0000 lds r24,tmpChannels |
419 032c 8093 0000 sts Channels,r24 |
420 0330 CEC0 rjmp .L8 |
421 .L33: |
422 0332 6D30 cpi r22,lo8(13) |
423 0334 08F0 brlo .+2 |
424 0336 A3C0 rjmp .L50 |
425 0338 CA01 movw r24,r20 |
426 033a 8B5F subi r24,lo8(-(-251)) |
427 033c 9040 sbci r25,hi8(-(-251)) |
428 033e 845B subi r24,lo8(436) |
429 0340 9140 sbci r25,hi8(436) |
430 0342 08F0 brlo .+2 |
431 0344 7EC0 rjmp .L51 |
432 0346 425D subi r20,lo8(-(-466)) |
433 0348 5140 sbci r21,hi8(-(-466)) |
434 034a E62F mov r30,r22 |
435 034c FF27 clr r31 |
436 034e EE0F add r30,r30 |
437 0350 FF1F adc r31,r31 |
438 0352 E050 subi r30,lo8(-(ppm_in.3)) |
439 0354 F040 sbci r31,hi8(-(ppm_in.3)) |
440 0356 8081 ld r24,Z |
441 0358 9181 ldd r25,Z+1 |
442 035a FA01 movw r30,r20 |
443 035c E81B sub r30,r24 |
444 035e F90B sbc r31,r25 |
445 0360 CF01 movw r24,r30 |
446 0362 0596 adiw r24,5 |
447 0364 0B97 sbiw r24,11 |
448 0366 B0F4 brsh .L52 |
449 0368 8091 0000 lds r24,okay_cnt.8 |
450 036c 8A31 cpi r24,lo8(26) |
451 036e 20F0 brlo .L53 |
452 0370 8091 0000 lds r24,SenderOkay |
453 0374 865F subi r24,lo8(-(10)) |
454 0376 05C0 rjmp .L88 |
455 .L53: |
456 0378 8B30 cpi r24,lo8(11) |
457 037a 28F0 brlo .L54 |
458 037c 8091 0000 lds r24,SenderOkay |
459 0380 8E5F subi r24,lo8(-(2)) |
460 .L88: |
461 0382 8093 0000 sts SenderOkay,r24 |
462 .L54: |
463 0386 8091 0000 lds r24,SenderOkay |
464 038a 893C cpi r24,lo8(-55) |
465 038c 18F0 brlo .L52 |
466 038e 88EC ldi r24,lo8(-56) |
467 0390 8093 0000 sts SenderOkay,r24 |
468 .L52: |
469 0394 E62F mov r30,r22 |
470 0396 FF27 clr r31 |
471 0398 EE0F add r30,r30 |
472 039a FF1F adc r31,r31 |
473 039c E050 subi r30,lo8(-(ppm_in.3)) |
474 039e F040 sbci r31,hi8(-(ppm_in.3)) |
475 03a0 8081 ld r24,Z |
476 03a2 9181 ldd r25,Z+1 |
477 03a4 9C01 movw r18,r24 |
478 03a6 220F lsl r18 |
479 03a8 331F rol r19 |
480 03aa 280F add r18,r24 |
481 03ac 391F adc r19,r25 |
482 03ae 240F add r18,r20 |
483 03b0 351F adc r19,r21 |
484 03b2 37FF sbrs r19,7 |
485 03b4 02C0 rjmp .L57 |
486 03b6 2D5F subi r18,lo8(-(3)) |
487 03b8 3F4F sbci r19,hi8(-(3)) |
488 .L57: |
489 03ba E901 movw r28,r18 |
490 03bc D595 asr r29 |
491 03be C795 ror r28 |
492 03c0 D595 asr r29 |
493 03c2 C795 ror r28 |
494 03c4 CA01 movw r24,r20 |
495 03c6 0196 adiw r24,1 |
496 03c8 8C17 cp r24,r28 |
497 03ca 9D07 cpc r25,r29 |
498 03cc 14F4 brge .L58 |
499 03ce 2197 sbiw r28,1 |
500 03d0 06C0 rjmp .L59 |
501 .L58: |
502 03d2 4150 subi r20,lo8(-(-1)) |
503 03d4 5040 sbci r21,hi8(-(-1)) |
504 03d6 C417 cp r28,r20 |
505 03d8 D507 cpc r29,r21 |
506 03da 0CF4 brge .L59 |
507 03dc 2196 adiw r28,1 |
508 .L59: |
509 03de 8091 0000 lds r24,SenderOkay |
510 03e2 8E3B cpi r24,lo8(-66) |
511 03e4 D8F0 brlo .L61 |
512 03e6 E62F mov r30,r22 |
513 03e8 FF27 clr r31 |
514 03ea EE0F add r30,r30 |
515 03ec FF1F adc r31,r31 |
516 03ee DF01 movw r26,r30 |
517 03f0 A050 subi r26,lo8(-(ppm_in.3)) |
518 03f2 B040 sbci r27,hi8(-(ppm_in.3)) |
519 03f4 8D91 ld r24,X+ |
520 03f6 9C91 ld r25,X |
521 03f8 9E01 movw r18,r28 |
522 03fa 281B sub r18,r24 |
523 03fc 390B sbc r19,r25 |
524 03fe C901 movw r24,r18 |
525 0400 63E0 ldi r22,lo8(3) |
526 0402 70E0 ldi r23,hi8(3) |
527 0404 0E94 0000 call __divmodhi4 |
528 0408 CB01 movw r24,r22 |
529 040a 880F lsl r24 |
530 040c 991F rol r25 |
531 040e 860F add r24,r22 |
532 0410 971F adc r25,r23 |
533 0412 E050 subi r30,lo8(-(ppm_diff.4)) |
534 0414 F040 sbci r31,hi8(-(ppm_diff.4)) |
535 0416 9183 std Z+1,r25 |
536 0418 8083 st Z,r24 |
537 041a 08C0 rjmp .L62 |
538 .L61: |
539 041c E62F mov r30,r22 |
540 041e FF27 clr r31 |
541 0420 EE0F add r30,r30 |
542 0422 FF1F adc r31,r31 |
543 0424 E050 subi r30,lo8(-(ppm_diff.4)) |
544 0426 F040 sbci r31,hi8(-(ppm_diff.4)) |
545 0428 1182 std Z+1,__zero_reg__ |
546 042a 1082 st Z,__zero_reg__ |
547 .L62: |
548 042c 8091 0000 lds r24,index.7 |
549 0430 E82F mov r30,r24 |
550 0432 FF27 clr r31 |
551 0434 EE0F add r30,r30 |
552 0436 FF1F adc r31,r31 |
553 0438 E050 subi r30,lo8(-(ppm_in.3)) |
554 043a F040 sbci r31,hi8(-(ppm_in.3)) |
555 043c D183 std Z+1,r29 |
556 043e C083 st Z,r28 |
557 0440 09C0 rjmp .L63 |
558 .L51: |
559 0442 8091 0000 lds r24,PlatinenVersion |
560 0446 8A30 cpi r24,lo8(10) |
561 0448 11F0 breq .L65 |
562 044a 8431 cpi r24,lo8(20) |
563 044c 10F0 brlo .L64 |
564 .L65: |
565 044e 289A sbi 37-0x20,0 |
566 0450 01C0 rjmp .L63 |
567 .L64: |
568 0452 2898 cbi 37-0x20,0 |
569 .L63: |
570 0454 8091 0000 lds r24,PlatinenVersion |
571 0458 8431 cpi r24,lo8(20) |
572 045a 88F4 brsh .L50 |
573 045c 8091 0000 lds r24,index.7 |
574 0460 8530 cpi r24,lo8(5) |
575 0462 11F4 brne .L68 |
576 0464 5D9A sbi 43-0x20,5 |
577 0466 05C0 rjmp .L70 |
578 .L68: |
579 0468 5D98 cbi 43-0x20,5 |
580 046a 8630 cpi r24,lo8(6) |
581 046c 11F4 brne .L70 |
582 046e 5C9A sbi 43-0x20,4 |
583 0470 05C0 rjmp .L72 |
584 .L70: |
585 0472 5C98 cbi 43-0x20,4 |
586 0474 8730 cpi r24,lo8(7) |
587 0476 11F4 brne .L72 |
588 0478 5B9A sbi 43-0x20,3 |
589 047a 01C0 rjmp .L50 |
590 .L72: |
591 047c 5B98 cbi 43-0x20,3 |
592 .L50: |
593 047e 8091 0000 lds r24,index.7 |
594 0482 8431 cpi r24,lo8(20) |
595 0484 20F4 brsh .L74 |
596 0486 8F5F subi r24,lo8(-(1)) |
597 0488 8093 0000 sts index.7,r24 |
598 048c 20C0 rjmp .L8 |
599 .L74: |
600 048e 8431 cpi r24,lo8(20) |
601 0490 F1F4 brne .L8 |
602 0492 8091 0000 lds r24,PlatinenVersion |
603 0496 8A30 cpi r24,lo8(10) |
604 0498 11F0 breq .L78 |
605 049a 8431 cpi r24,lo8(20) |
606 049c 10F0 brlo .L77 |
607 .L78: |
608 049e 289A sbi 37-0x20,0 |
609 04a0 01C0 rjmp .L79 |
610 .L77: |
611 04a2 2898 cbi 37-0x20,0 |
612 .L79: |
613 04a4 8EE1 ldi r24,lo8(30) |
614 04a6 8093 0000 sts index.7,r24 |
615 04aa 2CE0 ldi r18,lo8(12) |
616 04ac C0E0 ldi r28,lo8(PPM_diff) |
617 04ae D0E0 ldi r29,hi8(PPM_diff) |
618 04b0 A0E0 ldi r26,lo8(old_ppm_in.5) |
619 04b2 B0E0 ldi r27,hi8(old_ppm_in.5) |
620 04b4 E0E0 ldi r30,lo8(PPM_in) |
621 04b6 F0E0 ldi r31,hi8(PPM_in) |
622 .L83: |
623 04b8 8D91 ld r24,X+ |
624 04ba 9D91 ld r25,X+ |
625 04bc 9183 std Z+1,r25 |
626 04be 8083 st Z,r24 |
627 04c0 3296 adiw r30,2 |
628 04c2 1982 std Y+1,__zero_reg__ |
629 04c4 1882 st Y,__zero_reg__ |
630 04c6 2296 adiw r28,2 |
631 04c8 2150 subi r18,lo8(-(-1)) |
632 04ca 27FF sbrs r18,7 |
633 04cc F5CF rjmp .L83 |
634 .L8: |
635 /* epilogue: frame size=0 */ |
636 04ce FF91 pop r31 |
637 04d0 EF91 pop r30 |
638 04d2 DF91 pop r29 |
639 04d4 CF91 pop r28 |
640 04d6 BF91 pop r27 |
641 04d8 AF91 pop r26 |
642 04da 9F91 pop r25 |
643 04dc 8F91 pop r24 |
644 04de 7F91 pop r23 |
645 04e0 6F91 pop r22 |
646 04e2 5F91 pop r21 |
647 04e4 4F91 pop r20 |
648 04e6 3F91 pop r19 |
649 04e8 2F91 pop r18 |
650 04ea 1F91 pop r17 |
651 04ec 0F91 pop r16 |
652 04ee 0F90 pop __tmp_reg__ |
653 04f0 0FBE out __SREG__,__tmp_reg__ |
654 04f2 0F90 pop __tmp_reg__ |
655 04f4 1F90 pop __zero_reg__ |
656 04f6 1895 reti |
657 /* epilogue end (size=21) */ |
658 /* function __vector_12 size 615 (573) */ |
660 .comm PPM_in,52,1 |
661 .comm PPM_diff,52,1 |
662 .comm Channels,1,1 |
663 /* File "rc.c": code 643 = 0x0283 ( 600), prologues 21, epilogues 22 */ |
DEFINED SYMBOLS |
*ABS*:00000000 rc.c |
C:\Users\Arthur-P\AppData\Local\Temp/ccIxbaaa.s:3 *ABS*:0000003f __SREG__ |
C:\Users\Arthur-P\AppData\Local\Temp/ccIxbaaa.s:4 *ABS*:0000003e __SP_H__ |
C:\Users\Arthur-P\AppData\Local\Temp/ccIxbaaa.s:5 *ABS*:0000003d __SP_L__ |
C:\Users\Arthur-P\AppData\Local\Temp/ccIxbaaa.s:6 *ABS*:00000000 __tmp_reg__ |
C:\Users\Arthur-P\AppData\Local\Temp/ccIxbaaa.s:7 *ABS*:00000001 __zero_reg__ |
C:\Users\Arthur-P\AppData\Local\Temp/ccIxbaaa.s:14 .data:00000000 NewPpmData |
C:\Users\Arthur-P\AppData\Local\Temp/ccIxbaaa.s:21 .bss:00000000 tmpChannels |
C:\Users\Arthur-P\AppData\Local\Temp/ccIxbaaa.s:26 .text:00000000 rc_sum_init |
*COM*:00000034 PPM_diff |
*COM*:00000034 PPM_in |
.bss:00000001 AltICR.0 |
C:\Users\Arthur-P\AppData\Local\Temp/ccIxbaaa.s:56 .bss:00000003 index.1 |
C:\Users\Arthur-P\AppData\Local\Temp/ccIxbaaa.s:57 .bss:00000005 AltICR.2 |
C:\Users\Arthur-P\AppData\Local\Temp/ccIxbaaa.s:58 .bss:00000007 ppm_in.3 |
C:\Users\Arthur-P\AppData\Local\Temp/ccIxbaaa.s:59 .bss:00000021 ppm_diff.4 |
C:\Users\Arthur-P\AppData\Local\Temp/ccIxbaaa.s:60 .bss:0000003b old_ppm_in.5 |
C:\Users\Arthur-P\AppData\Local\Temp/ccIxbaaa.s:61 .bss:00000055 old_ppm_diff.6 |
C:\Users\Arthur-P\AppData\Local\Temp/ccIxbaaa.s:62 .bss:0000006f index.7 |
C:\Users\Arthur-P\AppData\Local\Temp/ccIxbaaa.s:63 .bss:00000070 okay_cnt.8 |
C:\Users\Arthur-P\AppData\Local\Temp/ccIxbaaa.s:67 .text:00000038 __vector_12 |
*COM*:00000001 Channels |
|
UNDEFINED SYMBOLS |
__do_copy_data |
__do_clear_bss |
AdNeutralGier |
AdNeutralRoll |
AdNeutralNick |
EE_Parameter |
SenderOkay |
__divmodhi4 |
PlatinenVersion |
MotorenEin |