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