Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 1755 → Rev 1789

/branches/V0.80g-Arthur-P1/capacity.lst
1,229 → 1,223
1 .file "capacity.c"
2 .arch atmega644p
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
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 .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+6,__zero_reg__
30 001c 8AE0 ldi r24,lo8(10)
31 001e 90E0 ldi r25,hi8(10)
32 0020 0E94 0000 call SetDelay
33 0024 9093 0000 sts (update_timer)+1,r25
34 0028 8093 0000 sts update_timer,r24
35 /* epilogue: frame size=0 */
36 002c 0895 ret
37 /* epilogue end (size=1) */
38 /* function Capacity_Init size 23 (22) */
40 .lcomm SubCounter.0,2
41 .lcomm CurrentOffset.1,2
42 .lcomm SumCurrentOffset.2,4
43 .global Capacity_Update
45 Capacity_Update:
46 /* prologue: frame size=0 */
47 002e CF93 push r28
48 0030 DF93 push r29
49 /* prologue end (size=2) */
50 0032 8091 0000 lds r24,update_timer
51 0036 9091 0000 lds r25,(update_timer)+1
52 003a 0E94 0000 call CheckDelay
53 003e 8823 tst r24
54 0040 09F4 brne .+2
55 0042 AFC0 rjmp .L2
56 0044 8091 0000 lds r24,update_timer
57 0048 9091 0000 lds r25,(update_timer)+1
58 004c 0A96 adiw r24,10
59 004e 9093 0000 sts (update_timer)+1,r25
60 0052 8093 0000 sts update_timer,r24
61 0056 E0E0 ldi r30,lo8(0)
62 0058 F0E0 ldi r31,hi8(0)
63 005a 9F01 movw r18,r30
64 005c 90E0 ldi r25,lo8(0)
65 005e 5FEF ldi r21,lo8(-1)
66 0060 A0E0 ldi r26,lo8(Motor)
67 0062 B0E0 ldi r27,hi8(Motor)
68 0064 4BE0 ldi r20,lo8(11)
69 .L9:
70 0066 ED01 movw r28,r26
71 0068 8B81 ldd r24,Y+3
72 006a 87FF sbrs r24,7
73 006c 0BC0 rjmp .L6
74 006e 9F5F subi r25,lo8(-(1))
75 0070 8D81 ldd r24,Y+5
76 0072 E80F add r30,r24
77 0074 F11D adc r31,__zero_reg__
78 0076 8981 ldd r24,Y+1
79 0078 280F add r18,r24
80 007a 311D adc r19,__zero_reg__
81 007c 8E81 ldd r24,Y+6
82 007e 8517 cp r24,r21
83 0080 08F4 brsh .L6
84 0082 582F mov r21,r24
85 .L6:
86 0084 4150 subi r20,lo8(-(-1))
87 0086 1896 adiw r26,8
88 0088 47FF sbrs r20,7
89 008a EDCF rjmp .L9
90 008c 5093 0000 sts Capacity+6,r21
91 0090 232B or r18,r19
92 0092 41F5 brne .L10
93 0094 2091 0000 lds r18,SumCurrentOffset.2
94 0098 3091 0000 lds r19,(SumCurrentOffset.2)+1
95 009c 4091 0000 lds r20,(SumCurrentOffset.2)+2
96 00a0 5091 0000 lds r21,(SumCurrentOffset.2)+3
97 00a4 BB27 clr r27
98 00a6 A52F mov r26,r21
99 00a8 942F mov r25,r20
100 00aa 832F mov r24,r19
101 00ac 9093 0000 sts (CurrentOffset.1)+1,r25
102 00b0 8093 0000 sts CurrentOffset.1,r24
103 00b4 AA27 clr r26
104 00b6 BB27 clr r27
105 00b8 281B sub r18,r24
106 00ba 390B sbc r19,r25
107 00bc 4A0B sbc r20,r26
108 00be 5B0B sbc r21,r27
109 00c0 CF01 movw r24,r30
110 00c2 AA27 clr r26
111 00c4 BB27 clr r27
112 00c6 280F add r18,r24
113 00c8 391F adc r19,r25
114 00ca 4A1F adc r20,r26
115 00cc 5B1F adc r21,r27
116 00ce 2093 0000 sts SumCurrentOffset.2,r18
117 00d2 3093 0000 sts (SumCurrentOffset.2)+1,r19
118 00d6 4093 0000 sts (SumCurrentOffset.2)+2,r20
119 00da 5093 0000 sts (SumCurrentOffset.2)+3,r21
120 00de E5E0 ldi r30,lo8(5)
121 00e0 F0E0 ldi r31,hi8(5)
122 00e2 13C0 rjmp .L11
123 .L10:
124 00e4 2091 0000 lds r18,CurrentOffset.1
125 00e8 3091 0000 lds r19,(CurrentOffset.1)+1
126 00ec 2E17 cp r18,r30
127 00ee 3F07 cpc r19,r31
128 00f0 18F4 brsh .L12
129 00f2 E21B sub r30,r18
130 00f4 F30B sbc r31,r19
131 00f6 02C0 rjmp .L13
132 .L12:
133 00f8 E0E0 ldi r30,lo8(0)
134 00fa F0E0 ldi r31,hi8(0)
135 .L13:
136 00fc 892F mov r24,r25
137 00fe 9927 clr r25
138 0100 880F add r24,r24
139 0102 991F adc r25,r25
140 0104 E80F add r30,r24
141 0106 F91F adc r31,r25
142 0108 3596 adiw r30,5
143 .L11:
144 010a F093 0000 sts (Capacity)+1,r31
145 010e E093 0000 sts Capacity,r30
146 0112 EF3F cpi r30,255
147 0114 F105 cpc r31,__zero_reg__
148 0116 78F4 brsh .L14
149 0118 8091 0000 lds r24,UBat
150 011c 9091 0000 lds r25,(UBat)+1
151 0120 8E9F mul r24,r30
152 0122 9001 movw r18,r0
153 0124 8F9F mul r24,r31
154 0126 300D add r19,r0
155 0128 9E9F mul r25,r30
156 012a 300D add r19,r0
157 012c 1124 clr r1
158 012e C901 movw r24,r18
159 0130 64E6 ldi r22,lo8(100)
160 0132 70E0 ldi r23,hi8(100)
161 0134 13C0 rjmp .L19
162 .L14:
163 0136 CF01 movw r24,r30
164 0138 9695 lsr r25
165 013a 8795 ror r24
166 013c 9695 lsr r25
167 013e 8795 ror r24
168 0140 2091 0000 lds r18,UBat
169 0144 3091 0000 lds r19,(UBat)+1
170 0148 289F mul r18,r24
171 014a A001 movw r20,r0
172 014c 299F mul r18,r25
173 014e 500D add r21,r0
174 0150 389F mul r19,r24
175 0152 500D add r21,r0
176 0154 1124 clr r1
177 0156 CA01 movw r24,r20
178 0158 69E1 ldi r22,lo8(25)
179 015a 70E0 ldi r23,hi8(25)
180 .L19:
181 015c 0E94 0000 call __udivmodhi4
182 0160 7093 0000 sts (Capacity+2)+1,r23
183 0164 6093 0000 sts Capacity+2,r22
184 0168 2091 0000 lds r18,SubCounter.0
185 016c 3091 0000 lds r19,(SubCounter.0)+1
186 0170 2E0F add r18,r30
187 0172 3F1F adc r19,r31
188 0174 3093 0000 sts (SubCounter.0)+1,r19
189 0178 2093 0000 sts SubCounter.0,r18
190 017c 5EE0 ldi r21,hi8(3601)
191 017e 2131 cpi r18,lo8(3601)
192 0180 3507 cpc r19,r21
193 0182 78F0 brlo .L2
194 0184 8091 0000 lds r24,Capacity+4
195 0188 9091 0000 lds r25,(Capacity+4)+1
196 018c 0196 adiw r24,1
197 018e 9093 0000 sts (Capacity+4)+1,r25
198 0192 8093 0000 sts Capacity+4,r24
199 0196 2051 subi r18,lo8(-(-3600))
200 0198 3E40 sbci r19,hi8(-(-3600))
201 019a 3093 0000 sts (SubCounter.0)+1,r19
202 019e 2093 0000 sts SubCounter.0,r18
203 .L2:
204 /* epilogue: frame size=0 */
205 01a2 DF91 pop r29
206 01a4 CF91 pop r28
207 01a6 0895 ret
208 /* epilogue end (size=3) */
209 /* function Capacity_Update size 189 (184) */
211 .comm Capacity,7,1
212 /* File "capacity.c": code 212 = 0x00d4 ( 206), prologues 2, epilogues 4 */
8 .text
9 .global Capacity_Update
11 Capacity_Update:
12 /* prologue: function */
13 /* frame size = 0 */
14 0000 8091 0000 lds r24,update_timer
15 0004 9091 0000 lds r25,(update_timer)+1
16 0008 0E94 0000 call CheckDelay
17 000c 8823 tst r24
18 000e 01F4 brne .+2
19 0010 00C0 rjmp .L13
20 0012 8091 0000 lds r24,update_timer
21 0016 9091 0000 lds r25,(update_timer)+1
22 001a 0A96 adiw r24,10
23 001c 9093 0000 sts (update_timer)+1,r25
24 0020 8093 0000 sts update_timer,r24
25 0024 E0E0 ldi r30,lo8(Motor+1)
26 0026 F0E0 ldi r31,hi8(Motor+1)
27 0028 60E0 ldi r22,lo8(0)
28 002a 70E0 ldi r23,hi8(0)
29 002c 40E0 ldi r20,lo8(0)
30 002e 50E0 ldi r21,hi8(0)
31 0030 90E0 ldi r25,lo8(0)
32 0032 AFEF ldi r26,lo8(-1)
33 .L6:
34 0034 8281 ldd r24,Z+2
35 0036 87FF sbrs r24,7
36 0038 00C0 rjmp .L3
37 003a 9F5F subi r25,lo8(-(1))
38 003c 8481 ldd r24,Z+4
39 003e 680F add r22,r24
40 0040 711D adc r23,__zero_reg__
41 0042 8081 ld r24,Z
42 0044 480F add r20,r24
43 0046 511D adc r21,__zero_reg__
44 0048 8581 ldd r24,Z+5
45 004a 8A17 cp r24,r26
46 004c 00F0 brlo .L4
47 .L3:
48 004e 8A2F mov r24,r26
49 .L4:
50 0050 3896 adiw r30,8
51 0052 20E0 ldi r18,hi8(Motor+97)
52 0054 E030 cpi r30,lo8(Motor+97)
53 0056 F207 cpc r31,r18
54 0058 01F0 breq .L5
55 005a A82F mov r26,r24
56 005c 00C0 rjmp .L6
57 .L5:
58 005e 8093 0000 sts Capacity+6,r24
59 0062 452B or r20,r21
60 0064 01F4 brne .L7
61 0066 8091 0000 lds r24,SumCurrentOffset.2245
62 006a 9091 0000 lds r25,(SumCurrentOffset.2245)+1
63 006e A091 0000 lds r26,(SumCurrentOffset.2245)+2
64 0072 B091 0000 lds r27,(SumCurrentOffset.2245)+3
65 0076 292F mov r18,r25
66 0078 3A2F mov r19,r26
67 007a 4B2F mov r20,r27
68 007c 5527 clr r21
69 007e 3093 0000 sts (CurrentOffset.2244)+1,r19
70 0082 2093 0000 sts CurrentOffset.2244,r18
71 0086 40E0 ldi r20,lo8(0)
72 0088 50E0 ldi r21,hi8(0)
73 008a 821B sub r24,r18
74 008c 930B sbc r25,r19
75 008e A40B sbc r26,r20
76 0090 B50B sbc r27,r21
77 0092 9B01 movw r18,r22
78 0094 40E0 ldi r20,lo8(0)
79 0096 50E0 ldi r21,hi8(0)
80 0098 820F add r24,r18
81 009a 931F adc r25,r19
82 009c A41F adc r26,r20
83 009e B51F adc r27,r21
84 00a0 8093 0000 sts SumCurrentOffset.2245,r24
85 00a4 9093 0000 sts (SumCurrentOffset.2245)+1,r25
86 00a8 A093 0000 sts (SumCurrentOffset.2245)+2,r26
87 00ac B093 0000 sts (SumCurrentOffset.2245)+3,r27
88 00b0 E5E0 ldi r30,lo8(5)
89 00b2 F0E0 ldi r31,hi8(5)
90 00b4 00C0 rjmp .L8
91 .L7:
92 00b6 4091 0000 lds r20,CurrentOffset.2244
93 00ba 5091 0000 lds r21,(CurrentOffset.2244)+1
94 00be 4617 cp r20,r22
95 00c0 5707 cpc r21,r23
96 00c2 00F0 brlo .L9
97 00c4 20E0 ldi r18,lo8(0)
98 00c6 30E0 ldi r19,hi8(0)
99 00c8 00C0 rjmp .L10
100 .L9:
101 00ca 9B01 movw r18,r22
102 00cc 241B sub r18,r20
103 00ce 350B sbc r19,r21
104 .L10:
105 00d0 E92F mov r30,r25
106 00d2 F0E0 ldi r31,lo8(0)
107 00d4 EE0F lsl r30
108 00d6 FF1F rol r31
109 00d8 3596 adiw r30,5
110 00da E20F add r30,r18
111 00dc F31F adc r31,r19
112 .L8:
113 00de F093 0000 sts (Capacity)+1,r31
114 00e2 E093 0000 sts Capacity,r30
115 00e6 EF3F cpi r30,255
116 00e8 F105 cpc r31,__zero_reg__
117 00ea 00F4 brsh .L11
118 00ec 8091 0000 lds r24,UBat
119 00f0 9091 0000 lds r25,(UBat)+1
120 00f4 AC01 movw r20,r24
121 00f6 E49F mul r30,r20
122 00f8 C001 movw r24,r0
123 00fa E59F mul r30,r21
124 00fc 900D add r25,r0
125 00fe F49F mul r31,r20
126 0100 900D add r25,r0
127 0102 1124 clr r1
128 0104 64E6 ldi r22,lo8(100)
129 0106 70E0 ldi r23,hi8(100)
130 0108 00C0 rjmp .L14
131 .L11:
132 010a 8091 0000 lds r24,UBat
133 010e 9091 0000 lds r25,(UBat)+1
134 0112 9F01 movw r18,r30
135 0114 3695 lsr r19
136 0116 2795 ror r18
137 0118 3695 lsr r19
138 011a 2795 ror r18
139 011c AC01 movw r20,r24
140 011e 249F mul r18,r20
141 0120 C001 movw r24,r0
142 0122 259F mul r18,r21
143 0124 900D add r25,r0
144 0126 349F mul r19,r20
145 0128 900D add r25,r0
146 012a 1124 clr r1
147 012c 69E1 ldi r22,lo8(25)
148 012e 70E0 ldi r23,hi8(25)
149 .L14:
150 0130 0E94 0000 call __udivmodhi4
151 0134 7093 0000 sts (Capacity+2)+1,r23
152 0138 6093 0000 sts Capacity+2,r22
153 013c 2091 0000 lds r18,SubCounter.2243
154 0140 3091 0000 lds r19,(SubCounter.2243)+1
155 0144 2E0F add r18,r30
156 0146 3F1F adc r19,r31
157 0148 3093 0000 sts (SubCounter.2243)+1,r19
158 014c 2093 0000 sts SubCounter.2243,r18
159 0150 5EE0 ldi r21,hi8(3601)
160 0152 2131 cpi r18,lo8(3601)
161 0154 3507 cpc r19,r21
162 0156 00F0 brlo .L13
163 0158 8091 0000 lds r24,Capacity+4
164 015c 9091 0000 lds r25,(Capacity+4)+1
165 0160 0196 adiw r24,1
166 0162 9093 0000 sts (Capacity+4)+1,r25
167 0166 8093 0000 sts Capacity+4,r24
168 016a 2051 subi r18,lo8(-(-3600))
169 016c 3E40 sbci r19,hi8(-(-3600))
170 016e 3093 0000 sts (SubCounter.2243)+1,r19
171 0172 2093 0000 sts SubCounter.2243,r18
172 .L13:
173 0176 0895 ret
175 .global Capacity_Init
177 Capacity_Init:
178 /* prologue: function */
179 /* frame size = 0 */
180 0178 1092 0000 sts (Capacity)+1,__zero_reg__
181 017c 1092 0000 sts Capacity,__zero_reg__
182 0180 1092 0000 sts (Capacity+4)+1,__zero_reg__
183 0184 1092 0000 sts Capacity+4,__zero_reg__
184 0188 1092 0000 sts (Capacity+2)+1,__zero_reg__
185 018c 1092 0000 sts Capacity+2,__zero_reg__
186 0190 1092 0000 sts Capacity+6,__zero_reg__
187 0194 8AE0 ldi r24,lo8(10)
188 0196 90E0 ldi r25,hi8(10)
189 0198 0E94 0000 call SetDelay
190 019c 9093 0000 sts (update_timer)+1,r25
191 01a0 8093 0000 sts update_timer,r24
192 /* epilogue start */
193 01a4 0895 ret
195 .global update_timer
196 .global update_timer
197 .section .bss
200 update_timer:
201 0000 0000 .skip 2,0
202 .lcomm SumCurrentOffset.2245,4
203 .lcomm CurrentOffset.2244,2
204 .lcomm SubCounter.2243,2
205 .comm Capacity,7,1
206 .global __do_clear_bss
DEFINED SYMBOLS
*ABS*:00000000 capacity.c
C:\Users\Arthur-P\AppData\Local\Temp/cckHbaaa.s:3 *ABS*:0000003f __SREG__
C:\Users\Arthur-P\AppData\Local\Temp/cckHbaaa.s:4 *ABS*:0000003e __SP_H__
C:\Users\Arthur-P\AppData\Local\Temp/cckHbaaa.s:5 *ABS*:0000003d __SP_L__
C:\Users\Arthur-P\AppData\Local\Temp/cckHbaaa.s:6 *ABS*:00000000 __tmp_reg__
C:\Users\Arthur-P\AppData\Local\Temp/cckHbaaa.s:7 *ABS*:00000001 __zero_reg__
C:\Users\Arthur-P\AppData\Local\Temp/cckHbaaa.s:15 .bss:00000000 update_timer
C:\Users\Arthur-P\AppData\Local\Temp/cckHbaaa.s:20 .text:00000000 Capacity_Init
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc3DnvEP.s:2 *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc3DnvEP.s:3 *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc3DnvEP.s:4 *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc3DnvEP.s:5 *ABS*:00000034 __CCP__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc3DnvEP.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc3DnvEP.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc3DnvEP.s:11 .text:00000000 Capacity_Update
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc3DnvEP.s:200 .bss:00000000 update_timer
*COM*:00000007 Capacity
.bss:00000002 SubCounter.0
C:\Users\Arthur-P\AppData\Local\Temp/cckHbaaa.s:40 .bss:00000004 CurrentOffset.1
C:\Users\Arthur-P\AppData\Local\Temp/cckHbaaa.s:41 .bss:00000006 SumCurrentOffset.2
C:\Users\Arthur-P\AppData\Local\Temp/cckHbaaa.s:45 .text:0000002e Capacity_Update
.bss:00000002 SumCurrentOffset.2245
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc3DnvEP.s:202 .bss:00000006 CurrentOffset.2244
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc3DnvEP.s:203 .bss:00000008 SubCounter.2243
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc3DnvEP.s:177 .text:00000178 Capacity_Init
 
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
SetDelay
CheckDelay
Motor
UBat
__udivmodhi4
SetDelay
__do_clear_bss