Subversion Repositories FlightCtrl

Rev

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

   1                            .file   "altcon.c"
   2                    __SREG__ = 0x3f
   3                    __SP_H__ = 0x3e
   4                    __SP_L__ = 0x3d
   5                    __CCP__  = 0x34
   6                    __tmp_reg__ = 0
   7                    __zero_reg__ = 1
   8                            .global __do_copy_data
   9                            .global __do_clear_bss
  10                            .text
  11                    .global altcon_init
  13                    altcon_init:
  14                    /* prologue: function */
  15                    /* frame size = 0 */
  16 0000 1092 0000             sts enabled,__zero_reg__
  17 0004 84EF                  ldi r24,lo8(500)
  18 0006 91E0                  ldi r25,hi8(500)
  19 0008 9093 0000             sts (beeptime)+1,r25
  20 000c 8093 0000             sts beeptime,r24
  21                    /* epilogue start */
  22 0010 0895                  ret
  24                    .global altcon_lock
  26                    altcon_lock:
  27                    /* prologue: function */
  28                    /* frame size = 0 */
  29 0012 8091 0000             lds r24,airPressure
  30 0016 9091 0000             lds r25,(airPressure)+1
  31 001a 9093 0000             sts (pressureOffset)+1,r25
  32 001e 8093 0000             sts pressureOffset,r24
  33                    /* epilogue start */
  34 0022 0895                  ret
  36                    .global altcon_start
  38                    altcon_start:
  39                    /* prologue: function */
  40                    /* frame size = 0 */
  41 0024 6091 0000             lds r22,Mess_Integral_Hoch
  42 0028 7091 0000             lds r23,(Mess_Integral_Hoch)+1
  43 002c 8091 0000             lds r24,(Mess_Integral_Hoch)+2
  44 0030 9091 0000             lds r25,(Mess_Integral_Hoch)+3
  45 0034 20E8                  ldi r18,lo8(128)
  46 0036 30E0                  ldi r19,hi8(128)
  47 0038 40E0                  ldi r20,hlo8(128)
  48 003a 50E0                  ldi r21,hhi8(128)
  49 003c 0E94 0000             call __divmodsi4
  50 0040 3093 0000             sts (accZOffset)+1,r19
  51 0044 2093 0000             sts accZOffset,r18
  52 0048 1092 0000             sts (lastError)+1,__zero_reg__
  53 004c 1092 0000             sts lastError,__zero_reg__
  54 0050 1092 0000             sts (lastN)+1,__zero_reg__
  55 0054 1092 0000             sts lastN,__zero_reg__
  56 0058 1092 0000             sts (averageN)+1,__zero_reg__
  57 005c 1092 0000             sts averageN,__zero_reg__
  58 0060 1092 0000             sts altIntegral,__zero_reg__
  59 0064 1092 0000             sts (altIntegral)+1,__zero_reg__
  60 0068 1092 0000             sts (altIntegral)+2,__zero_reg__
  61 006c 1092 0000             sts (altIntegral)+3,__zero_reg__
  62 0070 84EF                  ldi r24,lo8(500)
  63 0072 91E0                  ldi r25,hi8(500)
  64 0074 9093 0000             sts (beeptime)+1,r25
  65 0078 8093 0000             sts beeptime,r24
  66                    /* epilogue start */
  67 007c 0895                  ret
  69                    .global altcon_stop
  71                    altcon_stop:
  72                    /* prologue: function */
  73                    /* frame size = 0 */
  74 007e 1092 0000             sts enabled,__zero_reg__
  75 0082 84EF                  ldi r24,lo8(500)
  76 0084 91E0                  ldi r25,hi8(500)
  77 0086 9093 0000             sts (beeptime)+1,r25
  78 008a 8093 0000             sts beeptime,r24
  79                    /* epilogue start */
  80 008e 0895                  ret
  82                    .global altcon_error
  84                    altcon_error:
  85 0090 9F92                  push r9
  86 0092 AF92                  push r10
  87 0094 BF92                  push r11
  88 0096 CF92                  push r12
  89 0098 DF92                  push r13
  90 009a EF92                  push r14
  91 009c FF92                  push r15
  92 009e 0F93                  push r16
  93 00a0 1F93                  push r17
  94 00a2 CF93                  push r28
  95 00a4 DF93                  push r29
  96                    /* prologue: function */
  97                    /* frame size = 0 */
  98 00a6 8091 0000             lds r24,enabled
  99 00aa 8823                  tst r24
 100 00ac 01F4                  brne .+2
 101 00ae 00C0                  rjmp .L10
 102 00b0 8091 0000             lds r24,Notlandung
 103 00b4 8823                  tst r24
 104 00b6 01F0                  breq .+2
 105 00b8 00C0                  rjmp .L10
 106 00ba E090 0000             lds r14,airPressure
 107 00be F090 0000             lds r15,(airPressure)+1
 108 00c2 8091 0000             lds r24,pressureOffset
 109 00c6 9091 0000             lds r25,(pressureOffset)+1
 110 00ca E81A                  sub r14,r24
 111 00cc F90A                  sbc r15,r25
 112 00ce 0091 0000             lds r16,Parameter_Hoehe_P
 113 00d2 8091 0000             lds r24,EE_Parameter+31
 114 00d6 90E0                  ldi r25,lo8(0)
 115 00d8 9C01                  movw r18,r24
 116 00da 2E9D                  mul r18,r14
 117 00dc C001                  movw r24,r0
 118 00de 2F9D                  mul r18,r15
 119 00e0 900D                  add r25,r0
 120 00e2 3E9D                  mul r19,r14
 121 00e4 900D                  add r25,r0
 122 00e6 1124                  clr r1
 123 00e8 64E0                  ldi r22,lo8(4)
 124 00ea 70E0                  ldi r23,hi8(4)
 125 00ec 0E94 0000             call __divmodhi4
 126 00f0 9B01                  movw r18,r22
 127 00f2 4427                  clr r20
 128 00f4 37FD                  sbrc r19,7
 129 00f6 4095                  com r20
 130 00f8 542F                  mov r21,r20
 131 00fa 8091 0000             lds r24,altIntegral
 132 00fe 9091 0000             lds r25,(altIntegral)+1
 133 0102 A091 0000             lds r26,(altIntegral)+2
 134 0106 B091 0000             lds r27,(altIntegral)+3
 135 010a 280F                  add r18,r24
 136 010c 391F                  adc r19,r25
 137 010e 4A1F                  adc r20,r26
 138 0110 5B1F                  adc r21,r27
 139 0112 2093 0000             sts altIntegral,r18
 140 0116 3093 0000             sts (altIntegral)+1,r19
 141 011a 4093 0000             sts (altIntegral)+2,r20
 142 011e 5093 0000             sts (altIntegral)+3,r21
 143 0122 2134                  cpi r18,lo8(1000001)
 144 0124 62E4                  ldi r22,hi8(1000001)
 145 0126 3607                  cpc r19,r22
 146 0128 6FE0                  ldi r22,hlo8(1000001)
 147 012a 4607                  cpc r20,r22
 148 012c 60E0                  ldi r22,hhi8(1000001)
 149 012e 5607                  cpc r21,r22
 150 0130 04F0                  brlt .L11
 151 0132 80E4                  ldi r24,lo8(1000000)
 152 0134 92E4                  ldi r25,hi8(1000000)
 153 0136 AFE0                  ldi r26,hlo8(1000000)
 154 0138 B0E0                  ldi r27,hhi8(1000000)
 155 013a 00C0                  rjmp .L20
 156                    .L11:
 157 013c 205C                  subi r18,lo8(-1000000)
 158 013e 3D4B                  sbci r19,hi8(-1000000)
 159 0140 404F                  sbci r20,hlo8(-1000000)
 160 0142 5F4F                  sbci r21,hhi8(-1000000)
 161 0144 04F4                  brge .L12
 162 0146 80EC                  ldi r24,lo8(-1000000)
 163 0148 9DEB                  ldi r25,hi8(-1000000)
 164 014a A0EF                  ldi r26,hlo8(-1000000)
 165 014c BFEF                  ldi r27,hhi8(-1000000)
 166                    .L20:
 167 014e 8093 0000             sts altIntegral,r24
 168 0152 9093 0000             sts (altIntegral)+1,r25
 169 0156 A093 0000             sts (altIntegral)+2,r26
 170 015a B093 0000             sts (altIntegral)+3,r27
 171                    .L12:
 172 015e A090 0000             lds r10,altIntegral
 173 0162 B090 0000             lds r11,(altIntegral)+1
 174 0166 C090 0000             lds r12,(altIntegral)+2
 175 016a D090 0000             lds r13,(altIntegral)+3
 176 016e 9090 0000             lds r9,Parameter_Luftdruck_D
 177 0172 C091 0000             lds r28,lastError
 178 0176 D091 0000             lds r29,(lastError)+1
 179 017a 6091 0000             lds r22,Mess_Integral_Hoch
 180 017e 7091 0000             lds r23,(Mess_Integral_Hoch)+1
 181 0182 8091 0000             lds r24,(Mess_Integral_Hoch)+2
 182 0186 9091 0000             lds r25,(Mess_Integral_Hoch)+3
 183 018a 20E8                  ldi r18,lo8(128)
 184 018c 30E0                  ldi r19,hi8(128)
 185 018e 40E0                  ldi r20,hlo8(128)
 186 0190 50E0                  ldi r21,hhi8(128)
 187 0192 0E94 0000             call __divmodsi4
 188 0196 CA01                  movw r24,r20
 189 0198 B901                  movw r22,r18
 190 019a 2091 0000             lds r18,accZOffset
 191 019e 3091 0000             lds r19,(accZOffset)+1
 192 01a2 4427                  clr r20
 193 01a4 37FD                  sbrc r19,7
 194 01a6 4095                  com r20
 195 01a8 542F                  mov r21,r20
 196 01aa 621B                  sub r22,r18
 197 01ac 730B                  sbc r23,r19
 198 01ae 840B                  sbc r24,r20
 199 01b0 950B                  sbc r25,r21
 200 01b2 2091 0000             lds r18,Parameter_Hoehe_ACC_Wirkung
 201 01b6 30E0                  ldi r19,lo8(0)
 202 01b8 40E0                  ldi r20,lo8(0)
 203 01ba 50E0                  ldi r21,hi8(0)
 204 01bc 0E94 0000             call __mulsi3
 205 01c0 20E2                  ldi r18,lo8(32)
 206 01c2 30E0                  ldi r19,hi8(32)
 207 01c4 40E0                  ldi r20,hlo8(32)
 208 01c6 50E0                  ldi r21,hhi8(32)
 209 01c8 0E94 0000             call __divmodsi4
 210 01cc C901                  movw r24,r18
 211 01ce 3093 0000             sts (temp)+1,r19
 212 01d2 2093 0000             sts temp,r18
 213 01d6 21E0                  ldi r18,hi8(281)
 214 01d8 8931                  cpi r24,lo8(281)
 215 01da 9207                  cpc r25,r18
 216 01dc 04F0                  brlt .L13
 217 01de 88E1                  ldi r24,lo8(280)
 218 01e0 91E0                  ldi r25,hi8(280)
 219 01e2 00C0                  rjmp .L21
 220                    .L13:
 221 01e4 885E                  subi r24,lo8(-280)
 222 01e6 9E4F                  sbci r25,hi8(-280)
 223 01e8 04F4                  brge .L14
 224 01ea 88EE                  ldi r24,lo8(-280)
 225 01ec 9EEF                  ldi r25,hi8(-280)
 226                    .L21:
 227 01ee 9093 0000             sts (temp)+1,r25
 228 01f2 8093 0000             sts temp,r24
 229                    .L14:
 230 01f6 802F                  mov r24,r16
 231 01f8 90E0                  ldi r25,lo8(0)
 232 01fa AC01                  movw r20,r24
 233 01fc 4E9D                  mul r20,r14
 234 01fe C001                  movw r24,r0
 235 0200 4F9D                  mul r20,r15
 236 0202 900D                  add r25,r0
 237 0204 5E9D                  mul r21,r14
 238 0206 900D                  add r25,r0
 239 0208 1124                  clr r1
 240 020a 64E0                  ldi r22,lo8(4)
 241 020c 70E0                  ldi r23,hi8(4)
 242 020e 0E94 0000             call __divmodhi4
 243 0212 8B01                  movw r16,r22
 244 0214 C601                  movw r24,r12
 245 0216 B501                  movw r22,r10
 246 0218 20EA                  ldi r18,lo8(4000)
 247 021a 3FE0                  ldi r19,hi8(4000)
 248 021c 40E0                  ldi r20,hlo8(4000)
 249 021e 50E0                  ldi r21,hhi8(4000)
 250 0220 0E94 0000             call __divmodsi4
 251 0224 020F                  add r16,r18
 252 0226 131F                  adc r17,r19
 253 0228 9701                  movw r18,r14
 254 022a 2C1B                  sub r18,r28
 255 022c 3D0B                  sbc r19,r29
 256 022e 892D                  mov r24,r9
 257 0230 90E0                  ldi r25,lo8(0)
 258 0232 BC01                  movw r22,r24
 259 0234 269F                  mul r18,r22
 260 0236 C001                  movw r24,r0
 261 0238 279F                  mul r18,r23
 262 023a 900D                  add r25,r0
 263 023c 369F                  mul r19,r22
 264 023e 900D                  add r25,r0
 265 0240 1124                  clr r1
 266 0242 62E0                  ldi r22,lo8(2)
 267 0244 70E0                  ldi r23,hi8(2)
 268 0246 0E94 0000             call __divmodhi4
 269 024a 8091 0000             lds r24,temp
 270 024e 9091 0000             lds r25,(temp)+1
 271 0252 680F                  add r22,r24
 272 0254 791F                  adc r23,r25
 273 0256 600F                  add r22,r16
 274 0258 711F                  adc r23,r17
 275 025a 8091 0000             lds r24,EE_Parameter+13
 276 025e 90E0                  ldi r25,lo8(0)
 277 0260 9C01                  movw r18,r24
 278 0262 629F                  mul r22,r18
 279 0264 C001                  movw r24,r0
 280 0266 639F                  mul r22,r19
 281 0268 900D                  add r25,r0
 282 026a 729F                  mul r23,r18
 283 026c 900D                  add r25,r0
 284 026e 1124                  clr r1
 285 0270 6AE0                  ldi r22,lo8(10)
 286 0272 70E0                  ldi r23,hi8(10)
 287 0274 0E94 0000             call __divmodhi4
 288 0278 8091 0000             lds r24,EE_Parameter+11
 289 027c 90E0                  ldi r25,lo8(0)
 290 027e 880F                  lsl r24
 291 0280 991F                  rol r25
 292 0282 880F                  lsl r24
 293 0284 991F                  rol r25
 294 0286 8617                  cp r24,r22
 295 0288 9707                  cpc r25,r23
 296 028a 04F4                  brge .L15
 297 028c EC01                  movw r28,r24
 298 028e 00C0                  rjmp .L16
 299                    .L15:
 300 0290 2227                  clr r18
 301 0292 3327                  clr r19
 302 0294 281B                  sub r18,r24
 303 0296 390B                  sbc r19,r25
 304 0298 EB01                  movw r28,r22
 305 029a 6217                  cp r22,r18
 306 029c 7307                  cpc r23,r19
 307 029e 04F4                  brge .L16
 308 02a0 E901                  movw r28,r18
 309                    .L16:
 310 02a2 D093 0000             sts (lastN)+1,r29
 311 02a6 C093 0000             sts lastN,r28
 312 02aa F092 0000             sts (lastError)+1,r15
 313 02ae E092 0000             sts lastError,r14
 314 02b2 2091 0000             lds r18,averageN
 315 02b6 3091 0000             lds r19,(averageN)+1
 316 02ba AE01                  movw r20,r28
 317 02bc 421B                  sub r20,r18
 318 02be 530B                  sbc r21,r19
 319 02c0 8091 0000             lds r24,EE_Parameter+32
 320 02c4 90E0                  ldi r25,lo8(0)
 321 02c6 BC01                  movw r22,r24
 322 02c8 469F                  mul r20,r22
 323 02ca C001                  movw r24,r0
 324 02cc 479F                  mul r20,r23
 325 02ce 900D                  add r25,r0
 326 02d0 569F                  mul r21,r22
 327 02d2 900D                  add r25,r0
 328 02d4 1124                  clr r1
 329 02d6 64E6                  ldi r22,lo8(100)
 330 02d8 70E0                  ldi r23,hi8(100)
 331 02da 0E94 0000             call __divmodhi4
 332 02de 260F                  add r18,r22
 333 02e0 371F                  adc r19,r23
 334 02e2 3093 0000             sts (averageN)+1,r19
 335 02e6 2093 0000             sts averageN,r18
 336 02ea 00C0                  rjmp .L18
 337                    .L10:
 338 02ec C0E0                  ldi r28,lo8(0)
 339 02ee D0E0                  ldi r29,hi8(0)
 340                    .L18:
 341 02f0 6091 0000             lds r22,altIntegral
 342 02f4 7091 0000             lds r23,(altIntegral)+1
 343 02f8 8091 0000             lds r24,(altIntegral)+2
 344 02fc 9091 0000             lds r25,(altIntegral)+3
 345 0300 20EA                  ldi r18,lo8(4000)
 346 0302 3FE0                  ldi r19,hi8(4000)
 347 0304 40E0                  ldi r20,hlo8(4000)
 348 0306 50E0                  ldi r21,hhi8(4000)
 349 0308 0E94 0000             call __divmodsi4
 350 030c 3093 0000             sts (DebugOut+62)+1,r19
 351 0310 2093 0000             sts DebugOut+62,r18
 352 0314 D093 0000             sts (DebugOut+56)+1,r29
 353 0318 C093 0000             sts DebugOut+56,r28
 354 031c CE01                  movw r24,r28
 355                    /* epilogue start */
 356 031e DF91                  pop r29
 357 0320 CF91                  pop r28
 358 0322 1F91                  pop r17
 359 0324 0F91                  pop r16
 360 0326 FF90                  pop r15
 361 0328 EF90                  pop r14
 362 032a DF90                  pop r13
 363 032c CF90                  pop r12
 364 032e BF90                  pop r11
 365 0330 AF90                  pop r10
 366 0332 9F90                  pop r9
 367 0334 0895                  ret
 369                    .global enabled
 370                    .global enabled
 371                            .section .bss
 374                    enabled:
 375 0000 00                    .skip 1,0
 376                    .global pressureOffset
 377                    .global pressureOffset
 380                    pressureOffset:
 381 0001 0000                  .skip 2,0
 382                    .global accZOffset
 383                    .global accZOffset
 386                    accZOffset:
 387 0003 0000                  .skip 2,0
 388                    .global lastError
 389                    .global lastError
 392                    lastError:
 393 0005 0000                  .skip 2,0
 394                    .global lastN
 395                    .global lastN
 398                    lastN:
 399 0007 0000                  .skip 2,0
 400                    .global averageN
 401                    .global averageN
 404                    averageN:
 405 0009 0000                  .skip 2,0
 406                    .global altIntegral
 407                    .global altIntegral
 410                    altIntegral:
 411 000b 0000 0000             .skip 4,0
 412                            .comm temp,2,1
DEFINED SYMBOLS
                            *ABS*:00000000 altcon.c
  c:\TEMP/cc6NfIds.s:2      *ABS*:0000003f __SREG__
  c:\TEMP/cc6NfIds.s:3      *ABS*:0000003e __SP_H__
  c:\TEMP/cc6NfIds.s:4      *ABS*:0000003d __SP_L__
  c:\TEMP/cc6NfIds.s:5      *ABS*:00000034 __CCP__
  c:\TEMP/cc6NfIds.s:6      *ABS*:00000000 __tmp_reg__
  c:\TEMP/cc6NfIds.s:7      *ABS*:00000001 __zero_reg__
  c:\TEMP/cc6NfIds.s:13     .text:00000000 altcon_init
  c:\TEMP/cc6NfIds.s:374    .bss:00000000 enabled
  c:\TEMP/cc6NfIds.s:26     .text:00000012 altcon_lock
  c:\TEMP/cc6NfIds.s:380    .bss:00000001 pressureOffset
  c:\TEMP/cc6NfIds.s:38     .text:00000024 altcon_start
  c:\TEMP/cc6NfIds.s:386    .bss:00000003 accZOffset
  c:\TEMP/cc6NfIds.s:392    .bss:00000005 lastError
  c:\TEMP/cc6NfIds.s:398    .bss:00000007 lastN
  c:\TEMP/cc6NfIds.s:404    .bss:00000009 averageN
  c:\TEMP/cc6NfIds.s:410    .bss:0000000b altIntegral
  c:\TEMP/cc6NfIds.s:71     .text:0000007e altcon_stop
  c:\TEMP/cc6NfIds.s:84     .text:00000090 altcon_error
                            *COM*:00000002 temp

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
beeptime
airPressure
Mess_Integral_Hoch
__divmodsi4
Notlandung
Parameter_Hoehe_P
EE_Parameter
__divmodhi4
Parameter_Luftdruck_D
Parameter_Hoehe_ACC_Wirkung
__mulsi3
DebugOut