Subversion Repositories FlightCtrl

Rev

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

   1                            .file   "capacity.c"
   2                            .arch atmega644p
   3                    __SREG__ = 0x3f
   4                    __SP_H__ = 0x3e
   5                    __SP_L__ = 0x3d
   6                    __tmp_reg__ = 0
   7                    __zero_reg__ = 1
   8                            .global __do_copy_data
   9                            .global __do_clear_bss
  10                    .global update_timer
  11                    .global update_timer
  12                            .section .bss
  15                    update_timer:
  16 0000 0000                  .skip 2,0
  17                            .text
  18                    .global Capacity_Init
  20                    Capacity_Init:
  21                    /* prologue: frame size=0 */
  22                    /* prologue end (size=0) */
  23 0000 1092 0000             sts (Capacity)+1,__zero_reg__
  24 0004 1092 0000             sts Capacity,__zero_reg__
  25 0008 1092 0000             sts (Capacity+4)+1,__zero_reg__
  26 000c 1092 0000             sts Capacity+4,__zero_reg__
  27 0010 1092 0000             sts (Capacity+2)+1,__zero_reg__
  28 0014 1092 0000             sts Capacity+2,__zero_reg__
  29 0018 1092 0000             sts Capacity+8,__zero_reg__
  30 001c 9091 0000             lds r25,EE_Parameter+41
  31 0020 84E6                  ldi r24,lo8(100)
  32 0022 989F                  mul r25,r24
  33 0024 C001                  movw r24,r0
  34 0026 1124                  clr r1
  35 0028 9093 0000             sts (Capacity+6)+1,r25
  36 002c 8093 0000             sts Capacity+6,r24
  37 0030 8AE0                  ldi r24,lo8(10)
  38 0032 90E0                  ldi r25,hi8(10)
  39 0034 0E94 0000             call SetDelay
  40 0038 9093 0000             sts (update_timer)+1,r25
  41 003c 8093 0000             sts update_timer,r24
  42                    /* epilogue: frame size=0 */
  43 0040 0895                  ret
  44                    /* epilogue end (size=1) */
  45                    /* function Capacity_Init size 33 (32) */
  47                            .lcomm SubCounter.0,2
  48                            .lcomm CurrentOffset.1,2
  49                            .lcomm SumCurrentOffset.2,4
  50                    .global Capacity_Update
  52                    Capacity_Update:
  53                    /* prologue: frame size=0 */
  54 0042 CF93                  push r28
  55 0044 DF93                  push r29
  56                    /* prologue end (size=2) */
  57 0046 8091 0000             lds r24,update_timer
  58 004a 9091 0000             lds r25,(update_timer)+1
  59 004e 0E94 0000             call CheckDelay
  60 0052 8823                  tst r24
  61 0054 09F4                  brne .+2
  62 0056 CEC0                  rjmp .L2
  63 0058 8091 0000             lds r24,update_timer
  64 005c 9091 0000             lds r25,(update_timer)+1
  65 0060 0A96                  adiw r24,10
  66 0062 9093 0000             sts (update_timer)+1,r25
  67 0066 8093 0000             sts update_timer,r24
  68 006a E0E0                  ldi r30,lo8(0)
  69 006c F0E0                  ldi r31,hi8(0)
  70 006e 9F01                  movw r18,r30
  71 0070 90E0                  ldi r25,lo8(0)
  72 0072 5FEF                  ldi r21,lo8(-1)
  73 0074 A0E0                  ldi r26,lo8(Motor)
  74 0076 B0E0                  ldi r27,hi8(Motor)
  75 0078 4BE0                  ldi r20,lo8(11)
  76                    .L9:
  77 007a ED01                  movw r28,r26
  78 007c 8B81                  ldd r24,Y+3
  79 007e 87FF                  sbrs r24,7
  80 0080 0BC0                  rjmp .L6
  81 0082 9F5F                  subi r25,lo8(-(1))
  82 0084 8D81                  ldd r24,Y+5
  83 0086 E80F                  add r30,r24
  84 0088 F11D                  adc r31,__zero_reg__
  85 008a 8981                  ldd r24,Y+1
  86 008c 280F                  add r18,r24
  87 008e 311D                  adc r19,__zero_reg__
  88 0090 8E81                  ldd r24,Y+6
  89 0092 8517                  cp r24,r21
  90 0094 08F4                  brsh .L6
  91 0096 582F                  mov r21,r24
  92                    .L6:
  93 0098 4150                  subi r20,lo8(-(-1))
  94 009a 1896                  adiw r26,8
  95 009c 47FF                  sbrs r20,7
  96 009e EDCF                  rjmp .L9
  97 00a0 5093 0000             sts Capacity+8,r21
  98 00a4 232B                  or r18,r19
  99 00a6 41F5                  brne .L10
 100 00a8 2091 0000             lds r18,SumCurrentOffset.2
 101 00ac 3091 0000             lds r19,(SumCurrentOffset.2)+1
 102 00b0 4091 0000             lds r20,(SumCurrentOffset.2)+2
 103 00b4 5091 0000             lds r21,(SumCurrentOffset.2)+3
 104 00b8 BB27                  clr r27
 105 00ba A52F                  mov r26,r21
 106 00bc 942F                  mov r25,r20
 107 00be 832F                  mov r24,r19
 108 00c0 9093 0000             sts (CurrentOffset.1)+1,r25
 109 00c4 8093 0000             sts CurrentOffset.1,r24
 110 00c8 AA27                  clr r26
 111 00ca BB27                  clr r27
 112 00cc 281B                  sub r18,r24
 113 00ce 390B                  sbc r19,r25
 114 00d0 4A0B                  sbc r20,r26
 115 00d2 5B0B                  sbc r21,r27
 116 00d4 CF01                  movw r24,r30
 117 00d6 AA27                  clr r26
 118 00d8 BB27                  clr r27
 119 00da 280F                  add r18,r24
 120 00dc 391F                  adc r19,r25
 121 00de 4A1F                  adc r20,r26
 122 00e0 5B1F                  adc r21,r27
 123 00e2 2093 0000             sts SumCurrentOffset.2,r18
 124 00e6 3093 0000             sts (SumCurrentOffset.2)+1,r19
 125 00ea 4093 0000             sts (SumCurrentOffset.2)+2,r20
 126 00ee 5093 0000             sts (SumCurrentOffset.2)+3,r21
 127 00f2 E5E0                  ldi r30,lo8(5)
 128 00f4 F0E0                  ldi r31,hi8(5)
 129 00f6 13C0                  rjmp .L11
 130                    .L10:
 131 00f8 2091 0000             lds r18,CurrentOffset.1
 132 00fc 3091 0000             lds r19,(CurrentOffset.1)+1
 133 0100 2E17                  cp r18,r30
 134 0102 3F07                  cpc r19,r31
 135 0104 18F4                  brsh .L12
 136 0106 E21B                  sub r30,r18
 137 0108 F30B                  sbc r31,r19
 138 010a 02C0                  rjmp .L13
 139                    .L12:
 140 010c E0E0                  ldi r30,lo8(0)
 141 010e F0E0                  ldi r31,hi8(0)
 142                    .L13:
 143 0110 892F                  mov r24,r25
 144 0112 9927                  clr r25
 145 0114 880F                  add r24,r24
 146 0116 991F                  adc r25,r25
 147 0118 E80F                  add r30,r24
 148 011a F91F                  adc r31,r25
 149 011c 3596                  adiw r30,5
 150                    .L11:
 151 011e F093 0000             sts (Capacity)+1,r31
 152 0122 E093 0000             sts Capacity,r30
 153 0126 EF3F                  cpi r30,255
 154 0128 F105                  cpc r31,__zero_reg__
 155 012a 78F4                  brsh .L14
 156 012c 8091 0000             lds r24,UBat
 157 0130 9091 0000             lds r25,(UBat)+1
 158 0134 8E9F                  mul r24,r30
 159 0136 9001                  movw r18,r0
 160 0138 8F9F                  mul r24,r31
 161 013a 300D                  add r19,r0
 162 013c 9E9F                  mul r25,r30
 163 013e 300D                  add r19,r0
 164 0140 1124                  clr r1
 165 0142 C901                  movw r24,r18
 166 0144 64E6                  ldi r22,lo8(100)
 167 0146 70E0                  ldi r23,hi8(100)
 168 0148 13C0                  rjmp .L20
 169                    .L14:
 170 014a CF01                  movw r24,r30
 171 014c 9695                  lsr r25
 172 014e 8795                  ror r24
 173 0150 9695                  lsr r25
 174 0152 8795                  ror r24
 175 0154 2091 0000             lds r18,UBat
 176 0158 3091 0000             lds r19,(UBat)+1
 177 015c 289F                  mul r18,r24
 178 015e A001                  movw r20,r0
 179 0160 299F                  mul r18,r25
 180 0162 500D                  add r21,r0
 181 0164 389F                  mul r19,r24
 182 0166 500D                  add r21,r0
 183 0168 1124                  clr r1
 184 016a CA01                  movw r24,r20
 185 016c 69E1                  ldi r22,lo8(25)
 186 016e 70E0                  ldi r23,hi8(25)
 187                    .L20:
 188 0170 0E94 0000             call __udivmodhi4
 189 0174 7093 0000             sts (Capacity+2)+1,r23
 190 0178 6093 0000             sts Capacity+2,r22
 191 017c 2091 0000             lds r18,SubCounter.0
 192 0180 3091 0000             lds r19,(SubCounter.0)+1
 193 0184 2E0F                  add r18,r30
 194 0186 3F1F                  adc r19,r31
 195 0188 3093 0000             sts (SubCounter.0)+1,r19
 196 018c 2093 0000             sts SubCounter.0,r18
 197 0190 5EE0                  ldi r21,hi8(3601)
 198 0192 2131                  cpi r18,lo8(3601)
 199 0194 3507                  cpc r19,r21
 200 0196 70F1                  brlo .L2
 201 0198 8091 0000             lds r24,Capacity+4
 202 019c 9091 0000             lds r25,(Capacity+4)+1
 203 01a0 0196                  adiw r24,1
 204 01a2 9093 0000             sts (Capacity+4)+1,r25
 205 01a6 8093 0000             sts Capacity+4,r24
 206 01aa 2051                  subi r18,lo8(-(-3600))
 207 01ac 3E40                  sbci r19,hi8(-(-3600))
 208 01ae 3093 0000             sts (SubCounter.0)+1,r19
 209 01b2 2093 0000             sts SubCounter.0,r18
 210 01b6 4091 0000             lds r20,EE_Parameter+41
 211 01ba 24E6                  ldi r18,lo8(100)
 212 01bc 429F                  mul r20,r18
 213 01be 9001                  movw r18,r0
 214 01c0 1124                  clr r1
 215 01c2 281B                  sub r18,r24
 216 01c4 390B                  sbc r19,r25
 217 01c6 3093 0000             sts (Capacity+6)+1,r19
 218 01ca 2093 0000             sts Capacity+6,r18
 219 01ce 81E0                  ldi r24,hi8(501)
 220 01d0 253F                  cpi r18,lo8(501)
 221 01d2 3807                  cpc r19,r24
 222 01d4 7CF4                  brge .L2
 223 01d6 C901                  movw r24,r18
 224 01d8 64E6                  ldi r22,lo8(100)
 225 01da 70E0                  ldi r23,hi8(100)
 226 01dc 0E94 0000             call __divmodhi4
 227 01e0 892B                  or r24,r25
 228 01e2 41F4                  brne .L2
 229 01e4 4423                  tst r20
 230 01e6 31F0                  breq .L2
 231 01e8 80E1                  ldi r24,lo8(10000)
 232 01ea 97E2                  ldi r25,hi8(10000)
 233 01ec 9093 0000             sts (beeptime)+1,r25
 234 01f0 8093 0000             sts beeptime,r24
 235                    .L2:
 236                    /* epilogue: frame size=0 */
 237 01f4 DF91                  pop r29
 238 01f6 CF91                  pop r28
 239 01f8 0895                  ret
 240                    /* epilogue end (size=3) */
 241                    /* function Capacity_Update size 220 (215) */
 243                            .comm Capacity,9,1
 244                    /* File "capacity.c": code  253 = 0x00fd ( 247), prologues   2, epilogues   4 */
DEFINED SYMBOLS
                            *ABS*:00000000 capacity.c
C:\Users\Thomas\AppData\Local\Temp/ccENaaaa.s:3      *ABS*:0000003f __SREG__
C:\Users\Thomas\AppData\Local\Temp/ccENaaaa.s:4      *ABS*:0000003e __SP_H__
C:\Users\Thomas\AppData\Local\Temp/ccENaaaa.s:5      *ABS*:0000003d __SP_L__
C:\Users\Thomas\AppData\Local\Temp/ccENaaaa.s:6      *ABS*:00000000 __tmp_reg__
C:\Users\Thomas\AppData\Local\Temp/ccENaaaa.s:7      *ABS*:00000001 __zero_reg__
C:\Users\Thomas\AppData\Local\Temp/ccENaaaa.s:15     .bss:00000000 update_timer
C:\Users\Thomas\AppData\Local\Temp/ccENaaaa.s:20     .text:00000000 Capacity_Init
                            *COM*:00000009 Capacity
                             .bss:00000002 SubCounter.0
C:\Users\Thomas\AppData\Local\Temp/ccENaaaa.s:47     .bss:00000004 CurrentOffset.1
C:\Users\Thomas\AppData\Local\Temp/ccENaaaa.s:48     .bss:00000006 SumCurrentOffset.2
C:\Users\Thomas\AppData\Local\Temp/ccENaaaa.s:52     .text:00000042 Capacity_Update

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
EE_Parameter
SetDelay
CheckDelay
Motor
UBat
__udivmodhi4
__divmodhi4
beeptime