Subversion Repositories FlightCtrl

Rev

Blame | Last modification | View Log | RSS feed

   1                            .file   "timer0.c"
   2                            .arch atmega644
   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 ServoRollValue
  11                    .global ServoRollValue
  12                            .section .bss
  15                    ServoRollValue:
  16 0000 0000                  .skip 2,0
  17                    .global ServoNickValue
  18                    .global ServoNickValue
  21                    ServoNickValue:
  22 0002 0000                  .skip 2,0
  23                    .global BeepMuster
  24                            .data
  27                    BeepMuster:
  28 0000 FFFF                  .word   -1
  29                    .global ServoActive
  30                    .global ServoActive
  31                            .section .bss
  34                    ServoActive:
  35 0004 00                    .skip 1,0
  36                    .global SendSPI
  37                    .global SendSPI
  40                    SendSPI:
  41 0005 00                    .skip 1,0
  42                    .global beeptime
  43                    .global beeptime
  46                    beeptime:
  47 0006 0000                  .skip 2,0
  48                    .global cntKompass
  49                    .global cntKompass
  52                    cntKompass:
  53 0008 0000                  .skip 2,0
  54                    .global UpdateMotor
  55                    .global UpdateMotor
  58                    UpdateMotor:
  59 000a 00                    .skip 1,0
  60                    .global CountMilliseconds
  61                    .global CountMilliseconds
  64                    CountMilliseconds:
  65 000b 0000                  .skip 2,0
  66                            .text
  67                    .global SetDelay
  69                    SetDelay:
  70                    /* prologue: frame size=0 */
  71                    /* prologue end (size=0) */
  72 0000 2091 0000             lds r18,CountMilliseconds
  73 0004 3091 0000             lds r19,(CountMilliseconds)+1
  74 0008 280F                  add r18,r24
  75 000a 391F                  adc r19,r25
  76 000c C901                  movw r24,r18
  77 000e 0196                  adiw r24,1
  78                    /* epilogue: frame size=0 */
  79 0010 0895                  ret
  80                    /* epilogue end (size=1) */
  81                    /* function SetDelay size 9 (8) */
  83                    .global Timer_Init
  85                    Timer_Init:
  86                    /* prologue: frame size=0 */
  87                    /* prologue end (size=0) */
  88 0012 8AE0                  ldi r24,lo8(10)
  89 0014 90E0                  ldi r25,hi8(10)
  90 0016 0E94 0000             call SetDelay
  91 001a 9093 0000             sts (tim_main)+1,r25
  92 001e 8093 0000             sts tim_main,r24
  93 0022 82E0                  ldi r24,lo8(2)
  94 0024 85BD                  out 69-0x20,r24
  95 0026 83EA                  ldi r24,lo8(-93)
  96 0028 84BD                  out 68-0x20,r24
  97 002a 17BC                  out 71-0x20,__zero_reg__
  98 002c 88E7                  ldi r24,lo8(120)
  99 002e 88BD                  out 72-0x20,r24
 100 0030 86E0                  ldi r24,lo8(6)
 101 0032 86BD                  out 70-0x20,r24
 102 0034 8091 6E00             lds r24,110
 103 0038 8160                  ori r24,lo8(1)
 104 003a 8093 6E00             sts 110,r24
 105                    /* epilogue: frame size=0 */
 106 003e 0895                  ret
 107                    /* epilogue end (size=1) */
 108                    /* function Timer_Init size 23 (22) */
 110                    .global CheckDelay
 112                    CheckDelay:
 113                    /* prologue: frame size=0 */
 114                    /* prologue end (size=0) */
 115 0040 2091 0000             lds r18,CountMilliseconds
 116 0044 3091 0000             lds r19,(CountMilliseconds)+1
 117 0048 821B                  sub r24,r18
 118 004a 930B                  sbc r25,r19
 119 004c 892F                  mov r24,r25
 120 004e 9927                  clr r25
 121 0050 8695                  lsr r24
 122 0052 8074                  andi r24,lo8(64)
 123 0054 9070                  andi r25,hi8(64)
 124                    /* epilogue: frame size=0 */
 125 0056 0895                  ret
 126                    /* epilogue end (size=1) */
 127                    /* function CheckDelay size 12 (11) */
 129                    .global Delay_ms
 131                    Delay_ms:
 132                    /* prologue: frame size=0 */
 133 0058 CF93                  push r28
 134 005a DF93                  push r29
 135                    /* prologue end (size=2) */
 136 005c 0E94 0000             call SetDelay
 137 0060 EC01                  movw r28,r24
 138                    .L5:
 139 0062 CE01                  movw r24,r28
 140 0064 0E94 0000             call CheckDelay
 141 0068 8823                  tst r24
 142 006a 01F0                  breq .L5
 143                    /* epilogue: frame size=0 */
 144 006c DF91                  pop r29
 145 006e CF91                  pop r28
 146 0070 0895                  ret
 147                    /* epilogue end (size=3) */
 148                    /* function Delay_ms size 13 (8) */
 150                    .global Delay_ms_Mess
 152                    Delay_ms_Mess:
 153                    /* prologue: frame size=0 */
 154 0072 1F93                  push r17
 155 0074 CF93                  push r28
 156 0076 DF93                  push r29
 157                    /* prologue end (size=3) */
 158 0078 0E94 0000             call SetDelay
 159 007c EC01                  movw r28,r24
 160 007e 1FEC                  ldi r17,lo8(-49)
 161 0080 00C0                  rjmp .L17
 162                    .L13:
 163 0082 8091 0000             lds r24,AdReady
 164 0086 8823                  tst r24
 165 0088 01F0                  breq .L17
 166 008a 9093 0000             sts AdReady,r25
 167 008e 1093 7A00             sts 122,r17
 168                    .L17:
 169 0092 CE01                  movw r24,r28
 170 0094 0E94 0000             call CheckDelay
 171 0098 982F                  mov r25,r24
 172 009a 8823                  tst r24
 173 009c 01F0                  breq .L13
 174                    /* epilogue: frame size=0 */
 175 009e DF91                  pop r29
 176 00a0 CF91                  pop r28
 177 00a2 1F91                  pop r17
 178 00a4 0895                  ret
 179                    /* epilogue end (size=4) */
 180                    /* function Delay_ms_Mess size 26 (19) */
 182                            .data
 185                    cnt_1ms.4:
 186 0002 01                    .byte   1
 187                            .lcomm cnt.5,1
 188                            .text
 189                    .global __vector_18
 191                    __vector_18:
 192                    /* prologue: frame size=0 */
 193 00a6 1F92                  push __zero_reg__
 194 00a8 0F92                  push __tmp_reg__
 195 00aa 0FB6                  in __tmp_reg__,__SREG__
 196 00ac 0F92                  push __tmp_reg__
 197 00ae 1124                  clr __zero_reg__
 198 00b0 2F93                  push r18
 199 00b2 3F93                  push r19
 200 00b4 5F93                  push r21
 201 00b6 6F93                  push r22
 202 00b8 7F93                  push r23
 203 00ba 8F93                  push r24
 204 00bc 9F93                  push r25
 205 00be AF93                  push r26
 206 00c0 BF93                  push r27
 207 00c2 EF93                  push r30
 208 00c4 FF93                  push r31
 209                    /* prologue end (size=16) */
 210 00c6 8091 0000             lds r24,SendSPI
 211 00ca 8823                  tst r24
 212 00cc 01F0                  breq .L19
 213 00ce 8091 0000             lds r24,SendSPI
 214 00d2 8150                  subi r24,lo8(-(-1))
 215 00d4 8093 0000             sts SendSPI,r24
 216                    .L19:
 217 00d8 8091 0000             lds r24,cnt.5
 218 00dc 8150                  subi r24,lo8(-(-1))
 219 00de 8F3F                  cpi r24,lo8(-1)
 220 00e0 01F0                  breq .L36
 221 00e2 8093 0000             sts cnt.5,r24
 222                    .L20:
 223 00e6 8091 0000             lds r24,beeptime
 224 00ea 9091 0000             lds r25,(beeptime)+1
 225 00ee 892B                  or r24,r25
 226 00f0 01F0                  breq .L22
 227 00f2 8091 0000             lds r24,beeptime
 228 00f6 9091 0000             lds r25,(beeptime)+1
 229 00fa 0197                  sbiw r24,1
 230 00fc 9093 0000             sts (beeptime)+1,r25
 231 0100 8093 0000             sts beeptime,r24
 232 0104 8091 0000             lds r24,beeptime
 233 0108 9091 0000             lds r25,(beeptime)+1
 234 010c 2091 0000             lds r18,BeepMuster
 235 0110 3091 0000             lds r19,(BeepMuster)+1
 236 0114 8223                  and r24,r18
 237 0116 9323                  and r25,r19
 238 0118 892B                  or r24,r25
 239 011a 01F4                  brne .L37
 240                    .L26:
 241 011c 4798                  cbi 40-0x20,7
 242                    .L27:
 243 011e 8091 0000             lds r24,EE_Parameter+8
 244 0122 83FF                  sbrs r24,3
 245 0124 00C0                  rjmp .L18
 246 0126 86B1                  in r24,38-0x20
 247 0128 9927                  clr r25
 248 012a FC01                  movw r30,r24
 249 012c E071                  andi r30,lo8(16)
 250 012e F070                  andi r31,hi8(16)
 251 0130 84FF                  sbrs r24,4
 252 0132 00C0                  rjmp .L29
 253 0134 8091 0000             lds r24,cntKompass
 254 0138 9091 0000             lds r25,(cntKompass)+1
 255 013c 0196                  adiw r24,1
 256 013e 9093 0000             sts (cntKompass)+1,r25
 257 0142 8093 0000             sts cntKompass,r24
 258 0146 00C0                  rjmp .L18
 259                    .L22:
 260 0148 8FEF                  ldi r24,lo8(-1)
 261 014a 9FEF                  ldi r25,hi8(-1)
 262 014c 9093 0000             sts (BeepMuster)+1,r25
 263 0150 8093 0000             sts BeepMuster,r24
 264 0154 00C0                  rjmp .L26
 265                    .L37:
 266 0156 479A                  sbi 40-0x20,7
 267 0158 00C0                  rjmp .L27
 268                    .L36:
 269 015a 89E0                  ldi r24,lo8(9)
 270 015c 8093 0000             sts cnt.5,r24
 271 0160 8091 0000             lds r24,cnt_1ms.4
 272 0164 8F5F                  subi r24,lo8(-(1))
 273 0166 8170                  andi r24,lo8(1)
 274 0168 8093 0000             sts cnt_1ms.4,r24
 275 016c 8823                  tst r24
 276 016e 01F4                  brne .L21
 277 0170 81E0                  ldi r24,lo8(1)
 278 0172 8093 0000             sts UpdateMotor,r24
 279                    .L21:
 280 0176 8091 0000             lds r24,CountMilliseconds
 281 017a 9091 0000             lds r25,(CountMilliseconds)+1
 282 017e 0196                  adiw r24,1
 283 0180 9093 0000             sts (CountMilliseconds)+1,r25
 284 0184 8093 0000             sts CountMilliseconds,r24
 285 0188 00C0                  rjmp .L20
 286                    .L29:
 287 018a 8091 0000             lds r24,cntKompass
 288 018e 9091 0000             lds r25,(cntKompass)+1
 289 0192 892B                  or r24,r25
 290 0194 01F0                  breq .L31
 291 0196 8091 0000             lds r24,cntKompass
 292 019a 9091 0000             lds r25,(cntKompass)+1
 293 019e 8A56                  subi r24,lo8(362)
 294 01a0 9140                  sbci r25,hi8(362)
 295 01a2 00F4                  brsh .L31
 296 01a4 8091 0000             lds r24,cntKompass
 297 01a8 9091 0000             lds r25,(cntKompass)+1
 298 01ac 69E2                  ldi r22,lo8(41)
 299 01ae 70E0                  ldi r23,hi8(41)
 300 01b0 0E94 0000             call __udivmodhi4
 301 01b4 8091 0000             lds r24,cntKompass
 302 01b8 9091 0000             lds r25,(cntKompass)+1
 303 01bc 860F                  add r24,r22
 304 01be 971F                  adc r25,r23
 305 01c0 9093 0000             sts (cntKompass)+1,r25
 306 01c4 8093 0000             sts cntKompass,r24
 307 01c8 8091 0000             lds r24,cntKompass
 308 01cc 9091 0000             lds r25,(cntKompass)+1
 309 01d0 0B97                  sbiw r24,11
 310 01d2 00F0                  brlo .L32
 311 01d4 8091 0000             lds r24,cntKompass
 312 01d8 9091 0000             lds r25,(cntKompass)+1
 313 01dc 0A97                  sbiw r24,10
 314 01de 9093 0000             sts (KompassValue)+1,r25
 315 01e2 8093 0000             sts KompassValue,r24
 316                    .L31:
 317 01e6 8091 0000             lds r24,KompassValue
 318 01ea 9091 0000             lds r25,(KompassValue)+1
 319 01ee 2091 0000             lds r18,KompassStartwert
 320 01f2 3091 0000             lds r19,(KompassStartwert)+1
 321 01f6 821B                  sub r24,r18
 322 01f8 930B                  sbc r25,r19
 323 01fa 845E                  subi r24,lo8(-(540))
 324 01fc 9D4F                  sbci r25,hi8(-(540))
 325 01fe 68E6                  ldi r22,lo8(360)
 326 0200 71E0                  ldi r23,hi8(360)
 327 0202 0E94 0000             call __divmodhi4
 328 0206 845B                  subi r24,lo8(-(-180))
 329 0208 9040                  sbci r25,hi8(-(-180))
 330 020a 9093 0000             sts (KompassRichtung)+1,r25
 331 020e 8093 0000             sts KompassRichtung,r24
 332 0212 1092 0000             sts (cntKompass)+1,__zero_reg__
 333 0216 1092 0000             sts cntKompass,__zero_reg__
 334 021a 00C0                  rjmp .L18
 335                    .L32:
 336 021c F093 0000             sts (KompassValue)+1,r31
 337 0220 E093 0000             sts KompassValue,r30
 338 0224 00C0                  rjmp .L31
 339                    .L18:
 340                    /* epilogue: frame size=0 */
 341 0226 FF91                  pop r31
 342 0228 EF91                  pop r30
 343 022a BF91                  pop r27
 344 022c AF91                  pop r26
 345 022e 9F91                  pop r25
 346 0230 8F91                  pop r24
 347 0232 7F91                  pop r23
 348 0234 6F91                  pop r22
 349 0236 5F91                  pop r21
 350 0238 3F91                  pop r19
 351 023a 2F91                  pop r18
 352 023c 0F90                  pop __tmp_reg__
 353 023e 0FBE                  out __SREG__,__tmp_reg__
 354 0240 0F90                  pop __tmp_reg__
 355 0242 1F90                  pop __zero_reg__
 356 0244 1895                  reti
 357                    /* epilogue end (size=16) */
 358                    /* function __vector_18 size 210 (178) */
 360                    .global TIMER2_Init
 362                    TIMER2_Init:
 363                    /* prologue: frame size=0 */
 364                    /* prologue end (size=0) */
 365 0246 9FB7                  in r25,95-0x20
 366                    /* #APP */
 367 0248 F894                  cli
 368                    /* #NOAPP */
 369 024a 5F98                  cbi 43-0x20,7
 370 024c 3E9A                  sbi 39-0x20,6
 371 024e 469A                  sbi 40-0x20,6
 372 0250 8091 B000             lds r24,176
 373 0254 8F70                  andi r24,lo8(15)
 374 0256 8093 B000             sts 176,r24
 375 025a 8091 B000             lds r24,176
 376 025e 8360                  ori r24,lo8(3)
 377 0260 8093 B000             sts 176,r24
 378 0264 8091 B100             lds r24,177
 379 0268 8B73                  andi r24,lo8(59)
 380 026a 8093 B100             sts 177,r24
 381 026e 8091 B100             lds r24,177
 382 0272 8B60                  ori r24,lo8(11)
 383 0274 8093 B100             sts 177,r24
 384 0278 1092 B200             sts 178,__zero_reg__
 385 027c 8FEF                  ldi r24,lo8(-1)
 386 027e 8093 B300             sts 179,r24
 387 0282 8091 B000             lds r24,176
 388 0286 8068                  ori r24,lo8(-128)
 389 0288 8093 B000             sts 176,r24
 390 028c 8091 7000             lds r24,112
 391 0290 8A7F                  andi r24,lo8(-6)
 392 0292 8093 7000             sts 112,r24
 393 0296 8091 7000             lds r24,112
 394 029a 8260                  ori r24,lo8(2)
 395 029c 8093 7000             sts 112,r24
 396 02a0 9FBF                  out 95-0x20,r25
 397                    /* epilogue: frame size=0 */
 398 02a2 0895                  ret
 399                    /* epilogue end (size=1) */
 400                    /* function TIMER2_Init size 48 (47) */
 402                            .lcomm PulseOutput.0,1
 403                            .lcomm RemainingPulse.1,2
 404                            .lcomm ServoFrameTime.2,2
 405                            .data
 408                    ServoNickOffset.3:
 409 0003 FC01                  .word   508
 410                            .text
 411                    .global __vector_9
 413                    __vector_9:
 414                    /* prologue: frame size=0 */
 415 02a4 1F92                  push __zero_reg__
 416 02a6 0F92                  push __tmp_reg__
 417 02a8 0FB6                  in __tmp_reg__,__SREG__
 418 02aa 0F92                  push __tmp_reg__
 419 02ac 1124                  clr __zero_reg__
 420 02ae 2F93                  push r18
 421 02b0 3F93                  push r19
 422 02b2 4F93                  push r20
 423 02b4 5F93                  push r21
 424 02b6 6F93                  push r22
 425 02b8 7F93                  push r23
 426 02ba 8F93                  push r24
 427 02bc 9F93                  push r25
 428 02be AF93                  push r26
 429 02c0 BF93                  push r27
 430 02c2 EF93                  push r30
 431 02c4 FF93                  push r31
 432                    /* prologue end (size=17) */
 433 02c6 8091 0000             lds r24,PulseOutput.0
 434 02ca 8823                  tst r24
 435 02cc 01F4                  brne .L63
 436 02ce 8091 B000             lds r24,176
 437 02d2 86FD                  sbrc r24,6
 438 02d4 00C0                  rjmp .L69
 439 02d6 8091 B000             lds r24,176
 440 02da 8064                  ori r24,lo8(64)
 441 02dc 8093 B000             sts 176,r24
 442 02e0 8091 0000             lds r24,EE_Parameter+47
 443 02e4 282F                  mov r18,r24
 444 02e6 3327                  clr r19
 445 02e8 8DED                  ldi r24,lo8(1757)
 446 02ea 96E0                  ldi r25,hi8(1757)
 447 02ec 289F                  mul r18,r24
 448 02ee A001                  movw r20,r0
 449 02f0 299F                  mul r18,r25
 450 02f2 500D                  add r21,r0
 451 02f4 389F                  mul r19,r24
 452 02f6 500D                  add r21,r0
 453 02f8 1124                  clr r1
 454 02fa CA01                  movw r24,r20
 455 02fc 2091 0000             lds r18,ServoFrameTime.2
 456 0300 3091 0000             lds r19,(ServoFrameTime.2)+1
 457 0304 821B                  sub r24,r18
 458 0306 930B                  sbc r25,r19
 459 0308 9093 0000             sts (RemainingPulse.1)+1,r25
 460 030c 8093 0000             sts RemainingPulse.1,r24
 461 0310 9C01                  movw r18,r24
 462                    .L56:
 463 0312 81E0                  ldi r24,lo8(1)
 464 0314 8093 0000             sts PulseOutput.0,r24
 465 0318 51E0                  ldi r21,hi8(383)
 466 031a 2F37                  cpi r18,lo8(383)
 467 031c 3507                  cpc r19,r21
 468 031e 00F4                  brsh .L70
 469                    .L57:
 470 0320 2F3F                  cpi r18,255
 471 0322 3105                  cpc r19,__zero_reg__
 472 0324 01F0                  breq .L59
 473 0326 00F0                  brlo .L59
 474 0328 A901                  movw r20,r18
 475 032a 4F5F                  subi r20,lo8(-(-255))
 476 032c 5040                  sbci r21,hi8(-(-255))
 477 032e 4F37                  cpi r20,127
 478 0330 5105                  cpc r21,__zero_reg__
 479 0332 00F0                  brlo .+2
 480 0334 00C0                  rjmp .L60
 481 0336 80E8                  ldi r24,lo8(-128)
 482 0338 8093 B300             sts 179,r24
 483 033c 2058                  subi r18,lo8(-(-128))
 484 033e 3040                  sbci r19,hi8(-(-128))
 485 0340 00C0                  rjmp .L68
 486                    .L63:
 487 0342 2091 0000             lds r18,RemainingPulse.1
 488 0346 3091 0000             lds r19,(RemainingPulse.1)+1
 489 034a 51E0                  ldi r21,hi8(383)
 490 034c 2F37                  cpi r18,lo8(383)
 491 034e 3507                  cpc r19,r21
 492 0350 00F0                  brlo .L57
 493                    .L70:
 494 0352 8FEF                  ldi r24,lo8(-1)
 495 0354 8093 B300             sts 179,r24
 496 0358 2F5F                  subi r18,lo8(-(-255))
 497 035a 3040                  sbci r19,hi8(-(-255))
 498                    .L68:
 499 035c 3093 0000             sts (RemainingPulse.1)+1,r19
 500 0360 2093 0000             sts RemainingPulse.1,r18
 501 0364 00C0                  rjmp .L39
 502                    .L59:
 503 0366 8091 0000             lds r24,RemainingPulse.1
 504 036a 8093 B300             sts 179,r24
 505 036e 1092 0000             sts (RemainingPulse.1)+1,__zero_reg__
 506 0372 1092 0000             sts RemainingPulse.1,__zero_reg__
 507 0376 1092 0000             sts PulseOutput.0,__zero_reg__
 508 037a 00C0                  rjmp .L39
 509                    .L69:
 510 037c 8091 B000             lds r24,176
 511 0380 8F7B                  andi r24,lo8(-65)
 512 0382 8093 B000             sts 176,r24
 513 0386 89EA                  ldi r24,lo8(937)
 514 0388 93E0                  ldi r25,hi8(937)
 515 038a 9093 0000             sts (RemainingPulse.1)+1,r25
 516 038e 8093 0000             sts RemainingPulse.1,r24
 517 0392 8091 0000             lds r24,ServoNickOffset.3
 518 0396 9091 0000             lds r25,(ServoNickOffset.3)+1
 519 039a 9C01                  movw r18,r24
 520 039c 220F                  lsl r18
 521 039e 331F                  rol r19
 522 03a0 280F                  add r18,r24
 523 03a2 391F                  adc r19,r25
 524 03a4 8091 0000             lds r24,Parameter_ServoNickControl
 525 03a8 9927                  clr r25
 526 03aa 880F                  lsl r24
 527 03ac 991F                  rol r25
 528 03ae 880F                  lsl r24
 529 03b0 991F                  rol r25
 530 03b2 280F                  add r18,r24
 531 03b4 391F                  adc r19,r25
 532 03b6 37FD                  sbrc r19,7
 533 03b8 00C0                  rjmp .L71
 534                    .L42:
 535 03ba C901                  movw r24,r18
 536 03bc 9595                  asr r25
 537 03be 8795                  ror r24
 538 03c0 9595                  asr r25
 539 03c2 8795                  ror r24
 540 03c4 9093 0000             sts (ServoNickOffset.3)+1,r25
 541 03c8 8093 0000             sts ServoNickOffset.3,r24
 542 03cc 9093 0000             sts (ServoNickValue)+1,r25
 543 03d0 8093 0000             sts ServoNickValue,r24
 544 03d4 8091 0000             lds r24,EE_Parameter+87
 545 03d8 80FF                  sbrs r24,0
 546 03da 00C0                  rjmp .L43
 547 03dc 8091 0000             lds r24,EE_Parameter+40
 548 03e0 682F                  mov r22,r24
 549 03e2 7727                  clr r23
 550 03e4 8827                  clr r24
 551 03e6 9927                  clr r25
 552 03e8 2091 0000             lds r18,IntegralNick
 553 03ec 3091 0000             lds r19,(IntegralNick)+1
 554 03f0 4091 0000             lds r20,(IntegralNick)+2
 555 03f4 5091 0000             lds r21,(IntegralNick)+3
 556 03f8 57FD                  sbrc r21,7
 557 03fa 00C0                  rjmp .L72
 558                    .L44:
 559 03fc A7E0                  ldi r26,7
 560 03fe 5595          1:      asr r21
 561 0400 4795                  ror r20
 562 0402 3795                  ror r19
 563 0404 2795                  ror r18
 564 0406 AA95                  dec r26
 565 0408 01F4                  brne 1b
 566 040a 0E94 0000             call __mulsi3
 567 040e 9B01                  movw r18,r22
 568 0410 AC01                  movw r20,r24
 569 0412 97FD                  sbrc r25,7
 570 0414 00C0                  rjmp .L73
 571                    .L45:
 572 0416 F6E0                  ldi r31,6
 573 0418 5595          1:      asr r21
 574 041a 4795                  ror r20
 575 041c 3795                  ror r19
 576 041e 2795                  ror r18
 577 0420 FA95                  dec r31
 578 0422 01F4                  brne 1b
 579 0424 8091 0000             lds r24,ServoNickValue
 580 0428 9091 0000             lds r25,(ServoNickValue)+1
 581 042c 820F                  add r24,r18
 582 042e 931F                  adc r25,r19
 583                    .L65:
 584 0430 9093 0000             sts (ServoNickValue)+1,r25
 585 0434 8093 0000             sts ServoNickValue,r24
 586 0438 8091 0000             lds r24,EE_Parameter+41
 587 043c 282F                  mov r18,r24
 588 043e 3327                  clr r19
 589 0440 220F                  lsl r18
 590 0442 331F                  rol r19
 591 0444 220F                  lsl r18
 592 0446 331F                  rol r19
 593 0448 8091 0000             lds r24,ServoNickValue
 594 044c 9091 0000             lds r25,(ServoNickValue)+1
 595 0450 8217                  cp r24,r18
 596 0452 9307                  cpc r25,r19
 597 0454 04F0                  brlt .L66
 598 0456 8091 0000             lds r24,EE_Parameter+42
 599 045a 282F                  mov r18,r24
 600 045c 3327                  clr r19
 601 045e 220F                  lsl r18
 602 0460 331F                  rol r19
 603 0462 220F                  lsl r18
 604 0464 331F                  rol r19
 605 0466 8091 0000             lds r24,ServoNickValue
 606 046a 9091 0000             lds r25,(ServoNickValue)+1
 607 046e 2817                  cp r18,r24
 608 0470 3907                  cpc r19,r25
 609 0472 04F4                  brge .L50
 610                    .L66:
 611 0474 3093 0000             sts (ServoNickValue)+1,r19
 612 0478 2093 0000             sts ServoNickValue,r18
 613                    .L50:
 614 047c 2091 0000             lds r18,ServoNickValue
 615 0480 3091 0000             lds r19,(ServoNickValue)+1
 616 0484 8091 0000             lds r24,RemainingPulse.1
 617 0488 9091 0000             lds r25,(RemainingPulse.1)+1
 618 048c 280F                  add r18,r24
 619 048e 391F                  adc r19,r25
 620 0490 2050                  subi r18,lo8(-(-512))
 621 0492 3240                  sbci r19,hi8(-(-512))
 622 0494 8091 0000             lds r24,ServoNickValue
 623 0498 9091 0000             lds r25,(ServoNickValue)+1
 624 049c 97FD                  sbrc r25,7
 625 049e 00C0                  rjmp .L74
 626                    .L52:
 627 04a0 9595                  asr r25
 628 04a2 8795                  ror r24
 629 04a4 9595                  asr r25
 630 04a6 8795                  ror r24
 631 04a8 9093 0000             sts (ServoNickValue)+1,r25
 632 04ac 8093 0000             sts ServoNickValue,r24
 633 04b0 45E0                  ldi r20,hi8(1501)
 634 04b2 2D3D                  cpi r18,lo8(1501)
 635 04b4 3407                  cpc r19,r20
 636 04b6 00F4                  brsh .+2
 637 04b8 00C0                  rjmp .L53
 638 04ba 8CED                  ldi r24,lo8(1500)
 639 04bc 95E0                  ldi r25,hi8(1500)
 640                    .L67:
 641 04be 9093 0000             sts (RemainingPulse.1)+1,r25
 642 04c2 8093 0000             sts RemainingPulse.1,r24
 643                    .L54:
 644 04c6 2091 0000             lds r18,RemainingPulse.1
 645 04ca 3091 0000             lds r19,(RemainingPulse.1)+1
 646 04ce 3093 0000             sts (ServoFrameTime.2)+1,r19
 647 04d2 2093 0000             sts ServoFrameTime.2,r18
 648 04d6 00C0                  rjmp .L56
 649                    .L60:
 650 04d8 8FEF                  ldi r24,lo8(-1)
 651 04da 8093 B300             sts 179,r24
 652 04de 5093 0000             sts (RemainingPulse.1)+1,r21
 653 04e2 4093 0000             sts RemainingPulse.1,r20
 654 04e6 00C0                  rjmp .L39
 655                    .L71:
 656 04e8 2D5F                  subi r18,lo8(-(3))
 657 04ea 3F4F                  sbci r19,hi8(-(3))
 658 04ec 00C0                  rjmp .L42
 659                    .L43:
 660 04ee 8091 0000             lds r24,EE_Parameter+40
 661 04f2 682F                  mov r22,r24
 662 04f4 7727                  clr r23
 663 04f6 8827                  clr r24
 664 04f8 9927                  clr r25
 665 04fa 2091 0000             lds r18,IntegralNick
 666 04fe 3091 0000             lds r19,(IntegralNick)+1
 667 0502 4091 0000             lds r20,(IntegralNick)+2
 668 0506 5091 0000             lds r21,(IntegralNick)+3
 669 050a 57FD                  sbrc r21,7
 670 050c 00C0                  rjmp .L75
 671                    .L47:
 672 050e E7E0                  ldi r30,7
 673 0510 5595          1:      asr r21
 674 0512 4795                  ror r20
 675 0514 3795                  ror r19
 676 0516 2795                  ror r18
 677 0518 EA95                  dec r30
 678 051a 01F4                  brne 1b
 679 051c 0E94 0000             call __mulsi3
 680 0520 9B01                  movw r18,r22
 681 0522 AC01                  movw r20,r24
 682 0524 97FD                  sbrc r25,7
 683 0526 00C0                  rjmp .L76
 684                    .L48:
 685 0528 76E0                  ldi r23,6
 686 052a 5595          1:      asr r21
 687 052c 4795                  ror r20
 688 052e 3795                  ror r19
 689 0530 2795                  ror r18
 690 0532 7A95                  dec r23
 691 0534 01F4                  brne 1b
 692 0536 8091 0000             lds r24,ServoNickValue
 693 053a 9091 0000             lds r25,(ServoNickValue)+1
 694 053e 821B                  sub r24,r18
 695 0540 930B                  sbc r25,r19
 696 0542 00C0                  rjmp .L65
 697                    .L53:
 698 0544 51E0                  ldi r21,hi8(375)
 699 0546 2737                  cpi r18,lo8(375)
 700 0548 3507                  cpc r19,r21
 701 054a 00F4                  brsh .L64
 702 054c 87E7                  ldi r24,lo8(375)
 703 054e 91E0                  ldi r25,hi8(375)
 704 0550 00C0                  rjmp .L67
 705                    .L64:
 706 0552 3093 0000             sts (RemainingPulse.1)+1,r19
 707 0556 2093 0000             sts RemainingPulse.1,r18
 708 055a 00C0                  rjmp .L54
 709                    .L74:
 710 055c 0396                  adiw r24,3
 711 055e 00C0                  rjmp .L52
 712                    .L72:
 713 0560 2158                  subi r18,lo8(-(127))
 714 0562 3F4F                  sbci r19,hi8(-(127))
 715 0564 4F4F                  sbci r20,hlo8(-(127))
 716 0566 5F4F                  sbci r21,hhi8(-(127))
 717 0568 00C0                  rjmp .L44
 718                    .L76:
 719 056a 215C                  subi r18,lo8(-(63))
 720 056c 3F4F                  sbci r19,hi8(-(63))
 721 056e 4F4F                  sbci r20,hlo8(-(63))
 722 0570 5F4F                  sbci r21,hhi8(-(63))
 723 0572 00C0                  rjmp .L48
 724                    .L75:
 725 0574 2158                  subi r18,lo8(-(127))
 726 0576 3F4F                  sbci r19,hi8(-(127))
 727 0578 4F4F                  sbci r20,hlo8(-(127))
 728 057a 5F4F                  sbci r21,hhi8(-(127))
 729 057c 00C0                  rjmp .L47
 730                    .L73:
 731 057e 215C                  subi r18,lo8(-(63))
 732 0580 3F4F                  sbci r19,hi8(-(63))
 733 0582 4F4F                  sbci r20,hlo8(-(63))
 734 0584 5F4F                  sbci r21,hhi8(-(63))
 735 0586 00C0                  rjmp .L45
 736                    .L39:
 737                    /* epilogue: frame size=0 */
 738 0588 FF91                  pop r31
 739 058a EF91                  pop r30
 740 058c BF91                  pop r27
 741 058e AF91                  pop r26
 742 0590 9F91                  pop r25
 743 0592 8F91                  pop r24
 744 0594 7F91                  pop r23
 745 0596 6F91                  pop r22
 746 0598 5F91                  pop r21
 747 059a 4F91                  pop r20
 748 059c 3F91                  pop r19
 749 059e 2F91                  pop r18
 750 05a0 0F90                  pop __tmp_reg__
 751 05a2 0FBE                  out __SREG__,__tmp_reg__
 752 05a4 0F90                  pop __tmp_reg__
 753 05a6 1F90                  pop __zero_reg__
 754 05a8 1895                  reti
 755                    /* epilogue end (size=17) */
 756                    /* function __vector_9 size 387 (353) */
 758                            .comm Mixer,77,1
 759                            .lcomm tim_main,2
 760                    /* File "timer0.c": code  728 = 0x02d8 ( 646), prologues  38, epilogues  44 */
DEFINED SYMBOLS
                            *ABS*:00000000 timer0.c
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:3      *ABS*:0000003f __SREG__
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:4      *ABS*:0000003e __SP_H__
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:5      *ABS*:0000003d __SP_L__
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:6      *ABS*:00000000 __tmp_reg__
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:7      *ABS*:00000001 __zero_reg__
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:15     .bss:00000000 ServoRollValue
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:21     .bss:00000002 ServoNickValue
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:27     .data:00000000 BeepMuster
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:34     .bss:00000004 ServoActive
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:40     .bss:00000005 SendSPI
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:46     .bss:00000006 beeptime
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:52     .bss:00000008 cntKompass
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:58     .bss:0000000a UpdateMotor
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:64     .bss:0000000b CountMilliseconds
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:69     .text:00000000 SetDelay
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:85     .text:00000012 Timer_Init
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:404    .bss:00000013 tim_main
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:112    .text:00000040 CheckDelay
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:131    .text:00000058 Delay_ms
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:152    .text:00000072 Delay_ms_Mess
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:185    .data:00000002 cnt_1ms.4
                             .bss:0000000d cnt.5
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:191    .text:000000a6 __vector_18
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:362    .text:00000246 TIMER2_Init
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:187    .bss:0000000e PulseOutput.0
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:402    .bss:0000000f RemainingPulse.1
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:403    .bss:00000011 ServoFrameTime.2
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:408    .data:00000003 ServoNickOffset.3
C:\Users\Bernd\AppData\Local\Temp/ccrsFYQE.s:413    .text:000002a4 __vector_9
                            *COM*:0000004d Mixer

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
AdReady
EE_Parameter
__udivmodhi4
KompassValue
KompassStartwert
__divmodhi4
KompassRichtung
Parameter_ServoNickControl
IntegralNick
__mulsi3