Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 1996 → Rev 1997

/branches/V0.86d_MartinW_Jeti+V0.20/capacity.lst
0,0 → 1,286
1 .file "capacity.c"
2 .arch atmega1284p
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 01F4 brne .+2
62 0056 00C0 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 00C0 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 00F4 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 00C0 rjmp .L9
97 00a0 5093 0000 sts Capacity+8,r21
98 00a4 232B or r18,r19
99 00a6 01F4 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 00C0 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 00F4 brsh .L12
136 0106 E21B sub r30,r18
137 0108 F30B sbc r31,r19
138 010a 00C0 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 00F4 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 00C0 rjmp .L21
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 .L21:
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 00F4 brsh .+2
201 0198 00C0 rjmp .L2
202 019a 8091 0000 lds r24,Capacity+4
203 019e 9091 0000 lds r25,(Capacity+4)+1
204 01a2 0196 adiw r24,1
205 01a4 9093 0000 sts (Capacity+4)+1,r25
206 01a8 8093 0000 sts Capacity+4,r24
207 01ac 2051 subi r18,lo8(-(-3600))
208 01ae 3E40 sbci r19,hi8(-(-3600))
209 01b0 3093 0000 sts (SubCounter.0)+1,r19
210 01b4 2093 0000 sts SubCounter.0,r18
211 01b8 4091 0000 lds r20,EE_Parameter+41
212 01bc 24E6 ldi r18,lo8(100)
213 01be 429F mul r20,r18
214 01c0 9001 movw r18,r0
215 01c2 1124 clr r1
216 01c4 281B sub r18,r24
217 01c6 390B sbc r19,r25
218 01c8 3093 0000 sts (Capacity+6)+1,r19
219 01cc 2093 0000 sts Capacity+6,r18
220 01d0 1216 cp __zero_reg__,r18
221 01d2 1306 cpc __zero_reg__,r19
222 01d4 04F0 brlt .L17
223 01d6 C901 movw r24,r18
224 01d8 6AE0 ldi r22,lo8(10)
225 01da 70E0 ldi r23,hi8(10)
226 01dc 0E94 0000 call __divmodhi4
227 01e0 892B or r24,r25
228 01e2 01F4 brne .L17
229 01e4 4423 tst r20
230 01e6 01F0 breq .L17
231 01e8 88EE ldi r24,lo8(1000)
232 01ea 93E0 ldi r25,hi8(1000)
233 01ec 9093 0000 sts (beeptime)+1,r25
234 01f0 8093 0000 sts beeptime,r24
235 .L17:
236 01f4 8091 0000 lds r24,Capacity+6
237 01f8 9091 0000 lds r25,(Capacity+6)+1
238 01fc C1E0 ldi r28,hi8(501)
239 01fe 853F cpi r24,lo8(501)
240 0200 9C07 cpc r25,r28
241 0202 04F4 brge .L2
242 0204 64E6 ldi r22,lo8(100)
243 0206 70E0 ldi r23,hi8(100)
244 0208 0E94 0000 call __divmodhi4
245 020c 892B or r24,r25
246 020e 01F4 brne .L2
247 0210 4423 tst r20
248 0212 01F0 breq .L2
249 0214 80E1 ldi r24,lo8(10000)
250 0216 97E2 ldi r25,hi8(10000)
251 0218 9093 0000 sts (beeptime)+1,r25
252 021c 8093 0000 sts beeptime,r24
253 .L2:
254 /* epilogue: frame size=0 */
255 0220 DF91 pop r29
256 0222 CF91 pop r28
257 0224 0895 ret
258 /* epilogue end (size=3) */
259 /* function Capacity_Update size 242 (237) */
261 .comm Capacity,9,1
262 .comm Motorsmax,8,1
263 .comm MotorsTmax,2,1
264 /* File "capacity.c": code 275 = 0x0113 ( 269), prologues 2, epilogues 4 */
DEFINED SYMBOLS
*ABS*:00000000 capacity.c
C:\Users\Thomas\AppData\Local\Temp/ccrLU3oU.s:3 *ABS*:0000003f __SREG__
C:\Users\Thomas\AppData\Local\Temp/ccrLU3oU.s:4 *ABS*:0000003e __SP_H__
C:\Users\Thomas\AppData\Local\Temp/ccrLU3oU.s:5 *ABS*:0000003d __SP_L__
C:\Users\Thomas\AppData\Local\Temp/ccrLU3oU.s:6 *ABS*:00000000 __tmp_reg__
C:\Users\Thomas\AppData\Local\Temp/ccrLU3oU.s:7 *ABS*:00000001 __zero_reg__
C:\Users\Thomas\AppData\Local\Temp/ccrLU3oU.s:15 .bss:00000000 update_timer
C:\Users\Thomas\AppData\Local\Temp/ccrLU3oU.s:20 .text:00000000 Capacity_Init
*COM*:00000009 Capacity
.bss:00000002 SubCounter.0
C:\Users\Thomas\AppData\Local\Temp/ccrLU3oU.s:47 .bss:00000004 CurrentOffset.1
C:\Users\Thomas\AppData\Local\Temp/ccrLU3oU.s:48 .bss:00000006 SumCurrentOffset.2
C:\Users\Thomas\AppData\Local\Temp/ccrLU3oU.s:52 .text:00000042 Capacity_Update
*COM*:00000008 Motorsmax
*COM*:00000002 MotorsTmax
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
EE_Parameter
SetDelay
CheckDelay
Motor
UBat
__udivmodhi4
__divmodhi4
beeptime