Subversion Repositories FlightCtrl

Rev

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