Subversion Repositories FlightCtrl

Rev

Blame | Last modification | View Log | RSS feed

   1                            .file   "compass.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                            .text
  11                    .global __vector_19
  13                    __vector_19:
  14                    /* prologue: frame size=0 */
  15 0000 1F92                  push __zero_reg__
  16 0002 0F92                  push __tmp_reg__
  17 0004 0FB6                  in __tmp_reg__,__SREG__
  18 0006 0F92                  push __tmp_reg__
  19 0008 1124                  clr __zero_reg__
  20 000a 2F93                  push r18
  21 000c 3F93                  push r19
  22 000e 4F93                  push r20
  23 0010 8F93                  push r24
  24 0012 9F93                  push r25
  25                    /* prologue end (size=10) */
  26 0014 8091 0000             lds r24,MM3
  27 0018 8330                  cpi r24,lo8(3)
  28 001a 01F0                  breq .L3
  29 001c 8430                  cpi r24,lo8(4)
  30 001e 01F4                  brne .L10
  31 0020 00C0                  rjmp .L4
  32                    .L3:
  33 0022 8EB5                  in r24,78-0x20
  34 0024 8093 0000             sts tmp.2057,r24
  35 0028 1EBC                  out 78-0x20,__zero_reg__
  36 002a 84E0                  ldi r24,lo8(4)
  37 002c 8093 0000             sts MM3,r24
  38 0030 00C0                  rjmp .L10
  39                    .L4:
  40 0032 8091 0000             lds r24,tmp.2057
  41 0036 9927                  clr r25
  42 0038 382F                  mov r19,r24
  43 003a 2227                  clr r18
  44 003c 8EB5                  in r24,78-0x20
  45 003e 9927                  clr r25
  46 0040 282B                  or r18,r24
  47 0042 392B                  or r19,r25
  48 0044 C901                  movw r24,r18
  49 0046 8D50                  subi r24,lo8(-(499))
  50 0048 9E4F                  sbci r25,hi8(-(499))
  51 004a 875E                  subi r24,lo8(999)
  52 004c 9340                  sbci r25,hi8(999)
  53 004e 00F4                  brsh .L5
  54 0050 8091 0000             lds r24,MM3+3
  55 0054 8530                  cpi r24,lo8(5)
  56 0056 01F0                  breq .L8
  57 0058 8630                  cpi r24,lo8(6)
  58 005a 01F4                  brne .L11
  59 005c 00C0                  rjmp .L9
  60                    .L8:
  61 005e 3093 0000             sts (MM3+4)+1,r19
  62 0062 2093 0000             sts MM3+4,r18
  63 0066 86E0                  ldi r24,lo8(6)
  64 0068 00C0                  rjmp .L12
  65                    .L9:
  66 006a 3093 0000             sts (MM3+6)+1,r19
  67 006e 2093 0000             sts MM3+6,r18
  68 0072 87E0                  ldi r24,lo8(7)
  69 0074 00C0                  rjmp .L12
  70                    .L11:
  71 0076 3093 0000             sts (MM3+8)+1,r19
  72 007a 2093 0000             sts MM3+8,r18
  73 007e 85E0                  ldi r24,lo8(5)
  74                    .L12:
  75 0080 8093 0000             sts MM3+3,r24
  76                    .L5:
  77 0084 1092 0000             sts MM3,__zero_reg__
  78                    .L10:
  79                    /* epilogue: frame size=0 */
  80 0088 9F91                  pop r25
  81 008a 8F91                  pop r24
  82 008c 4F91                  pop r20
  83 008e 3F91                  pop r19
  84 0090 2F91                  pop r18
  85 0092 0F90                  pop __tmp_reg__
  86 0094 0FBE                  out __SREG__,__tmp_reg__
  87 0096 0F90                  pop __tmp_reg__
  88 0098 1F90                  pop __zero_reg__
  89 009a 1895                  reti
  90                    /* epilogue end (size=10) */
  91                    /* function __vector_19 size 79 (59) */
  93                    .global heading_MM3
  95                    heading_MM3:
  96                    /* prologue: frame size=10 */
  97 009c AAE0                  ldi r26,lo8(10)
  98 009e B0E0                  ldi r27,hi8(10)
  99 00a0 E0E0                  ldi r30,lo8(gs(1f))
 100 00a2 F0E0                  ldi r31,hi8(gs(1f))
 101 00a4 0C94 0000             jmp __prologue_saves__+0
 102                    1:
 103                    /* prologue end (size=6) */
 104 00a8 A090 0000             lds r10,EE_Parameter+31
 105 00ac BB24                  clr r11
 106 00ae 33E0                  ldi r19,3
 107 00b0 AA0C          1:      lsl r10
 108 00b2 BB1C                  rol r11
 109 00b4 3A95                  dec r19
 110 00b6 01F4                  brne 1b
 111 00b8 CC24                  clr r12
 112 00ba DD24                  clr r13
 113 00bc 6091 0000             lds r22,IntegralNick
 114 00c0 7091 0000             lds r23,(IntegralNick)+1
 115 00c4 8091 0000             lds r24,(IntegralNick)+2
 116 00c8 9091 0000             lds r25,(IntegralNick)+3
 117 00cc A601                  movw r20,r12
 118 00ce 9501                  movw r18,r10
 119 00d0 0E94 0000             call __divmodsi4
 120 00d4 7901                  movw r14,r18
 121 00d6 8A01                  movw r16,r20
 122 00d8 FF24                  clr r15
 123 00da E7FC                  sbrc r14,7
 124 00dc F094                  com r15
 125 00de C701                  movw r24,r14
 126 00e0 0E94 0000             call sin_i
 127 00e4 2C01                  movw r4,r24
 128 00e6 C701                  movw r24,r14
 129 00e8 0E94 0000             call cos_i
 130 00ec 3C01                  movw r6,r24
 131 00ee 6091 0000             lds r22,IntegralRoll
 132 00f2 7091 0000             lds r23,(IntegralRoll)+1
 133 00f6 8091 0000             lds r24,(IntegralRoll)+2
 134 00fa 9091 0000             lds r25,(IntegralRoll)+3
 135 00fe A601                  movw r20,r12
 136 0100 9501                  movw r18,r10
 137 0102 0E94 0000             call __divmodsi4
 138 0106 7901                  movw r14,r18
 139 0108 8A01                  movw r16,r20
 140 010a FF24                  clr r15
 141 010c E7FC                  sbrc r14,7
 142 010e F094                  com r15
 143 0110 C701                  movw r24,r14
 144 0112 0E94 0000             call sin_i
 145 0116 9A87                  std Y+10,r25
 146 0118 8987                  std Y+9,r24
 147 011a C701                  movw r24,r14
 148 011c 0E94 0000             call cos_i
 149 0120 1C01                  movw r2,r24
 150 0122 6091 0000             lds r22,MM3+4
 151 0126 7091 0000             lds r23,(MM3+4)+1
 152 012a E090 0000             lds r14,MM3+6
 153 012e F090 0000             lds r15,(MM3+6)+1
 154 0132 2091 0000             lds r18,MM3_calib+1
 155 0136 3327                  clr r19
 156 0138 27FD                  sbrc r18,7
 157 013a 3095                  com r19
 158 013c E21A                  sub r14,r18
 159 013e F30A                  sbc r15,r19
 160 0140 0027                  clr r16
 161 0142 F7FC                  sbrc r15,7
 162 0144 0095                  com r16
 163 0146 102F                  mov r17,r16
 164 0148 A090 0000             lds r10,MM3+8
 165 014c B090 0000             lds r11,(MM3+8)+1
 166 0150 2091 0000             lds r18,MM3_calib+2
 167 0154 3327                  clr r19
 168 0156 27FD                  sbrc r18,7
 169 0158 3095                  com r19
 170 015a A21A                  sub r10,r18
 171 015c B30A                  sbc r11,r19
 172 015e CC24                  clr r12
 173 0160 B7FC                  sbrc r11,7
 174 0162 C094                  com r12
 175 0164 DC2C                  mov r13,r12
 176 0166 2091 0000             lds r18,MM3_calib
 177 016a 3327                  clr r19
 178 016c 27FD                  sbrc r18,7
 179 016e 3095                  com r19
 180 0170 621B                  sub r22,r18
 181 0172 730B                  sbc r23,r19
 182 0174 8827                  clr r24
 183 0176 77FD                  sbrc r23,7
 184 0178 8095                  com r24
 185 017a 982F                  mov r25,r24
 186 017c 8824                  clr r8
 187 017e 77FC                  sbrc r7,7
 188 0180 8094                  com r8
 189 0182 982C                  mov r9,r8
 190 0184 A401                  movw r20,r8
 191 0186 9301                  movw r18,r6
 192 0188 0E94 0000             call __mulsi3
 193 018c 3B01                  movw r6,r22
 194 018e 4C01                  movw r8,r24
 195 0190 8985                  ldd r24,Y+9
 196 0192 9A85                  ldd r25,Y+10
 197 0194 AA27                  clr r26
 198 0196 97FD                  sbrc r25,7
 199 0198 A095                  com r26
 200 019a BA2F                  mov r27,r26
 201 019c 8D83                  std Y+5,r24
 202 019e 9E83                  std Y+6,r25
 203 01a0 AF83                  std Y+7,r26
 204 01a2 B887                  std Y+8,r27
 205 01a4 C201                  movw r24,r4
 206 01a6 AA27                  clr r26
 207 01a8 97FD                  sbrc r25,7
 208 01aa A095                  com r26
 209 01ac BA2F                  mov r27,r26
 210 01ae 8983                  std Y+1,r24
 211 01b0 9A83                  std Y+2,r25
 212 01b2 AB83                  std Y+3,r26
 213 01b4 BC83                  std Y+4,r27
 214 01b6 C801                  movw r24,r16
 215 01b8 B701                  movw r22,r14
 216 01ba 2D81                  ldd r18,Y+5
 217 01bc 3E81                  ldd r19,Y+6
 218 01be 4F81                  ldd r20,Y+7
 219 01c0 5885                  ldd r21,Y+8
 220 01c2 0E94 0000             call __mulsi3
 221 01c6 2981                  ldd r18,Y+1
 222 01c8 3A81                  ldd r19,Y+2
 223 01ca 4B81                  ldd r20,Y+3
 224 01cc 5C81                  ldd r21,Y+4
 225 01ce 0E94 0000             call __mulsi3
 226 01d2 20E0                  ldi r18,lo8(1024)
 227 01d4 34E0                  ldi r19,hi8(1024)
 228 01d6 40E0                  ldi r20,hlo8(1024)
 229 01d8 50E0                  ldi r21,hhi8(1024)
 230 01da 0E94 0000             call __divmodsi4
 231 01de 620E                  add r6,r18
 232 01e0 731E                  adc r7,r19
 233 01e2 841E                  adc r8,r20
 234 01e4 951E                  adc r9,r21
 235 01e6 4424                  clr r4
 236 01e8 37FC                  sbrc r3,7
 237 01ea 4094                  com r4
 238 01ec 542C                  mov r5,r4
 239 01ee C601                  movw r24,r12
 240 01f0 B501                  movw r22,r10
 241 01f2 A201                  movw r20,r4
 242 01f4 9101                  movw r18,r2
 243 01f6 0E94 0000             call __mulsi3
 244 01fa 2981                  ldd r18,Y+1
 245 01fc 3A81                  ldd r19,Y+2
 246 01fe 4B81                  ldd r20,Y+3
 247 0200 5C81                  ldd r21,Y+4
 248 0202 0E94 0000             call __mulsi3
 249 0206 20E0                  ldi r18,lo8(1024)
 250 0208 34E0                  ldi r19,hi8(1024)
 251 020a 40E0                  ldi r20,hlo8(1024)
 252 020c 50E0                  ldi r21,hhi8(1024)
 253 020e 0E94 0000             call __divmodsi4
 254 0212 621A                  sub r6,r18
 255 0214 730A                  sbc r7,r19
 256 0216 840A                  sbc r8,r20
 257 0218 950A                  sbc r9,r21
 258 021a C801                  movw r24,r16
 259 021c B701                  movw r22,r14
 260 021e A201                  movw r20,r4
 261 0220 9101                  movw r18,r2
 262 0222 0E94 0000             call __mulsi3
 263 0226 7B01                  movw r14,r22
 264 0228 8C01                  movw r16,r24
 265 022a C601                  movw r24,r12
 266 022c B501                  movw r22,r10
 267 022e 2D81                  ldd r18,Y+5
 268 0230 3E81                  ldd r19,Y+6
 269 0232 4F81                  ldd r20,Y+7
 270 0234 5885                  ldd r21,Y+8
 271 0236 0E94 0000             call __mulsi3
 272 023a E60E                  add r14,r22
 273 023c F71E                  adc r15,r23
 274 023e 081F                  adc r16,r24
 275 0240 191F                  adc r17,r25
 276 0242 C801                  movw r24,r16
 277 0244 B701                  movw r22,r14
 278 0246 20E1                  ldi r18,lo8(16)
 279 0248 30E0                  ldi r19,hi8(16)
 280 024a 40E0                  ldi r20,hlo8(16)
 281 024c 50E0                  ldi r21,hhi8(16)
 282 024e 0E94 0000             call __divmodsi4
 283 0252 7901                  movw r14,r18
 284 0254 8A01                  movw r16,r20
 285 0256 C401                  movw r24,r8
 286 0258 B301                  movw r22,r6
 287 025a 20E0                  ldi r18,lo8(1024)
 288 025c 34E0                  ldi r19,hi8(1024)
 289 025e 40E0                  ldi r20,hlo8(1024)
 290 0260 50E0                  ldi r21,hhi8(1024)
 291 0262 0E94 0000             call __divmodsi4
 292 0266 DA01                  movw r26,r20
 293 0268 C901                  movw r24,r18
 294 026a B701                  movw r22,r14
 295 026c 0E94 0000             call atan2_i
 296 0270 9C01                  movw r18,r24
 297 0272 97FF                  sbrs r25,7
 298 0274 00C0                  rjmp .L14
 299 0276 8827                  clr r24
 300 0278 9927                  clr r25
 301 027a 821B                  sub r24,r18
 302 027c 930B                  sbc r25,r19
 303 027e 00C0                  rjmp .L16
 304                    .L14:
 305 0280 88E6                  ldi r24,lo8(360)
 306 0282 91E0                  ldi r25,hi8(360)
 307 0284 821B                  sub r24,r18
 308 0286 930B                  sbc r25,r19
 309                    .L16:
 310                    /* epilogue: frame size=10 */
 311 0288 E2E1                  ldi r30,18
 312 028a C65F                  subi r28,-10
 313 028c 0C94 0000             jmp __epilogue_restores__+0
 314                    /* epilogue end (size=4) */
 315                    /* function heading_MM3 size 250 (240) */
 317                    .global timer0_MM3
 319                    timer0_MM3:
 320                    /* prologue: frame size=0 */
 321                    /* prologue end (size=0) */
 322 0290 8091 0000             lds r24,MM3
 323 0294 8130                  cpi r24,lo8(1)
 324 0296 01F0                  breq .L21
 325 0298 8130                  cpi r24,lo8(1)
 326 029a 00F0                  brlo .L20
 327 029c 8230                  cpi r24,lo8(2)
 328 029e 01F4                  brne .L29
 329 02a0 00C0                  rjmp .L22
 330                    .L20:
 331 02a2 2A9A                  sbi 37-0x20,2
 332 02a4 81E0                  ldi r24,lo8(1)
 333 02a6 00C0                  rjmp .L31
 334                    .L21:
 335 02a8 2A98                  cbi 37-0x20,2
 336 02aa 8091 0000             lds r24,MM3+3
 337 02ae 8530                  cpi r24,lo8(5)
 338 02b0 01F4                  brne .L23
 339 02b2 81E3                  ldi r24,lo8(49)
 340 02b4 00C0                  rjmp .L30
 341                    .L23:
 342 02b6 8630                  cpi r24,lo8(6)
 343 02b8 01F4                  brne .L26
 344 02ba 82E3                  ldi r24,lo8(50)
 345 02bc 00C0                  rjmp .L30
 346                    .L26:
 347 02be 83E3                  ldi r24,lo8(51)
 348                    .L30:
 349 02c0 8EBD                  out 78-0x20,r24
 350 02c2 88E0                  ldi r24,lo8(8)
 351 02c4 90E0                  ldi r25,hi8(8)
 352 02c6 0E94 0000             call SetDelay
 353 02ca 9093 0000             sts (MM3+1)+1,r25
 354 02ce 8093 0000             sts MM3+1,r24
 355 02d2 82E0                  ldi r24,lo8(2)
 356                    .L31:
 357 02d4 8093 0000             sts MM3,r24
 358 02d8 0895                  ret
 359                    .L22:
 360 02da 8091 0000             lds r24,MM3+1
 361 02de 9091 0000             lds r25,(MM3+1)+1
 362 02e2 0E94 0000             call CheckDelay
 363 02e6 8823                  tst r24
 364 02e8 01F0                  breq .L29
 365 02ea 1EBC                  out 78-0x20,__zero_reg__
 366 02ec 83E0                  ldi r24,lo8(3)
 367 02ee 8093 0000             sts MM3,r24
 368                    .L29:
 369 02f2 0895                  ret
 370                    /* epilogue: frame size=0 */
 371                    /* epilogue: noreturn */
 372                    /* epilogue end (size=0) */
 373                    /* function timer0_MM3 size 50 (50) */
 375                    .global calib_MM3
 377                    calib_MM3:
 378                    /* prologue: frame size=0 */
 379 02f4 A0E0                  ldi r26,lo8(0)
 380 02f6 B0E0                  ldi r27,hi8(0)
 381 02f8 E0E0                  ldi r30,lo8(gs(1f))
 382 02fa F0E0                  ldi r31,hi8(gs(1f))
 383 02fc 0C94 0000             jmp __prologue_saves__+4
 384                    1:
 385                    /* prologue end (size=6) */
 386 0300 299A                  sbi 37-0x20,1
 387 0302 8091 0000             lds r24,PlatinenVersion
 388 0306 8A30                  cpi r24,lo8(10)
 389 0308 01F4                  brne .L33
 390 030a 2898                  cbi 37-0x20,0
 391 030c 00C0                  rjmp .L60
 392                    .L33:
 393 030e 289A                  sbi 37-0x20,0
 394                    .L60:
 395 0310 AA24                  clr r10
 396 0312 BB24                  clr r11
 397 0314 00E0                  ldi r16,lo8(0)
 398 0316 10E0                  ldi r17,hi8(0)
 399 0318 8824                  clr r8
 400 031a 9924                  clr r9
 401 031c EE24                  clr r14
 402 031e FF24                  clr r15
 403 0320 6624                  clr r6
 404 0322 7724                  clr r7
 405 0324 CC24                  clr r12
 406 0326 DD24                  clr r13
 407 0328 62E3                  ldi r22,lo8(50)
 408 032a 462E                  mov r4,r22
 409 032c 5524                  clr r5
 410                    .L59:
 411 032e 8091 0000             lds r24,MM3+4
 412 0332 9091 0000             lds r25,(MM3+4)+1
 413 0336 0817                  cp r16,r24
 414 0338 1907                  cpc r17,r25
 415 033a 04F4                  brge .L36
 416 033c 0091 0000             lds r16,MM3+4
 417 0340 1091 0000             lds r17,(MM3+4)+1
 418 0344 00C0                  rjmp .L38
 419                    .L36:
 420 0346 8091 0000             lds r24,MM3+4
 421 034a 9091 0000             lds r25,(MM3+4)+1
 422 034e 8A15                  cp r24,r10
 423 0350 9B05                  cpc r25,r11
 424 0352 04F4                  brge .L38
 425 0354 A090 0000             lds r10,MM3+4
 426 0358 B090 0000             lds r11,(MM3+4)+1
 427                    .L38:
 428 035c 8091 0000             lds r24,MM3+6
 429 0360 9091 0000             lds r25,(MM3+6)+1
 430 0364 E816                  cp r14,r24
 431 0366 F906                  cpc r15,r25
 432 0368 04F4                  brge .L40
 433 036a E090 0000             lds r14,MM3+6
 434 036e F090 0000             lds r15,(MM3+6)+1
 435 0372 00C0                  rjmp .L42
 436                    .L40:
 437 0374 8091 0000             lds r24,MM3+6
 438 0378 9091 0000             lds r25,(MM3+6)+1
 439 037c 8815                  cp r24,r8
 440 037e 9905                  cpc r25,r9
 441 0380 04F4                  brge .L42
 442 0382 8090 0000             lds r8,MM3+6
 443 0386 9090 0000             lds r9,(MM3+6)+1
 444                    .L42:
 445 038a 8091 0000             lds r24,MM3+8
 446 038e 9091 0000             lds r25,(MM3+8)+1
 447 0392 C816                  cp r12,r24
 448 0394 D906                  cpc r13,r25
 449 0396 04F4                  brge .L44
 450 0398 C090 0000             lds r12,MM3+8
 451 039c D090 0000             lds r13,(MM3+8)+1
 452 03a0 00C0                  rjmp .L46
 453                    .L44:
 454 03a2 8091 0000             lds r24,MM3+8
 455 03a6 9091 0000             lds r25,(MM3+8)+1
 456 03aa 8615                  cp r24,r6
 457 03ac 9705                  cpc r25,r7
 458 03ae 04F4                  brge .L46
 459 03b0 6090 0000             lds r6,MM3+8
 460 03b4 7090 0000             lds r7,(MM3+8)+1
 461                    .L46:
 462 03b8 5520                  tst r5
 463 03ba 01F4                  brne .L48
 464 03bc 85B1                  in r24,37-0x20
 465 03be 91E0                  ldi r25,lo8(1)
 466 03c0 8927                  eor r24,r25
 467 03c2 85B9                  out 37-0x20,r24
 468 03c4 85B1                  in r24,37-0x20
 469 03c6 92E0                  ldi r25,lo8(2)
 470 03c8 8927                  eor r24,r25
 471 03ca 85B9                  out 37-0x20,r24
 472 03cc 82E3                  ldi r24,lo8(50)
 473 03ce 90E0                  ldi r25,hi8(50)
 474 03d0 9093 0000             sts (beeptime)+1,r25
 475 03d4 8093 0000             sts beeptime,r24
 476 03d8 52E3                  ldi r21,lo8(50)
 477 03da 552E                  mov r5,r21
 478                    .L48:
 479 03dc 8AE0                  ldi r24,lo8(10)
 480 03de 90E0                  ldi r25,hi8(10)
 481 03e0 0E94 0000             call SetDelay
 482 03e4 EC01                  movw r28,r24
 483                    .L50:
 484 03e6 CE01                  movw r24,r28
 485 03e8 0E94 0000             call CheckDelay
 486 03ec 8823                  tst r24
 487 03ee 01F0                  breq .L50
 488 03f0 E091 0000             lds r30,EE_Parameter+2
 489 03f4 FF27                  clr r31
 490 03f6 EE0F                  lsl r30
 491 03f8 FF1F                  rol r31
 492 03fa E050                  subi r30,lo8(-(PPM_in))
 493 03fc F040                  sbci r31,hi8(-(PPM_in))
 494 03fe 8081                  ld r24,Z
 495 0400 9181                  ldd r25,Z+1
 496 0402 8436                  cpi r24,100
 497 0404 9105                  cpc r25,__zero_reg__
 498 0406 04F4                  brge .L52
 499 0408 4A94                  dec r4
 500                    .L52:
 501 040a 4420                  tst r4
 502 040c 01F0                  breq .L54
 503 040e 5A94                  dec r5
 504 0410 00C0                  rjmp .L59
 505                    .L54:
 506 0412 C801                  movw r24,r16
 507 0414 8A19                  sub r24,r10
 508 0416 9B09                  sbc r25,r11
 509 0418 9093 0000             sts (MM3_calib+3)+1,r25
 510 041c 8093 0000             sts MM3_calib+3,r24
 511 0420 C701                  movw r24,r14
 512 0422 8819                  sub r24,r8
 513 0424 9909                  sbc r25,r9
 514 0426 9093 0000             sts (MM3_calib+5)+1,r25
 515 042a 8093 0000             sts MM3_calib+5,r24
 516 042e C601                  movw r24,r12
 517 0430 8619                  sub r24,r6
 518 0432 9709                  sbc r25,r7
 519 0434 9093 0000             sts (MM3_calib+7)+1,r25
 520 0438 8093 0000             sts MM3_calib+7,r24
 521 043c E0E0                  ldi r30,lo8(MM3_calib)
 522 043e F0E0                  ldi r31,hi8(MM3_calib)
 523 0440 C801                  movw r24,r16
 524 0442 8A0D                  add r24,r10
 525 0444 9B1D                  adc r25,r11
 526 0446 62E0                  ldi r22,lo8(2)
 527 0448 70E0                  ldi r23,hi8(2)
 528 044a 0E94 0000             call __divmodhi4
 529 044e 6093 0000             sts MM3_calib,r22
 530 0452 C701                  movw r24,r14
 531 0454 880D                  add r24,r8
 532 0456 991D                  adc r25,r9
 533 0458 62E0                  ldi r22,lo8(2)
 534 045a 70E0                  ldi r23,hi8(2)
 535 045c 0E94 0000             call __divmodhi4
 536 0460 6093 0000             sts MM3_calib+1,r22
 537 0464 C601                  movw r24,r12
 538 0466 860D                  add r24,r6
 539 0468 971D                  adc r25,r7
 540 046a 62E0                  ldi r22,lo8(2)
 541 046c 70E0                  ldi r23,hi8(2)
 542 046e 0E94 0000             call __divmodhi4
 543 0472 6093 0000             sts MM3_calib+2,r22
 544 0476 89E0                  ldi r24,lo8(9)
 545 0478 A0E0                  ldi r26,lo8(ee_calib)
 546 047a B0E0                  ldi r27,hi8(ee_calib)
 547                    /* #APP */
 548 047c 182E                  mov __zero_reg__,r24
 549 047e 0E94 0000             call __eeprom_write_block_1F2021
 550                    /* #NOAPP */
 551                    /* epilogue: frame size=0 */
 552 0482 E0E1                  ldi r30,16
 553 0484 CDB7                  in r28,__SP_L__
 554 0486 DEB7                  in r29,__SP_H__
 555 0488 0C94 0000             jmp __epilogue_restores__+4
 556                    /* epilogue end (size=5) */
 557                    /* function calib_MM3 size 205 (194) */
 559                    .global init_MM3
 561                    init_MM3:
 562                    /* prologue: frame size=0 */
 563                    /* prologue end (size=0) */
 564 048c 83ED                  ldi r24,lo8(-45)
 565 048e 8CBD                  out 76-0x20,r24
 566 0490 84B1                  in r24,36-0x20
 567 0492 846A                  ori r24,lo8(-92)
 568 0494 84B9                  out 36-0x20,r24
 569 0496 8091 0000             lds r24,PlatinenVersion
 570 049a 8A30                  cpi r24,lo8(10)
 571 049c 01F4                  brne .L62
 572 049e 539A                  sbi 42-0x20,3
 573 04a0 5B98                  cbi 43-0x20,3
 574 04a2 00C0                  rjmp .L64
 575                    .L62:
 576 04a4 3E9A                  sbi 39-0x20,6
 577 04a6 4698                  cbi 40-0x20,6
 578                    .L64:
 579 04a8 85E0                  ldi r24,lo8(5)
 580 04aa 8093 0000             sts MM3+3,r24
 581 04ae 1092 0000             sts MM3,__zero_reg__
 582 04b2 89E0                  ldi r24,lo8(9)
 583 04b4 E0E0                  ldi r30,lo8(MM3_calib)
 584 04b6 F0E0                  ldi r31,hi8(MM3_calib)
 585 04b8 A0E0                  ldi r26,lo8(ee_calib)
 586 04ba B0E0                  ldi r27,hi8(ee_calib)
 587                    /* #APP */
 588 04bc 182E                  mov __zero_reg__,r24
 589 04be 0E94 0000             call __eeprom_read_block_1F2021
 590                    /* #NOAPP */
 591                    /* epilogue: frame size=0 */
 592 04c2 0895                  ret
 593                    /* epilogue end (size=1) */
 594                    /* function init_MM3 size 29 (28) */
 596                            .lcomm tmp.2057,1
 597                            .comm MM3,10,1
 598                            .comm MM3_calib,9,1
 599                    .global ee_calib
 600                            .section        .eeprom,"aw",@progbits
 603                    ee_calib:
 604 0000 0000 0000             .skip 9,0
 604      0000 0000 
 604      00
 605                    /* File "compass.c": code  613 = 0x0265 ( 571), prologues  22, epilogues  20 */
DEFINED SYMBOLS
                            *ABS*:00000000 compass.c
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc23eFKu.s:3      *ABS*:0000003f __SREG__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc23eFKu.s:4      *ABS*:0000003e __SP_H__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc23eFKu.s:5      *ABS*:0000003d __SP_L__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc23eFKu.s:6      *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc23eFKu.s:7      *ABS*:00000001 __zero_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc23eFKu.s:13     .text:00000000 __vector_19
                            *COM*:0000000a MM3
                             .bss:00000000 tmp.2057
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc23eFKu.s:95     .text:0000009c heading_MM3
                            *COM*:00000009 MM3_calib
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc23eFKu.s:319    .text:00000290 timer0_MM3
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc23eFKu.s:377    .text:000002f4 calib_MM3
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc23eFKu.s:603    .eeprom:00000000 ee_calib
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/cc23eFKu.s:561    .text:0000048c init_MM3

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__prologue_saves__
EE_Parameter
IntegralNick
__divmodsi4
sin_i
cos_i
IntegralRoll
__mulsi3
atan2_i
__epilogue_restores__
SetDelay
CheckDelay
PlatinenVersion
beeptime
PPM_in
__divmodhi4
__eeprom_write_block_1F2021
__eeprom_read_block_1F2021