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 21E8 ldi r18,lo8(-127) 38 0008 3FEF ldi r19,hi8(-127) 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+110 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 E091 0000 lds r30,EE_Parameter+105 160 0100 EE23 tst r30 161 0102 01F0 breq .L18 162 0104 FF27 clr r31 163 0106 EE0F add r30,r30 164 0108 FF1F adc r31,r31 165 010a E050 subi r30,lo8(-(PPM_in)) 166 010c F040 sbci r31,hi8(-(PPM_in)) 167 010e 8081 ld r24,Z 168 0110 9181 ldd r25,Z+1 169 0112 8436 cpi r24,100 170 0114 9105 cpc r25,__zero_reg__ 171 0116 04F4 brge .L17 172 .L18: 173 0118 FD01 movw r30,r26 174 011a EA0F add r30,r26 175 011c FB1F adc r31,r27 176 011e E050 subi r30,lo8(-(PPM_in)) 177 0120 F040 sbci r31,hi8(-(PPM_in)) 178 0122 8081 ld r24,Z 179 0124 9181 ldd r25,Z+1 180 0126 FA01 movw r30,r20 181 0128 E81B sub r30,r24 182 012a F90B sbc r31,r25 183 012c CF01 movw r24,r30 184 012e F7FF sbrs r31,7 185 0130 00C0 rjmp .L20 186 0132 9095 com r25 187 0134 8195 neg r24 188 0136 9F4F sbci r25,lo8(-1) 189 .L20: 190 0138 0697 sbiw r24,6 191 013a 04F4 brge .L17 192 013c 8091 0000 lds r24,SenderOkay 193 0140 883C cpi r24,lo8(-56) 194 0142 00F4 brsh .L21 195 0144 8091 0000 lds r24,SenderOkay 196 0148 865F subi r24,lo8(-(10)) 197 014a 00C0 rjmp .L93 198 .L21: 199 014c 88EC ldi r24,lo8(-56) 200 .L93: 201 014e 8093 0000 sts SenderOkay,r24 202 .L17: 203 0152 FD01 movw r30,r26 204 0154 EA0F add r30,r26 205 0156 FB1F adc r31,r27 206 0158 E050 subi r30,lo8(-(PPM_in)) 207 015a F040 sbci r31,hi8(-(PPM_in)) 208 015c 8081 ld r24,Z 209 015e 9181 ldd r25,Z+1 210 0160 9C01 movw r18,r24 211 0162 220F lsl r18 212 0164 331F rol r19 213 0166 280F add r18,r24 214 0168 391F adc r19,r25 215 016a 240F add r18,r20 216 016c 351F adc r19,r21 217 016e 37FF sbrs r19,7 218 0170 00C0 rjmp .L23 219 0172 2D5F subi r18,lo8(-(3)) 220 0174 3F4F sbci r19,hi8(-(3)) 221 .L23: 222 0176 E901 movw r28,r18 223 0178 D595 asr r29 224 017a C795 ror r28 225 017c D595 asr r29 226 017e C795 ror r28 227 0180 CA01 movw r24,r20 228 0182 0196 adiw r24,1 229 0184 8C17 cp r24,r28 230 0186 9D07 cpc r25,r29 231 0188 04F4 brge .L24 232 018a 2197 sbiw r28,1 233 018c 00C0 rjmp .L25 234 .L24: 235 018e 4150 subi r20,lo8(-(-1)) 236 0190 5040 sbci r21,hi8(-(-1)) 237 0192 C417 cp r28,r20 238 0194 D507 cpc r29,r21 239 0196 04F4 brge .L25 240 0198 2196 adiw r28,1 241 .L25: 242 019a 8091 0000 lds r24,SenderOkay 243 019e 833C cpi r24,lo8(-61) 244 01a0 00F0 brlo .L27 245 01a2 8D01 movw r16,r26 246 01a4 0A0F add r16,r26 247 01a6 1B1F adc r17,r27 248 01a8 F801 movw r30,r16 249 01aa E050 subi r30,lo8(-(PPM_in)) 250 01ac F040 sbci r31,hi8(-(PPM_in)) 251 01ae 8081 ld r24,Z 252 01b0 9181 ldd r25,Z+1 253 01b2 9E01 movw r18,r28 254 01b4 281B sub r18,r24 255 01b6 390B sbc r19,r25 256 01b8 C901 movw r24,r18 257 01ba 63E0 ldi r22,lo8(3) 258 01bc 70E0 ldi r23,hi8(3) 259 01be 0E94 0000 call __divmodhi4 260 01c2 CB01 movw r24,r22 261 01c4 880F lsl r24 262 01c6 991F rol r25 263 01c8 860F add r24,r22 264 01ca 971F adc r25,r23 265 01cc 0050 subi r16,lo8(-(PPM_diff)) 266 01ce 1040 sbci r17,hi8(-(PPM_diff)) 267 01d0 D801 movw r26,r16 268 01d2 1196 adiw r26,1 269 01d4 9C93 st X,r25 270 01d6 8E93 st -X,r24 271 01d8 00C0 rjmp .L28 272 .L27: 273 01da AA0F add r26,r26 274 01dc BB1F adc r27,r27 275 01de A050 subi r26,lo8(-(PPM_diff)) 276 01e0 B040 sbci r27,hi8(-(PPM_diff)) 277 01e2 1196 adiw r26,1 278 01e4 1C92 st X,__zero_reg__ 279 01e6 1E92 st -X,__zero_reg__ 280 .L28: 281 01e8 E091 0000 lds r30,index.1 282 01ec F091 0000 lds r31,(index.1)+1 283 01f0 EE0F add r30,r30 284 01f2 FF1F adc r31,r31 285 01f4 E050 subi r30,lo8(-(PPM_in)) 286 01f6 F040 sbci r31,hi8(-(PPM_in)) 287 01f8 D183 std Z+1,r29 288 01fa C083 st Z,r28 289 .L16: 290 01fc 2091 0000 lds r18,index.1 291 0200 3091 0000 lds r19,(index.1)+1 292 0204 2F5F subi r18,lo8(-(1)) 293 0206 3F4F sbci r19,hi8(-(1)) 294 0208 3093 0000 sts (index.1)+1,r19 295 020c 2093 0000 sts index.1,r18 296 0210 8091 0000 lds r24,PlatinenVersion 297 0214 8431 cpi r24,lo8(20) 298 0216 00F0 brlo .+2 299 0218 00C0 rjmp .L10 300 021a 2530 cpi r18,5 301 021c 3105 cpc r19,__zero_reg__ 302 021e 01F4 brne .L30 303 0220 5D9A sbi 43-0x20,5 304 0222 00C0 rjmp .L31 305 .L30: 306 0224 5D98 cbi 43-0x20,5 307 .L31: 308 0226 8091 0000 lds r24,index.1 309 022a 9091 0000 lds r25,(index.1)+1 310 022e 8630 cpi r24,6 311 0230 9105 cpc r25,__zero_reg__ 312 0232 01F4 brne .L32 313 0234 5C9A sbi 43-0x20,4 314 0236 00C0 rjmp .L33 315 .L32: 316 0238 5C98 cbi 43-0x20,4 317 .L33: 318 023a 0797 sbiw r24,7 319 023c 01F4 brne .L34 320 023e 5B9A sbi 43-0x20,3 321 0240 00C0 rjmp .L10 322 .L34: 323 0242 5B98 cbi 43-0x20,3 324 0244 00C0 rjmp .L10 325 .L11: 326 0246 4091 8600 lds r20,134 327 024a 5091 8700 lds r21,(134)+1 328 024e 8091 0000 lds r24,AltICR.2 329 0252 9091 0000 lds r25,(AltICR.2)+1 330 0256 481B sub r20,r24 331 0258 590B sbc r21,r25 332 025a 8091 8600 lds r24,134 333 025e 9091 8700 lds r25,(134)+1 334 0262 9093 0000 sts (AltICR.2)+1,r25 335 0266 8093 0000 sts AltICR.2,r24 336 026a CA01 movw r24,r20 337 026c 8D54 subi r24,lo8(-(-1101)) 338 026e 9440 sbci r25,hi8(-(-1101)) 339 0270 6091 0000 lds r22,index.7 340 0274 835F subi r24,lo8(6899) 341 0276 9A41 sbci r25,hi8(6899) 342 0278 00F0 brlo .+2 343 027a 00C0 rjmp .L37 344 027c 6093 0000 sts tmpChannels,r22 345 0280 8091 0000 lds r24,tmpChannels 346 0284 8430 cpi r24,lo8(4) 347 0286 00F4 brsh .+2 348 0288 00C0 rjmp .L38 349 028a 9091 0000 lds r25,Channels 350 028e 8091 0000 lds r24,tmpChannels 351 0292 9817 cp r25,r24 352 0294 01F0 breq .+2 353 0296 00C0 rjmp .L38 354 0298 5091 0000 lds r21,okay_cnt.8 355 029c 5B30 cpi r21,lo8(11) 356 029e 00F4 brsh .+2 357 02a0 00C0 rjmp .L39 358 02a2 1092 0000 sts NewPpmData,__zero_reg__ 359 02a6 1092 0000 sts index.7,__zero_reg__ 360 02aa 40E0 ldi r20,lo8(0) 361 .L44: 362 02ac 5F31 cpi r21,lo8(31) 363 02ae 00F0 brlo .L43 364 02b0 E42F mov r30,r20 365 02b2 FF27 clr r31 366 02b4 EE0F add r30,r30 367 02b6 FF1F adc r31,r31 368 02b8 9F01 movw r18,r30 369 02ba 2050 subi r18,lo8(-(old_ppm_in.5)) 370 02bc 3040 sbci r19,hi8(-(old_ppm_in.5)) 371 02be DF01 movw r26,r30 372 02c0 A050 subi r26,lo8(-(PPM_in)) 373 02c2 B040 sbci r27,hi8(-(PPM_in)) 374 02c4 8D91 ld r24,X+ 375 02c6 9C91 ld r25,X 376 02c8 D901 movw r26,r18 377 02ca 8D93 st X+,r24 378 02cc 9C93 st X,r25 379 02ce DF01 movw r26,r30 380 02d0 A050 subi r26,lo8(-(PPM_diff)) 381 02d2 B040 sbci r27,hi8(-(PPM_diff)) 382 02d4 8D91 ld r24,X+ 383 02d6 9C91 ld r25,X 384 02d8 E050 subi r30,lo8(-(old_ppm_diff.6)) 385 02da F040 sbci r31,hi8(-(old_ppm_diff.6)) 386 02dc 9183 std Z+1,r25 387 02de 8083 st Z,r24 388 .L43: 389 02e0 E42F mov r30,r20 390 02e2 FF27 clr r31 391 02e4 EE0F add r30,r30 392 02e6 FF1F adc r31,r31 393 02e8 9F01 movw r18,r30 394 02ea 2050 subi r18,lo8(-(PPM_in)) 395 02ec 3040 sbci r19,hi8(-(PPM_in)) 396 02ee DF01 movw r26,r30 397 02f0 A050 subi r26,lo8(-(ppm_in.3)) 398 02f2 B040 sbci r27,hi8(-(ppm_in.3)) 399 02f4 8D91 ld r24,X+ 400 02f6 9C91 ld r25,X 401 02f8 D901 movw r26,r18 402 02fa 1196 adiw r26,1 403 02fc 9C93 st X,r25 404 02fe 8E93 st -X,r24 405 0300 DF01 movw r26,r30 406 0302 A050 subi r26,lo8(-(ppm_diff.4)) 407 0304 B040 sbci r27,hi8(-(ppm_diff.4)) 408 0306 8D91 ld r24,X+ 409 0308 9C91 ld r25,X 410 030a E050 subi r30,lo8(-(PPM_diff)) 411 030c F040 sbci r31,hi8(-(PPM_diff)) 412 030e 9183 std Z+1,r25 413 0310 8083 st Z,r24 414 0312 842F mov r24,r20 415 0314 8F5F subi r24,lo8(-(1)) 416 0316 482F mov r20,r24 417 0318 8D30 cpi r24,lo8(13) 418 031a 00F0 brlo .L44 419 031c 8093 0000 sts index.7,r24 420 .L39: 421 0320 8091 0000 lds r24,okay_cnt.8 422 0324 8F3F cpi r24,lo8(-1) 423 0326 01F0 breq .L46 424 0328 8F5F subi r24,lo8(-(1)) 425 032a 8093 0000 sts okay_cnt.8,r24 426 032e 00C0 rjmp .L46 427 .L38: 428 0330 8091 0000 lds r24,okay_cnt.8 429 0334 8536 cpi r24,lo8(101) 430 0336 00F0 brlo .L47 431 0338 8AE0 ldi r24,lo8(10) 432 033a 8093 0000 sts okay_cnt.8,r24 433 033e 00C0 rjmp .L48 434 .L47: 435 0340 1092 0000 sts okay_cnt.8,__zero_reg__ 436 .L48: 437 0344 8091 0000 lds r24,PlatinenVersion 438 0348 8A30 cpi r24,lo8(10) 439 034a 01F0 breq .L50 440 034c 8431 cpi r24,lo8(20) 441 034e 00F0 brlo .L49 442 .L50: 443 0350 289A sbi 37-0x20,0 444 0352 00C0 rjmp .L46 445 .L49: 446 0354 2898 cbi 37-0x20,0 447 .L46: 448 0356 81E0 ldi r24,lo8(1) 449 0358 8093 0000 sts index.7,r24 450 035c 8091 0000 lds r24,MotorenEin 451 0360 8823 tst r24 452 0362 01F0 breq .+2 453 0364 00C0 rjmp .L10 454 0366 8091 0000 lds r24,tmpChannels 455 036a 8093 0000 sts Channels,r24 456 036e 00C0 rjmp .L10 457 .L37: 458 0370 6D30 cpi r22,lo8(13) 459 0372 00F0 brlo .+2 460 0374 00C0 rjmp .L54 461 0376 CA01 movw r24,r20 462 0378 8B5F subi r24,lo8(-(-251)) 463 037a 9040 sbci r25,hi8(-(-251)) 464 037c 845B subi r24,lo8(436) 465 037e 9140 sbci r25,hi8(436) 466 0380 00F0 brlo .+2 467 0382 00C0 rjmp .L55 468 0384 8091 0000 lds r24,PPM_Neutral 469 0388 9091 0000 lds r25,(PPM_Neutral)+1 470 038c 481B sub r20,r24 471 038e 590B sbc r21,r25 472 0390 E62F mov r30,r22 473 0392 FF27 clr r31 474 0394 EE0F add r30,r30 475 0396 FF1F adc r31,r31 476 0398 E050 subi r30,lo8(-(ppm_in.3)) 477 039a F040 sbci r31,hi8(-(ppm_in.3)) 478 039c 8081 ld r24,Z 479 039e 9181 ldd r25,Z+1 480 03a0 FA01 movw r30,r20 481 03a2 E81B sub r30,r24 482 03a4 F90B sbc r31,r25 483 03a6 CF01 movw r24,r30 484 03a8 0596 adiw r24,5 485 03aa 0B97 sbiw r24,11 486 03ac 00F4 brsh .L56 487 03ae E091 0000 lds r30,EE_Parameter+105 488 03b2 EE23 tst r30 489 03b4 01F0 breq .L58 490 03b6 FF27 clr r31 491 03b8 EE0F add r30,r30 492 03ba FF1F adc r31,r31 493 03bc E050 subi r30,lo8(-(PPM_in)) 494 03be F040 sbci r31,hi8(-(PPM_in)) 495 03c0 8081 ld r24,Z 496 03c2 9181 ldd r25,Z+1 497 03c4 8436 cpi r24,100 498 03c6 9105 cpc r25,__zero_reg__ 499 03c8 04F4 brge .L56 500 .L58: 501 03ca 8091 0000 lds r24,okay_cnt.8 502 03ce 8A31 cpi r24,lo8(26) 503 03d0 00F0 brlo .L59 504 03d2 8091 0000 lds r24,SenderOkay 505 03d6 865F subi r24,lo8(-(10)) 506 03d8 00C0 rjmp .L94 507 .L59: 508 03da 8B30 cpi r24,lo8(11) 509 03dc 00F0 brlo .L60 510 03de 8091 0000 lds r24,SenderOkay 511 03e2 8E5F subi r24,lo8(-(2)) 512 .L94: 513 03e4 8093 0000 sts SenderOkay,r24 514 .L60: 515 03e8 8091 0000 lds r24,SenderOkay 516 03ec 893C cpi r24,lo8(-55) 517 03ee 00F0 brlo .L56 518 03f0 88EC ldi r24,lo8(-56) 519 03f2 8093 0000 sts SenderOkay,r24 520 .L56: 521 03f6 E62F mov r30,r22 522 03f8 FF27 clr r31 523 03fa EE0F add r30,r30 524 03fc FF1F adc r31,r31 525 03fe E050 subi r30,lo8(-(ppm_in.3)) 526 0400 F040 sbci r31,hi8(-(ppm_in.3)) 527 0402 8081 ld r24,Z 528 0404 9181 ldd r25,Z+1 529 0406 9C01 movw r18,r24 530 0408 220F lsl r18 531 040a 331F rol r19 532 040c 280F add r18,r24 533 040e 391F adc r19,r25 534 0410 240F add r18,r20 535 0412 351F adc r19,r21 536 0414 37FF sbrs r19,7 537 0416 00C0 rjmp .L63 538 0418 2D5F subi r18,lo8(-(3)) 539 041a 3F4F sbci r19,hi8(-(3)) 540 .L63: 541 041c E901 movw r28,r18 542 041e D595 asr r29 543 0420 C795 ror r28 544 0422 D595 asr r29 545 0424 C795 ror r28 546 0426 CA01 movw r24,r20 547 0428 0196 adiw r24,1 548 042a 8C17 cp r24,r28 549 042c 9D07 cpc r25,r29 550 042e 04F4 brge .L64 551 0430 2197 sbiw r28,1 552 0432 00C0 rjmp .L65 553 .L64: 554 0434 4150 subi r20,lo8(-(-1)) 555 0436 5040 sbci r21,hi8(-(-1)) 556 0438 C417 cp r28,r20 557 043a D507 cpc r29,r21 558 043c 04F4 brge .L65 559 043e 2196 adiw r28,1 560 .L65: 561 0440 8091 0000 lds r24,SenderOkay 562 0444 8E3B cpi r24,lo8(-66) 563 0446 00F0 brlo .L67 564 0448 E62F mov r30,r22 565 044a FF27 clr r31 566 044c EE0F add r30,r30 567 044e FF1F adc r31,r31 568 0450 DF01 movw r26,r30 569 0452 A050 subi r26,lo8(-(ppm_in.3)) 570 0454 B040 sbci r27,hi8(-(ppm_in.3)) 571 0456 8D91 ld r24,X+ 572 0458 9C91 ld r25,X 573 045a 9E01 movw r18,r28 574 045c 281B sub r18,r24 575 045e 390B sbc r19,r25 576 0460 C901 movw r24,r18 577 0462 63E0 ldi r22,lo8(3) 578 0464 70E0 ldi r23,hi8(3) 579 0466 0E94 0000 call __divmodhi4 580 046a CB01 movw r24,r22 581 046c 880F lsl r24 582 046e 991F rol r25 583 0470 860F add r24,r22 584 0472 971F adc r25,r23 585 0474 E050 subi r30,lo8(-(ppm_diff.4)) 586 0476 F040 sbci r31,hi8(-(ppm_diff.4)) 587 0478 9183 std Z+1,r25 588 047a 8083 st Z,r24 589 047c 00C0 rjmp .L68 590 .L67: 591 047e E62F mov r30,r22 592 0480 FF27 clr r31 593 0482 EE0F add r30,r30 594 0484 FF1F adc r31,r31 595 0486 E050 subi r30,lo8(-(ppm_diff.4)) 596 0488 F040 sbci r31,hi8(-(ppm_diff.4)) 597 048a 1182 std Z+1,__zero_reg__ 598 048c 1082 st Z,__zero_reg__ 599 .L68: 600 048e 8091 0000 lds r24,index.7 601 0492 E82F mov r30,r24 602 0494 FF27 clr r31 603 0496 EE0F add r30,r30 604 0498 FF1F adc r31,r31 605 049a E050 subi r30,lo8(-(ppm_in.3)) 606 049c F040 sbci r31,hi8(-(ppm_in.3)) 607 049e D183 std Z+1,r29 608 04a0 C083 st Z,r28 609 04a2 00C0 rjmp .L69 610 .L55: 611 04a4 8091 0000 lds r24,PlatinenVersion 612 04a8 8A30 cpi r24,lo8(10) 613 04aa 01F0 breq .L71 614 04ac 8431 cpi r24,lo8(20) 615 04ae 00F0 brlo .L70 616 .L71: 617 04b0 289A sbi 37-0x20,0 618 04b2 00C0 rjmp .L69 619 .L70: 620 04b4 2898 cbi 37-0x20,0 621 .L69: 622 04b6 8091 0000 lds r24,PlatinenVersion 623 04ba 8431 cpi r24,lo8(20) 624 04bc 00F4 brsh .L54 625 04be 8091 0000 lds r24,index.7 626 04c2 8530 cpi r24,lo8(5) 627 04c4 01F4 brne .L74 628 04c6 5D9A sbi 43-0x20,5 629 04c8 00C0 rjmp .L76 630 .L74: 631 04ca 5D98 cbi 43-0x20,5 632 04cc 8630 cpi r24,lo8(6) 633 04ce 01F4 brne .L76 634 04d0 5C9A sbi 43-0x20,4 635 04d2 00C0 rjmp .L78 636 .L76: 637 04d4 5C98 cbi 43-0x20,4 638 04d6 8730 cpi r24,lo8(7) 639 04d8 01F4 brne .L78 640 04da 5B9A sbi 43-0x20,3 641 04dc 00C0 rjmp .L54 642 .L78: 643 04de 5B98 cbi 43-0x20,3 644 .L54: 645 04e0 8091 0000 lds r24,index.7 646 04e4 8431 cpi r24,lo8(20) 647 04e6 00F4 brsh .L80 648 04e8 8F5F subi r24,lo8(-(1)) 649 04ea 8093 0000 sts index.7,r24 650 04ee 00C0 rjmp .L10 651 .L80: 652 04f0 8431 cpi r24,lo8(20) 653 04f2 01F4 brne .L10 654 04f4 8091 0000 lds r24,PlatinenVersion 655 04f8 8A30 cpi r24,lo8(10) 656 04fa 01F0 breq .L84 657 04fc 8431 cpi r24,lo8(20) 658 04fe 00F0 brlo .L83 659 .L84: 660 0500 289A sbi 37-0x20,0 661 0502 00C0 rjmp .L85 662 .L83: 663 0504 2898 cbi 37-0x20,0 664 .L85: 665 0506 8EE1 ldi r24,lo8(30) 666 0508 8093 0000 sts index.7,r24 667 050c 2CE0 ldi r18,lo8(12) 668 050e C0E0 ldi r28,lo8(PPM_diff) 669 0510 D0E0 ldi r29,hi8(PPM_diff) 670 0512 A0E0 ldi r26,lo8(old_ppm_in.5) 671 0514 B0E0 ldi r27,hi8(old_ppm_in.5) 672 0516 E0E0 ldi r30,lo8(PPM_in) 673 0518 F0E0 ldi r31,hi8(PPM_in) 674 .L89: 675 051a 8D91 ld r24,X+ 676 051c 9D91 ld r25,X+ 677 051e 9183 std Z+1,r25 678 0520 8083 st Z,r24 679 0522 3296 adiw r30,2 680 0524 1982 std Y+1,__zero_reg__ 681 0526 1882 st Y,__zero_reg__ 682 0528 2296 adiw r28,2 683 052a 2150 subi r18,lo8(-(-1)) 684 052c 27FF sbrs r18,7 685 052e 00C0 rjmp .L89 686 .L10: 687 /* epilogue: frame size=0 */ 688 0530 FF91 pop r31 689 0532 EF91 pop r30 690 0534 DF91 pop r29 691 0536 CF91 pop r28 692 0538 BF91 pop r27 693 053a AF91 pop r26 694 053c 9F91 pop r25 695 053e 8F91 pop r24 696 0540 7F91 pop r23 697 0542 6F91 pop r22 698 0544 5F91 pop r21 699 0546 4F91 pop r20 700 0548 3F91 pop r19 701 054a 2F91 pop r18 702 054c 1F91 pop r17 703 054e 0F91 pop r16 704 0550 0F90 pop __tmp_reg__ 705 0552 0FBE out __SREG__,__tmp_reg__ 706 0554 0F90 pop __tmp_reg__ 707 0556 1F90 pop __zero_reg__ 708 0558 1895 reti 709 /* epilogue end (size=21) */ 710 /* function __vector_12 size 651 (609) */ 712 .comm PPM_in,52,1 713 .comm PPM_diff,52,1 714 .comm Channels,1,1 715 /* File "rc.c": code 692 = 0x02b4 ( 645), prologues 23, epilogues 24 */ DEFINED SYMBOLS *ABS*:00000000 rc.c C:\Temp/ccT6Peqm.s:3 *ABS*:0000003f __SREG__ C:\Temp/ccT6Peqm.s:4 *ABS*:0000003e __SP_H__ C:\Temp/ccT6Peqm.s:5 *ABS*:0000003d __SP_L__ C:\Temp/ccT6Peqm.s:6 *ABS*:00000000 __tmp_reg__ C:\Temp/ccT6Peqm.s:7 *ABS*:00000001 __zero_reg__ C:\Temp/ccT6Peqm.s:14 .data:00000000 PPM_Neutral C:\Temp/ccT6Peqm.s:19 .data:00000002 NewPpmData C:\Temp/ccT6Peqm.s:26 .bss:00000000 tmpChannels C:\Temp/ccT6Peqm.s:31 .text:00000000 rc_sum_init *COM*:00000034 PPM_diff *COM*:00000034 PPM_in .bss:00000001 AltICR.0 C:\Temp/ccT6Peqm.s:76 .bss:00000003 index.1 C:\Temp/ccT6Peqm.s:77 .bss:00000005 AltICR.2 C:\Temp/ccT6Peqm.s:78 .bss:00000007 ppm_in.3 C:\Temp/ccT6Peqm.s:79 .bss:00000021 ppm_diff.4 C:\Temp/ccT6Peqm.s:80 .bss:0000003b old_ppm_in.5 C:\Temp/ccT6Peqm.s:81 .bss:00000055 old_ppm_diff.6 C:\Temp/ccT6Peqm.s:82 .bss:0000006f index.7 C:\Temp/ccT6Peqm.s:83 .bss:00000070 okay_cnt.8 C:\Temp/ccT6Peqm.s:87 .text:00000052 __vector_12 *COM*:00000001 Channels UNDEFINED SYMBOLS __do_copy_data __do_clear_bss AdNeutralGier AdNeutralRoll AdNeutralNick EE_Parameter SenderOkay __divmodhi4 PlatinenVersion MotorenEin