Subversion Repositories FlightCtrl

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

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

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
AdNeutralGier
AdNeutralRoll
AdNeutralNick
EE_Parameter
SenderOkay
__divmodhi4
PlatinenVersion
MotorenEin