Subversion Repositories FlightCtrl

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

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