📄 ultrasound.lst
字号:
1 .file "Ultrasound.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
16 .Ltext0:
17 .global __vector_1
19 __vector_1:
20 .LFB11:
21 .LM1:
22 /* prologue: frame size=0 */
23 0000 1F92 push __zero_reg__
24 0002 0F92 push __tmp_reg__
25 0004 0FB6 in __tmp_reg__,__SREG__
26 0006 0F92 push __tmp_reg__
27 0008 1124 clr __zero_reg__
28 000a 8F93 push r24
29 /* prologue end (size=6) */
30 .LM2:
31 000c 8EB5 in r24,78-0x20
32 000e 8D7F andi r24,lo8(-3)
33 0010 8EBD out 78-0x20,r24
34 .LM3:
35 0012 8BB7 in r24,91-0x20
36 0014 8F7B andi r24,lo8(-65)
37 0016 8BBF out 91-0x20,r24
38 .LM4:
39 0018 8CB5 in r24,76-0x20
40 001a 8093 0000 sts Timer1_Counter_L,r24
41 .LM5:
42 001e 8DB5 in r24,77-0x20
43 0020 8093 0000 sts Timer1_Counter_H,r24
44 .LM6:
45 0024 1DBC out (76)+1-0x20,__zero_reg__
46 0026 1CBC out 76-0x20,__zero_reg__
47 .LM7:
48 0028 81E0 ldi r24,lo8(1)
49 002a 8093 0000 sts Ultrasound_Receive_Flag,r24
50 /* epilogue: frame size=0 */
51 002e 8F91 pop r24
52 0030 0F90 pop __tmp_reg__
53 0032 0FBE out __SREG__,__tmp_reg__
54 0034 0F90 pop __tmp_reg__
55 0036 1F90 pop __zero_reg__
56 0038 1895 reti
57 /* epilogue end (size=6) */
58 /* function __vector_1 size 29 (17) */
59 .LFE11:
61 .global __vector_6
63 __vector_6:
64 .LFB12:
65 .LM8:
66 /* prologue: frame size=0 */
67 003a 1F92 push __zero_reg__
68 003c 0F92 push __tmp_reg__
69 003e 0FB6 in __tmp_reg__,__SREG__
70 0040 0F92 push __tmp_reg__
71 0042 1124 clr __zero_reg__
72 0044 8F93 push r24
73 /* prologue end (size=6) */
74 .LM9:
75 0046 8EB5 in r24,78-0x20
76 0048 8D7F andi r24,lo8(-3)
77 004a 8EBD out 78-0x20,r24
78 .LM10:
79 004c 1DBC out (76)+1-0x20,__zero_reg__
80 004e 1CBC out 76-0x20,__zero_reg__
81 .LM11:
82 0050 8BB7 in r24,91-0x20
83 0052 8F7B andi r24,lo8(-65)
84 0054 8BBF out 91-0x20,r24
85 .LM12:
86 0056 81E0 ldi r24,lo8(1)
87 0058 8093 0000 sts Ultrasound_TimeOut_Flag,r24
88 /* epilogue: frame size=0 */
89 005c 8F91 pop r24
90 005e 0F90 pop __tmp_reg__
91 0060 0FBE out __SREG__,__tmp_reg__
92 0062 0F90 pop __tmp_reg__
93 0064 1F90 pop __zero_reg__
94 0066 1895 reti
95 /* epilogue end (size=6) */
96 /* function __vector_6 size 23 (11) */
97 .LFE12:
99 .global GetUltrasoundSpeed
101 GetUltrasoundSpeed:
102 .LFB7:
103 .LM13:
104 /* prologue: frame size=0 */
105 0068 EF92 push r14
106 006a FF92 push r15
107 006c 0F93 push r16
108 006e 1F93 push r17
109 /* prologue end (size=4) */
110 .LM14:
111 0070 8091 0000 lds r24,Temp_Reflash_at
112 0074 9091 0000 lds r25,(Temp_Reflash_at)+1
113 0078 892B or r24,r25
114 007a 01F4 brne .L6
115 .LM15:
116 007c 0E94 0000 call GetTemperature
117 0080 7B01 movw r14,r22
118 0082 8C01 movw r16,r24
119 .LVL0:
120 .LM16:
121 0084 80E6 ldi r24,lo8(-5536)
122 0086 9AEE ldi r25,hi8(-5536)
123 0088 9093 0000 sts (Temp_Reflash_at)+1,r25
124 008c 8093 0000 sts Temp_Reflash_at,r24
125 .LM17:
126 0090 20E0 ldi r18,lo8(0xc2c80000)
127 0092 30E0 ldi r19,hi8(0xc2c80000)
128 0094 48EC ldi r20,hlo8(0xc2c80000)
129 0096 52EC ldi r21,hhi8(0xc2c80000)
130 0098 C801 movw r24,r16
131 009a B701 movw r22,r14
132 009c 0E94 0000 call __nesf2
133 00a0 8823 tst r24
134 00a2 01F0 breq .L8
135 .LM18:
136 00a4 26EF ldi r18,lo8(0x3f1c28f6)
137 00a6 38E2 ldi r19,hi8(0x3f1c28f6)
138 00a8 4CE1 ldi r20,hlo8(0x3f1c28f6)
139 00aa 5FE3 ldi r21,hhi8(0x3f1c28f6)
140 00ac C801 movw r24,r16
141 00ae B701 movw r22,r14
142 00b0 0E94 0000 call __mulsf3
143 00b4 23E3 ldi r18,lo8(0x43a5b333)
144 00b6 33EB ldi r19,hi8(0x43a5b333)
145 00b8 45EA ldi r20,hlo8(0x43a5b333)
146 00ba 53E4 ldi r21,hhi8(0x43a5b333)
147 00bc 0E94 0000 call __addsf3
148 00c0 6093 0000 sts Valuable_Speed,r22
149 00c4 7093 0000 sts (Valuable_Speed)+1,r23
150 00c8 8093 0000 sts (Valuable_Speed)+2,r24
151 00cc 9093 0000 sts (Valuable_Speed)+3,r25
152 00d0 00C0 rjmp .L11
153 .L8:
154 .LM19:
155 00d2 80E0 ldi r24,lo8(0x0)
156 00d4 90E0 ldi r25,hi8(0x0)
157 00d6 A0E0 ldi r26,hlo8(0x0)
158 00d8 B0E0 ldi r27,hhi8(0x0)
159 00da 8093 0000 sts Valuable_Speed,r24
160 00de 9093 0000 sts (Valuable_Speed)+1,r25
161 00e2 A093 0000 sts (Valuable_Speed)+2,r26
162 00e6 B093 0000 sts (Valuable_Speed)+3,r27
163 00ea 00C0 rjmp .L11
164 .LVL1:
165 .L6:
166 .LM20:
167 00ec 8091 0000 lds r24,Temp_Reflash_at
168 00f0 9091 0000 lds r25,(Temp_Reflash_at)+1
169 00f4 0197 sbiw r24,1
170 00f6 9093 0000 sts (Temp_Reflash_at)+1,r25
171 00fa 8093 0000 sts Temp_Reflash_at,r24
172 .LVL2:
173 .L11:
174 .LM21:
175 00fe 6091 0000 lds r22,Valuable_Speed
176 0102 7091 0000 lds r23,(Valuable_Speed)+1
177 0106 8091 0000 lds r24,(Valuable_Speed)+2
178 010a 9091 0000 lds r25,(Valuable_Speed)+3
179 /* epilogue: frame size=0 */
180 010e 1F91 pop r17
181 0110 0F91 pop r16
182 0112 FF90 pop r15
183 0114 EF90 pop r14
184 0116 0895 ret
185 /* epilogue end (size=5) */
186 /* function GetUltrasoundSpeed size 88 (79) */
187 .LFE7:
189 .global Calculate_Distant
191 Calculate_Distant:
192 .LFB8:
193 .LM22:
194 /* prologue: frame size=0 */
195 0118 AF92 push r10
196 011a BF92 push r11
197 011c CF92 push r12
198 011e DF92 push r13
199 0120 EF92 push r14
200 0122 FF92 push r15
201 0124 0F93 push r16
202 0126 1F93 push r17
203 /* prologue end (size=8) */
204 .LM23:
205 0128 1091 0000 lds r17,Timer1_Counter_L
206 012c E090 0000 lds r14,Timer1_Counter_H
207 .LM24:
208 0130 0E94 0000 call GetUltrasoundSpeed
209 0134 0E94 0000 call __fixunssfsi
210 0138 5B01 movw r10,r22
211 013a 6C01 movw r12,r24
212 .LVL3:
213 .LM25:
214 013c 6115 cp r22,__zero_reg__
215 013e 7105 cpc r23,__zero_reg__
216 0140 8105 cpc r24,__zero_reg__
217 0142 9105 cpc r25,__zero_reg__
218 0144 01F4 brne .+2
219 0146 00C0 rjmp .L14
220 .LVL4:
221 .LM26:
222 0148 2AE0 ldi r18,lo8(10)
223 014a 30E0 ldi r19,hi8(10)
224 014c 40E0 ldi r20,hlo8(10)
225 014e 50E0 ldi r21,hhi8(10)
226 0150 0E94 0000 call __mulsi3
227 .LVL5:
228 0154 80E0 ldi r24,lo8(0)
229 0156 90E0 ldi r25,hi8(0)
230 0158 2E2D mov r18,r14
231 015a 30E0 ldi r19,lo8(0)
232 015c 322F mov r19,r18
233 015e 2227 clr r18
234 0160 210F add r18,r17
235 0162 311D adc r19,__zero_reg__
236 0164 4427 clr r20
237 0166 37FD sbrc r19,7
238 0168 4095 com r20
239 016a 542F mov r21,r20
240 016c 0E94 0000 call __mulsi3
241 0170 24E1 ldi r18,lo8(20)
242 0172 30E0 ldi r19,hi8(20)
243 0174 40E0 ldi r20,hlo8(20)
244 0176 50E0 ldi r21,hhi8(20)
245 0178 0E94 0000 call __udivmodsi4
246 .LM27:
247 017c 205A subi r18,lo8(-(-36000))
248 017e 3C48 sbci r19,hi8(-(-36000))
249 0180 4040 sbci r20,hlo8(-(-36000))
250 0182 5040 sbci r21,hhi8(-(-36000))
251 0184 CA01 movw r24,r20
252 0186 B901 movw r22,r18
253 0188 28E1 ldi r18,lo8(24)
254 018a 30E0 ldi r19,hi8(24)
255 018c 40E0 ldi r20,hlo8(24)
256 018e 50E0 ldi r21,hhi8(24)
257 0190 0E94 0000 call __mulsi3
258 0194 29E1 ldi r18,lo8(25)
259 0196 30E0 ldi r19,hi8(25)
260 0198 40E0 ldi r20,hlo8(25)
261 019a 50E0 ldi r21,hhi8(25)
262 019c 0E94 0000 call __udivmodsi4
263 .LM28:
264 01a0 CA01 movw r24,r20
265 01a2 B901 movw r22,r18
266 .LVL6:
267 01a4 24E6 ldi r18,lo8(100)
268 01a6 30E0 ldi r19,hi8(100)
269 01a8 40E0 ldi r20,hlo8(100)
270 01aa 50E0 ldi r21,hhi8(100)
271 01ac 0E94 0000 call __udivmodsi4
272 .LVL7:
273 01b0 7901 movw r14,r18
274 01b2 8A01 movw r16,r20
275 .LM29:
276 01b4 CA01 movw r24,r20
277 01b6 B901 movw r22,r18
278 .LVL8:
279 01b8 2AE0 ldi r18,lo8(10)
280 01ba 30E0 ldi r19,hi8(10)
281 01bc 40E0 ldi r20,hlo8(10)
282 01be 50E0 ldi r21,hhi8(10)
283 01c0 0E94 0000 call __udivmodsi4
284 .LVL9:
285 01c4 5901 movw r10,r18
286 01c6 6A01 movw r12,r20
287 .LVL10:
288 .LM30:
289 01c8 C801 movw r24,r16
290 01ca B701 movw r22,r14
291 .LVL11:
292 01cc 2AE0 ldi r18,lo8(10)
293 01ce 30E0 ldi r19,hi8(10)
294 01d0 40E0 ldi r20,hlo8(10)
295 01d2 50E0 ldi r21,hhi8(10)
296 01d4 0E94 0000 call __udivmodsi4
297 .LVL12:
298 01d8 6530 cpi r22,lo8(5)
299 01da 00F0 brlo .L14
300 .LM31:
301 01dc 0894 sec
302 01de A11C adc r10,__zero_reg__
303 01e0 B11C adc r11,__zero_reg__
304 01e2 C11C adc r12,__zero_reg__
305 01e4 D11C adc r13,__zero_reg__
306 .LVL13:
307 .L14:
308 .LM32:
309 01e6 C501 movw r24,r10
310 /* epilogue: frame size=0 */
311 01e8 1F91 pop r17
312 01ea 0F91 pop r16
313 01ec FF90 pop r15
314 01ee EF90 pop r14
315 01f0 DF90 pop r13
316 01f2 CF90 pop r12
317 01f4 BF90 pop r11
318 01f6 AF90 pop r10
319 01f8 0895 ret
320 /* epilogue end (size=9) */
321 /* function Calculate_Distant size 113 (96) */
322 .LFE8:
324 .global GetImmediateDistance
326 GetImmediateDistance:
327 .LFB9:
328 .LM33:
329 /* prologue: frame size=0 */
330 01fa CF93 push r28
331 01fc DF93 push r29
332 /* prologue end (size=2) */
333 .LM34:
334 01fe 1092 0000 sts Ultrasound_TimeOut_Flag,__zero_reg__
335 .LM35:
336 0202 1092 0000 sts Ultrasound_Receive_Flag,__zero_reg__
337 .LM36:
338 0206 8EB5 in r24,78-0x20
339 0208 8260 ori r24,lo8(2)
340 020a 8EBD out 78-0x20,r24
341 020c 80B7 in r24,80-0x20
342 020e 8160 ori r24,lo8(1)
343 0210 80BF out 80-0x20,r24
344 .LM37:
345 0212 BB9A sbi 55-0x20,3
346 .LM38:
347 0214 86E9 ldi r24,lo8(150)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -