📄 control.lst
字号:
1 .file "control.c"
2 .arch atmega64
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
17 .Ltext0:
18 .lcomm power_onf_sms.0,1
19 .global control_pow
21 control_pow:
22 .LFB19:
23 .LM1:
24 /* prologue: frame size=0 */
25 /* prologue end (size=0) */
26 .LM2:
27 0000 40E0 ldi r20,lo8(0)
28 0002 50E0 ldi r21,hi8(0)
29 0004 8091 0000 lds r24,bit_hardware
30 0008 8695 lsr r24
31 000a 9927 clr r25
32 000c 9C01 movw r18,r24
33 000e 2170 andi r18,lo8(1)
34 0010 3070 andi r19,hi8(1)
35 0012 80FD sbrc r24,0
36 .LM3:
37 0014 A901 movw r20,r18
38 .L3:
39 0016 20E0 ldi r18,lo8(0)
40 0018 30E0 ldi r19,hi8(0)
41 001a 8091 0000 lds r24,adv_m
42 001e 9091 0000 lds r25,(adv_m)+1
43 0022 8154 subi r24,lo8(8001)
44 0024 9F41 sbci r25,hi8(8001)
45 0026 10F0 brlo .L4
46 0028 21E0 ldi r18,lo8(1)
47 002a 30E0 ldi r19,hi8(1)
48 .L4:
49 002c 2423 and r18,r20
50 002e 3523 and r19,r21
51 0030 232B or r18,r19
52 0032 51F0 breq .L2
53 .LM4:
54 0034 8091 0000 lds r24,bit_hardware
55 0038 8D7F andi r24,lo8(-3)
56 003a 8093 0000 sts bit_hardware,r24
57 .LM5:
58 003e 8091 0000 lds r24,bit_var
59 0042 8F77 andi r24,lo8(127)
60 0044 8093 0000 sts bit_var,r24
61 .L2:
62 .LM6:
63 0048 8091 0000 lds r24,bit_hardware
64 004c 8695 lsr r24
65 004e 9927 clr r25
66 0050 AC01 movw r20,r24
67 0052 4170 andi r20,lo8(1)
68 0054 5070 andi r21,hi8(1)
69 0056 80FD sbrc r24,0
70 0058 21C0 rjmp .L5
71 .LM7:
72 005a 9A01 movw r18,r20
73 005c 8091 0000 lds r24,adv_m
74 0060 9091 0000 lds r25,(adv_m)+1
75 0064 8054 subi r24,lo8(8000)
76 0066 9F41 sbci r25,hi8(8000)
77 0068 10F4 brsh .L7
78 006a 21E0 ldi r18,lo8(1)
79 006c 30E0 ldi r19,hi8(1)
80 .L7:
81 006e 8091 0000 lds r24,batt_m
82 0072 9091 0000 lds r25,(batt_m)+1
83 0076 895B subi r24,lo8(3001)
84 0078 9B40 sbci r25,hi8(3001)
85 007a 10F0 brlo .L8
86 007c 41E0 ldi r20,lo8(1)
87 007e 50E0 ldi r21,hi8(1)
88 .L8:
89 0080 2423 and r18,r20
90 0082 3523 and r19,r21
91 0084 232B or r18,r19
92 0086 51F0 breq .L5
93 .LM8:
94 0088 8091 0000 lds r24,bit_hardware
95 008c 8260 ori r24,lo8(2)
96 008e 8093 0000 sts bit_hardware,r24
97 .LM9:
98 0092 8091 0000 lds r24,bit_var
99 0096 8F77 andi r24,lo8(127)
100 0098 8093 0000 sts bit_var,r24
101 .L5:
102 .LM10:
103 009c 8091 0000 lds r24,bit_Condition
104 00a0 282F mov r18,r24
105 00a2 3327 clr r19
106 00a4 2170 andi r18,lo8(1)
107 00a6 3070 andi r19,hi8(1)
108 00a8 8091 0000 lds r24,bit_hardware
109 00ac 8695 lsr r24
110 00ae 9927 clr r25
111 00b0 8170 andi r24,lo8(1)
112 00b2 9070 andi r25,hi8(1)
113 00b4 2817 cp r18,r24
114 00b6 3907 cpc r19,r25
115 00b8 19F1 breq .L9
116 .LM11:
117 00ba 8091 0000 lds r24,power_onf_sms.0
118 00be 8F5F subi r24,lo8(-(1))
119 00c0 8093 0000 sts power_onf_sms.0,r24
120 .LM12:
121 00c4 8F31 cpi r24,lo8(31)
122 00c6 E0F0 brlo .L9
123 .LM13:
124 00c8 8091 0000 lds r24,bit_hardware
125 00cc 8695 lsr r24
126 00ce 80FD sbrc r24,0
127 00d0 03C0 rjmp .L11
128 .LM14:
129 00d2 88E0 ldi r24,lo8(8)
130 00d4 0E94 0000 call sms_counts
131 .L11:
132 .LM15:
133 00d8 8091 0000 lds r24,bit_hardware
134 00dc 8695 lsr r24
135 00de 80FF sbrs r24,0
136 00e0 03C0 rjmp .L12
137 .LM16:
138 00e2 86E1 ldi r24,lo8(22)
139 00e4 0E94 0000 call sms_counts
140 .L12:
141 .LM17:
142 00e8 1092 0000 sts power_onf_sms.0,__zero_reg__
143 .LM18:
144 00ec 9091 0000 lds r25,bit_hardware
145 00f0 9695 lsr r25
146 00f2 9170 andi r25,lo8(1)
147 00f4 8091 0000 lds r24,bit_Condition
148 00f8 8E7F andi r24,lo8(-2)
149 00fa 892B or r24,r25
150 00fc 8093 0000 sts bit_Condition,r24
151 .L9:
152 .LM19:
153 0100 8091 0000 lds r24,bit_Condition
154 0104 282F mov r18,r24
155 0106 3327 clr r19
156 0108 2170 andi r18,lo8(1)
157 010a 3070 andi r19,hi8(1)
158 010c 8091 0000 lds r24,bit_hardware
159 0110 8695 lsr r24
160 0112 9927 clr r25
161 0114 8170 andi r24,lo8(1)
162 0116 9070 andi r25,hi8(1)
163 0118 2817 cp r18,r24
164 011a 3907 cpc r19,r25
165 011c 11F4 brne .L1
166 .LM20:
167 011e 1092 0000 sts power_onf_sms.0,__zero_reg__
168 .L1:
169 0122 0895 ret
170 /* epilogue: frame size=0 */
171 /* epilogue: noreturn */
172 /* epilogue end (size=0) */
173 /* function control_pow size 150 (150) */
174 .LFE19:
176 .global Charge_Control
178 Charge_Control:
179 .LFB20:
180 .LM21:
181 /* prologue: frame size=0 */
182 /* prologue end (size=0) */
183 .LM22:
184 0124 81E0 ldi r24,lo8(1)
185 0126 0E94 0000 call AdcConvert
186 012a 9C01 movw r18,r24
187 012c 54E0 ldi r21,4
188 012e 220F 1: lsl r18
189 0130 331F rol r19
190 0132 5A95 dec r21
191 0134 E1F7 brne 1b
192 0136 281B sub r18,r24
193 0138 390B sbc r19,r25
194 013a 3093 0000 sts (batt_m)+1,r19
195 013e 2093 0000 sts batt_m,r18
196 .LM23:
197 0142 8091 0000 lds r24,batt_m
198 0146 9091 0000 lds r25,(batt_m)+1
199 014a 8D54 subi r24,lo8(7501)
200 014c 9D41 sbci r25,hi8(7501)
201 014e A0F0 brlo .L15
202 .LM24:
203 0150 C79A sbi 56-0x20,7
204 .LM25:
205 0152 84EF ldi r24,lo8(500)
206 0154 91E0 ldi r25,hi8(500)
207 0156 0E94 0000 call DelayMs
208 .LM26:
209 015a 81E0 ldi r24,lo8(1)
210 015c 0E94 0000 call AdcConvert
211 0160 9C01 movw r18,r24
212 0162 44E0 ldi r20,4
213 0164 220F 1: lsl r18
214 0166 331F rol r19
215 0168 4A95 dec r20
216 016a E1F7 brne 1b
217 016c 281B sub r18,r24
218 016e 390B sbc r19,r25
219 0170 3093 0000 sts (batt_m)+1,r19
220 0174 2093 0000 sts batt_m,r18
221 .L15:
222 .LM27:
223 0178 20E0 ldi r18,lo8(0)
224 017a 30E0 ldi r19,hi8(0)
225 017c 8091 0000 lds r24,batt_m
226 0180 9091 0000 lds r25,(batt_m)+1
227 0184 885B subi r24,lo8(3000)
228 0186 9B40 sbci r25,hi8(3000)
229 0188 10F4 brsh .L17
230 018a 21E0 ldi r18,lo8(1)
231 018c 30E0 ldi r19,hi8(1)
232 .L17:
233 018e 40E0 ldi r20,lo8(0)
234 0190 50E0 ldi r21,hi8(0)
235 0192 8091 0000 lds r24,batt_m
236 0196 9091 0000 lds r25,(batt_m)+1
237 019a 8D54 subi r24,lo8(7501)
238 019c 9D41 sbci r25,hi8(7501)
239 019e 10F0 brlo .L18
240 01a0 41E0 ldi r20,lo8(1)
241 01a2 50E0 ldi r21,hi8(1)
242 .L18:
243 01a4 242B or r18,r20
244 01a6 352B or r19,r21
245 01a8 232B or r18,r19
246 01aa 09F0 breq .L16
247 .LM28:
248 01ac C79A sbi 56-0x20,7
249 .L16:
250 .LM29:
251 01ae 40E0 ldi r20,lo8(0)
252 01b0 50E0 ldi r21,hi8(0)
253 01b2 8091 0000 lds r24,batt_m
254 01b6 9091 0000 lds r25,(batt_m)+1
255 01ba 8456 subi r24,lo8(6500)
256 01bc 9941 sbci r25,hi8(6500)
257 01be 10F4 brsh .L20
258 01c0 41E0 ldi r20,lo8(1)
259 01c2 50E0 ldi r21,hi8(1)
260 .L20:
261 01c4 20E0 ldi r18,lo8(0)
262 01c6 30E0 ldi r19,hi8(0)
263 01c8 8091 0000 lds r24,batt_m
264 01cc 9091 0000 lds r25,(batt_m)+1
265 01d0 895B subi r24,lo8(3001)
266 01d2 9B40 sbci r25,hi8(3001)
267 01d4 10F0 brlo .L21
268 01d6 21E0 ldi r18,lo8(1)
269 01d8 30E0 ldi r19,hi8(1)
270 .L21:
271 01da 2423 and r18,r20
272 01dc 3523 and r19,r21
273 01de 40E0 ldi r20,lo8(0)
274 01e0 50E0 ldi r21,hi8(0)
275 01e2 8091 0000 lds r24,adv_m
276 01e6 9091 0000 lds r25,(adv_m)+1
277 01ea 8154 subi r24,lo8(8001)
278 01ec 9F41 sbci r25,hi8(8001)
279 01ee 10F0 brlo .L22
280 01f0 41E0 ldi r20,lo8(1)
281 01f2 50E0 ldi r21,hi8(1)
282 .L22:
283 01f4 2423 and r18,r20
284 01f6 3523 and r19,r21
285 01f8 232B or r18,r19
286 01fa 09F0 breq .L14
287 .LM30:
288 01fc C798 cbi 56-0x20,7
289 .L14:
290 01fe 0895 ret
291 /* epilogue: frame size=0 */
292 /* epilogue: noreturn */
293 /* epilogue end (size=0) */
294 /* function Charge_Control size 116 (116) */
295 .LFE20:
297 .global Simulation_examination
299 Simulation_examination:
300 .LFB21:
301 .LM31:
302 /* prologue: frame size=0 */
303 0200 0F93 push r16
304 0202 1F93 push r17
305 /* prologue end (size=2) */
306 .LM32:
307 0204 0E94 0000 call read_temperature
308 .LM33:
309 0208 80E0 ldi r24,lo8(0)
310 020a 0E94 0000 call AdcConvert
311 020e 8C01 movw r16,r24
312 0210 C801 movw r24,r16
313 0212 AA27 clr r26
314 0214 97FD sbrc r25,7
315 0216 A095 com r26
316 0218 BA2F mov r27,r26
317 021a BC01 movw r22,r24
318 021c CD01 movw r24,r26
319 021e 0E94 0000 call __floatsisf
320 0222 17FF sbrs r17,7
321 0224 06C0 rjmp .L24
322 .LM34:
323 0226 20E0 ldi r18,lo8(0x47800000)
324 0228 30E0 ldi r19,hi8(0x47800000)
325 022a 40E8 ldi r20,hlo8(0x47800000)
326 022c 57E4 ldi r21,hhi8(0x47800000)
327 022e 0E94 0000 call __addsf3
328 .L24:
329 0232 20E0 ldi r18,lo8(0x41dc0000)
330 0234 30E0 ldi r19,hi8(0x41dc0000)
331 0236 4CED ldi r20,hlo8(0x41dc0000)
332 0238 51E4 ldi r21,hhi8(0x41dc0000)
333 023a 0E94 0000 call __mulsf3
334 023e DC01 movw r26,r24
335 0240 CB01 movw r24,r22
336 0242 BC01 movw r22,r24
337 0244 CD01 movw r24,r26
338 0246 0E94 0000 call __fixunssfsi
339 024a DC01 movw r26,r24
340 024c CB01 movw r24,r22
341 024e 9093 0000 sts (adv_m)+1,r25
342 0252 8093 0000 sts adv_m,r24
343 .LM35:
344 0256 81E0 ldi r24,lo8(1)
345 0258 0E94 0000 call AdcConvert
346 025c 9C01 movw r18,r24
347 025e 64E0 ldi r22,4
348 0260 220F 1: lsl r18
349 0262 331F rol r19
350 0264 6A95 dec r22
351 0266 E1F7 brne 1b
352 0268 281B sub r18,r24
353 026a 390B sbc r19,r25
354 026c 3093 0000 sts (batt_m)+1,r19
355 0270 2093 0000 sts batt_m,r18
356 /* epilogue: frame size=0 */
357 0274 1F91 pop r17
358 0276 0F91 pop r16
359 0278 0895 ret
360 /* epilogue end (size=3) */
361 /* function Simulation_examination size 61 (56) */
362 .LFE21:
364 .global Condition_control
366 Condition_control:
367 .LFB22:
368 .LM36:
369 /* prologue: frame size=0 */
370 /* prologue end (size=0) */
371 .LM37:
372 027a 0E94 0000 call Simulation_examination
373 .LM38:
374 027e 0E94 0000 call control_pow
375 /* epilogue: frame size=0 */
376 0282 0895 ret
377 /* epilogue end (size=1) */
378 /* function Condition_control size 5 (4) */
379 .LFE22:
381 .comm temperature_low,1,1
382 .comm temperature_high,1,1
383 .comm bit_flag,1,1
384 .comm bit_var,1,1
385 .comm bit_hardware,1,1
386 .comm bit_Condition,1,1
387 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 control.c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccSCaaaa.s:3 *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccSCaaaa.s:4 *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccSCaaaa.s:5 *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccSCaaaa.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccSCaaaa.s:7 *ABS*:00000001 __zero_reg__
.bss:00000000 power_onf_sms.0
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccSCaaaa.s:21 .text:00000000 control_pow
*COM*:00000001 bit_hardware
*COM*:00000001 bit_var
*COM*:00000001 bit_Condition
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccSCaaaa.s:178 .text:00000124 Charge_Control
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccSCaaaa.s:299 .text:00000200 Simulation_examination
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccSCaaaa.s:366 .text:0000027a Condition_control
*COM*:00000001 temperature_low
*COM*:00000001 temperature_high
*COM*:00000001 bit_flag
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
adv_m
batt_m
sms_counts
AdcConvert
DelayMs
read_temperature
__floatsisf
__addsf3
__mulsf3
__fixunssfsi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -