Subversion Repositories FlightCtrl

Rev

Rev 1755 | Details | Compare with Previous | Last modification | View Log | RSS feed

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