Subversion Repositories Projects

Rev

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

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