Subversion Repositories Projects

Rev

Blame | Last modification | View Log | RSS feed

   1                            .file   "capacity.c"
   2                    __SREG__ = 0x3f
   3                    __SP_H__ = 0x3e
   4                    __SP_L__ = 0x3d
   5                    __tmp_reg__ = 0
   6                    __zero_reg__ = 1
   7                            .global __do_copy_data
   8                            .global __do_clear_bss
   9                            .text
  10                    .global Capacity_Update
  12                    Capacity_Update:
  13                    /* prologue: frame size=0 */
  14                    /* prologue end (size=0) */
  15 0000 8091 0000             lds r24,update_timer
  16 0004 9091 0000             lds r25,(update_timer)+1
  17 0008 0E94 0000             call CheckDelay
  18 000c 8823                  tst r24
  19 000e 01F4                  brne .+2
  20 0010 00C0                  rjmp .L19
  21 0012 8091 0000             lds r24,update_timer
  22 0016 9091 0000             lds r25,(update_timer)+1
  23 001a 0A96                  adiw r24,10
  24 001c 9093 0000             sts (update_timer)+1,r25
  25 0020 8093 0000             sts update_timer,r24
  26 0024 E0E0                  ldi r30,lo8(Motor)
  27 0026 F0E0                  ldi r31,hi8(Motor)
  28 0028 60E0                  ldi r22,lo8(0)
  29 002a 70E0                  ldi r23,hi8(0)
  30 002c 40E0                  ldi r20,lo8(0)
  31 002e 50E0                  ldi r21,hi8(0)
  32 0030 90E0                  ldi r25,lo8(0)
  33 0032 AFEF                  ldi r26,lo8(-1)
  34                    .L4:
  35 0034 8381                  ldd r24,Z+3
  36 0036 87FF                  sbrs r24,7
  37 0038 00C0                  rjmp .L5
  38 003a 9F5F                  subi r25,lo8(-(1))
  39 003c 8581                  ldd r24,Z+5
  40 003e 680F                  add r22,r24
  41 0040 711D                  adc r23,__zero_reg__
  42 0042 8181                  ldd r24,Z+1
  43 0044 480F                  add r20,r24
  44 0046 511D                  adc r21,__zero_reg__
  45 0048 8681                  ldd r24,Z+6
  46 004a 8A17                  cp r24,r26
  47 004c 00F4                  brsh .L5
  48 004e A82F                  mov r26,r24
  49                    .L5:
  50 0050 3896                  adiw r30,8
  51 0052 20E0                  ldi r18,hi8(Motor+96)
  52 0054 E030                  cpi r30,lo8(Motor+96)
  53 0056 F207                  cpc r31,r18
  54 0058 01F4                  brne .L4
  55 005a A093 0000             sts Capacity+6,r26
  56 005e 452B                  or r20,r21
  57 0060 01F4                  brne .L9
  58 0062 8091 0000             lds r24,SumCurrentOffset.2516
  59 0066 9091 0000             lds r25,(SumCurrentOffset.2516)+1
  60 006a A091 0000             lds r26,(SumCurrentOffset.2516)+2
  61 006e B091 0000             lds r27,(SumCurrentOffset.2516)+3
  62 0072 292F                  mov r18,r25
  63 0074 3A2F                  mov r19,r26
  64 0076 4B2F                  mov r20,r27
  65 0078 5527                  clr r21
  66 007a 3093 0000             sts (CurrentOffset.2515)+1,r19
  67 007e 2093 0000             sts CurrentOffset.2515,r18
  68 0082 40E0                  ldi r20,lo8(0)
  69 0084 50E0                  ldi r21,hi8(0)
  70 0086 821B                  sub r24,r18
  71 0088 930B                  sbc r25,r19
  72 008a A40B                  sbc r26,r20
  73 008c B50B                  sbc r27,r21
  74 008e 9B01                  movw r18,r22
  75 0090 40E0                  ldi r20,lo8(0)
  76 0092 50E0                  ldi r21,hi8(0)
  77 0094 820F                  add r24,r18
  78 0096 931F                  adc r25,r19
  79 0098 A41F                  adc r26,r20
  80 009a B51F                  adc r27,r21
  81 009c 8093 0000             sts SumCurrentOffset.2516,r24
  82 00a0 9093 0000             sts (SumCurrentOffset.2516)+1,r25
  83 00a4 A093 0000             sts (SumCurrentOffset.2516)+2,r26
  84 00a8 B093 0000             sts (SumCurrentOffset.2516)+3,r27
  85 00ac E5E0                  ldi r30,lo8(5)
  86 00ae F0E0                  ldi r31,hi8(5)
  87 00b0 00C0                  rjmp .L11
  88                    .L9:
  89 00b2 2091 0000             lds r18,CurrentOffset.2515
  90 00b6 3091 0000             lds r19,(CurrentOffset.2515)+1
  91 00ba 2617                  cp r18,r22
  92 00bc 3707                  cpc r19,r23
  93 00be 00F0                  brlo .L12
  94 00c0 20E0                  ldi r18,lo8(0)
  95 00c2 30E0                  ldi r19,hi8(0)
  96 00c4 00C0                  rjmp .L14
  97                    .L12:
  98 00c6 621B                  sub r22,r18
  99 00c8 730B                  sbc r23,r19
 100 00ca 9B01                  movw r18,r22
 101                    .L14:
 102 00cc E92F                  mov r30,r25
 103 00ce F0E0                  ldi r31,lo8(0)
 104 00d0 EE0F                  lsl r30
 105 00d2 FF1F                  rol r31
 106 00d4 3596                  adiw r30,5
 107 00d6 E20F                  add r30,r18
 108 00d8 F31F                  adc r31,r19
 109                    .L11:
 110 00da F093 0000             sts (Capacity)+1,r31
 111 00de E093 0000             sts Capacity,r30
 112 00e2 EF3F                  cpi r30,255
 113 00e4 F105                  cpc r31,__zero_reg__
 114 00e6 00F4                  brsh .L15
 115 00e8 8091 0000             lds r24,UBat
 116 00ec 9091 0000             lds r25,(UBat)+1
 117 00f0 AC01                  movw r20,r24
 118 00f2 E49F                  mul r30,r20
 119 00f4 C001                  movw r24,r0
 120 00f6 E59F                  mul r30,r21
 121 00f8 900D                  add r25,r0
 122 00fa F49F                  mul r31,r20
 123 00fc 900D                  add r25,r0
 124 00fe 1124                  clr r1
 125 0100 64E6                  ldi r22,lo8(100)
 126 0102 70E0                  ldi r23,hi8(100)
 127 0104 00C0                  rjmp .L22
 128                    .L15:
 129 0106 8091 0000             lds r24,UBat
 130 010a 9091 0000             lds r25,(UBat)+1
 131 010e 9F01                  movw r18,r30
 132 0110 3695                  lsr r19
 133 0112 2795                  ror r18
 134 0114 3695                  lsr r19
 135 0116 2795                  ror r18
 136 0118 AC01                  movw r20,r24
 137 011a 249F                  mul r18,r20
 138 011c C001                  movw r24,r0
 139 011e 259F                  mul r18,r21
 140 0120 900D                  add r25,r0
 141 0122 349F                  mul r19,r20
 142 0124 900D                  add r25,r0
 143 0126 1124                  clr r1
 144 0128 69E1                  ldi r22,lo8(25)
 145 012a 70E0                  ldi r23,hi8(25)
 146                    .L22:
 147 012c 0E94 0000             call __udivmodhi4
 148 0130 7093 0000             sts (Capacity+2)+1,r23
 149 0134 6093 0000             sts Capacity+2,r22
 150 0138 2091 0000             lds r18,SubCounter.2514
 151 013c 3091 0000             lds r19,(SubCounter.2514)+1
 152 0140 2E0F                  add r18,r30
 153 0142 3F1F                  adc r19,r31
 154 0144 3093 0000             sts (SubCounter.2514)+1,r19
 155 0148 2093 0000             sts SubCounter.2514,r18
 156 014c 5EE0                  ldi r21,hi8(3601)
 157 014e 2131                  cpi r18,lo8(3601)
 158 0150 3507                  cpc r19,r21
 159 0152 00F0                  brlo .L19
 160 0154 8091 0000             lds r24,Capacity+4
 161 0158 9091 0000             lds r25,(Capacity+4)+1
 162 015c 0196                  adiw r24,1
 163 015e 9093 0000             sts (Capacity+4)+1,r25
 164 0162 8093 0000             sts Capacity+4,r24
 165 0166 2051                  subi r18,lo8(-(-3600))
 166 0168 3E40                  sbci r19,hi8(-(-3600))
 167 016a 3093 0000             sts (SubCounter.2514)+1,r19
 168 016e 2093 0000             sts SubCounter.2514,r18
 169                    .L19:
 170 0172 0895                  ret
 171                    /* epilogue: frame size=0 */
 172                    /* epilogue: noreturn */
 173                    /* epilogue end (size=0) */
 174                    /* function Capacity_Update size 186 (186) */
 176                    .global Capacity_Init
 178                    Capacity_Init:
 179                    /* prologue: frame size=0 */
 180                    /* prologue end (size=0) */
 181 0174 1092 0000             sts (Capacity)+1,__zero_reg__
 182 0178 1092 0000             sts Capacity,__zero_reg__
 183 017c 1092 0000             sts (Capacity+4)+1,__zero_reg__
 184 0180 1092 0000             sts Capacity+4,__zero_reg__
 185 0184 1092 0000             sts (Capacity+2)+1,__zero_reg__
 186 0188 1092 0000             sts Capacity+2,__zero_reg__
 187 018c 1092 0000             sts Capacity+6,__zero_reg__
 188 0190 8AE0                  ldi r24,lo8(10)
 189 0192 90E0                  ldi r25,hi8(10)
 190 0194 0E94 0000             call SetDelay
 191 0198 9093 0000             sts (update_timer)+1,r25
 192 019c 8093 0000             sts update_timer,r24
 193                    /* epilogue: frame size=0 */
 194 01a0 0895                  ret
 195                    /* epilogue end (size=1) */
 196                    /* function Capacity_Init size 23 (22) */
 198                    .global update_timer
 199                    .global update_timer
 200                            .section .bss
 203                    update_timer:
 204 0000 0000                  .skip 2,0
 205                            .lcomm SumCurrentOffset.2516,4
 206                            .lcomm CurrentOffset.2515,2
 207                            .lcomm SubCounter.2514,2
 208                            .comm Capacity,7,1
 209                    /* File "capacity.c": code  209 = 0x00d1 ( 208), prologues   0, epilogues   1 */
DEFINED SYMBOLS
                            *ABS*:00000000 capacity.c
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccgWDiSh.s:2      *ABS*:0000003f __SREG__
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccgWDiSh.s:3      *ABS*:0000003e __SP_H__
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccgWDiSh.s:4      *ABS*:0000003d __SP_L__
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccgWDiSh.s:5      *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccgWDiSh.s:6      *ABS*:00000001 __zero_reg__
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccgWDiSh.s:12     .text:00000000 Capacity_Update
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccgWDiSh.s:203    .bss:00000000 update_timer
                            *COM*:00000007 Capacity
                             .bss:00000002 SumCurrentOffset.2516
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccgWDiSh.s:205    .bss:00000006 CurrentOffset.2515
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccgWDiSh.s:206    .bss:00000008 SubCounter.2514
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccgWDiSh.s:178    .text:00000174 Capacity_Init

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
CheckDelay
Motor
UBat
__udivmodhi4
SetDelay