📄 camel.lst
字号:
1 .file "camel.c"
2 .arch atmega8
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 .global SpeakerPlay
20 SpeakerPlay:
21 .LFB2:
22 .LM1:
23 /* prologue: frame size=0 */
24 /* prologue end (size=0) */
25 .LM2:
26 0000 8091 0000 lds r24,speakerPlayInitSet
27 0004 8823 tst r24
28 0006 01F4 brne .L9
29 .LM3:
30 0008 8091 0000 lds r24,speakerPlayflag
31 000c 8823 tst r24
32 000e 01F4 brne .L4
33 .LM4:
34 0010 C29A sbi 56-0x20,2
35 .LM5:
36 0012 81E0 ldi r24,lo8(1)
37 0014 8093 0000 sts speakerPlayflag,r24
38 .LM6:
39 0018 1092 0000 sts (speakerPlayTemp)+1,__zero_reg__
40 001c 1092 0000 sts speakerPlayTemp,__zero_reg__
41 0020 0895 ret
42 .L4:
43 .LM7:
44 0022 2091 0000 lds r18,speakerPlayflag
45 0026 2130 cpi r18,lo8(1)
46 0028 01F4 brne .L9
47 .LM8:
48 002a 8091 0000 lds r24,speakerPlayTemp
49 002e 9091 0000 lds r25,(speakerPlayTemp)+1
50 0032 0196 adiw r24,1
51 0034 9093 0000 sts (speakerPlayTemp)+1,r25
52 0038 8093 0000 sts speakerPlayTemp,r24
53 .LM9:
54 003c 8091 0000 lds r24,speakerPlayTemp
55 0040 9091 0000 lds r25,(speakerPlayTemp)+1
56 0044 4497 sbiw r24,20
57 0046 00F4 brsh .L7
58 .LM10:
59 0048 C298 cbi 56-0x20,2
60 004a 0895 ret
61 .L7:
62 .LM11:
63 004c C29A sbi 56-0x20,2
64 .LM12:
65 004e 1092 0000 sts speakerPlayflag,__zero_reg__
66 .LM13:
67 0052 2093 0000 sts speakerPlayInitSet,r18
68 .L9:
69 0056 0895 ret
70 /* epilogue: frame size=0 */
71 /* epilogue: noreturn */
72 /* epilogue end (size=0) */
73 /* function SpeakerPlay size 45 (45) */
74 .LFE2:
76 .global SpeakerRec
78 SpeakerRec:
79 .LFB3:
80 .LM14:
81 /* prologue: frame size=0 */
82 /* prologue end (size=0) */
83 .LM15:
84 0058 8091 0000 lds r24,speakerRecInitSet
85 005c 8823 tst r24
86 005e 01F4 brne .L18
87 .LM16:
88 0060 8091 0000 lds r24,speakerRecflag
89 0064 8823 tst r24
90 0066 01F4 brne .L13
91 .LM17:
92 0068 C19A sbi 56-0x20,1
93 .LM18:
94 006a 81E0 ldi r24,lo8(1)
95 006c 8093 0000 sts speakerRecflag,r24
96 .LM19:
97 0070 1092 0000 sts (speakerRecTemp)+1,__zero_reg__
98 0074 1092 0000 sts speakerRecTemp,__zero_reg__
99 0078 0895 ret
100 .L13:
101 .LM20:
102 007a 2091 0000 lds r18,speakerRecflag
103 007e 2130 cpi r18,lo8(1)
104 0080 01F4 brne .L18
105 .LM21:
106 0082 8091 0000 lds r24,speakerRecTemp
107 0086 9091 0000 lds r25,(speakerRecTemp)+1
108 008a 0196 adiw r24,1
109 008c 9093 0000 sts (speakerRecTemp)+1,r25
110 0090 8093 0000 sts speakerRecTemp,r24
111 .LM22:
112 0094 8091 0000 lds r24,speakerRecTemp
113 0098 9091 0000 lds r25,(speakerRecTemp)+1
114 009c 4497 sbiw r24,20
115 009e 00F4 brsh .L16
116 .LM23:
117 00a0 C198 cbi 56-0x20,1
118 00a2 0895 ret
119 .L16:
120 .LM24:
121 00a4 C19A sbi 56-0x20,1
122 .LM25:
123 00a6 1092 0000 sts speakerRecflag,__zero_reg__
124 .LM26:
125 00aa 2093 0000 sts speakerRecInitSet,r18
126 .L18:
127 00ae 0895 ret
128 /* epilogue: frame size=0 */
129 /* epilogue: noreturn */
130 /* epilogue end (size=0) */
131 /* function SpeakerRec size 45 (45) */
132 .LFE3:
134 .global checkKey
136 checkKey:
137 .LFB4:
138 .LM27:
139 /* prologue: frame size=0 */
140 /* prologue end (size=0) */
141 .LM28:
142 00b0 8091 0000 lds r24,keyLevel
143 00b4 8823 tst r24
144 00b6 01F0 breq .+2
145 00b8 00C0 rjmp .L20
146 .LM29:
147 00ba 849B sbis 48-0x20,4
148 00bc 00C0 rjmp .L20
149 .LM30:
150 00be 91E0 ldi r25,lo8(1)
151 00c0 9093 0000 sts keyLevel,r25
152 .LM31:
153 00c4 83B3 in r24,51-0x20
154 00c6 8F70 andi r24,lo8(15)
155 00c8 8130 cpi r24,lo8(1)
156 00ca 01F4 brne .L23
157 .LM32:
158 00cc 9093 0000 sts KeyFlag,r25
159 00d0 9093 0000 sts KeyNum,r25
160 00d4 0895 ret
161 .L23:
162 .LM33:
163 00d6 83B3 in r24,51-0x20
164 00d8 8F70 andi r24,lo8(15)
165 00da 8230 cpi r24,lo8(2)
166 00dc 01F0 breq .L52
167 .LM34:
168 00de 83B3 in r24,51-0x20
169 00e0 8F70 andi r24,lo8(15)
170 00e2 8330 cpi r24,lo8(3)
171 00e4 01F0 breq .L52
172 .LM35:
173 00e6 83B3 in r24,51-0x20
174 00e8 8F70 andi r24,lo8(15)
175 00ea 8430 cpi r24,lo8(4)
176 00ec 01F0 breq .L52
177 .LM36:
178 00ee 83B3 in r24,51-0x20
179 00f0 8F70 andi r24,lo8(15)
180 00f2 8530 cpi r24,lo8(5)
181 00f4 01F0 breq .L52
182 .LM37:
183 00f6 83B3 in r24,51-0x20
184 00f8 8F70 andi r24,lo8(15)
185 00fa 8630 cpi r24,lo8(6)
186 00fc 01F0 breq .L52
187 .LM38:
188 00fe 83B3 in r24,51-0x20
189 0100 8F70 andi r24,lo8(15)
190 0102 8730 cpi r24,lo8(7)
191 0104 01F0 breq .L52
192 .LM39:
193 0106 83B3 in r24,51-0x20
194 0108 8F70 andi r24,lo8(15)
195 010a 8830 cpi r24,lo8(8)
196 010c 01F0 breq .L52
197 .LM40:
198 010e 83B3 in r24,51-0x20
199 0110 8F70 andi r24,lo8(15)
200 0112 8930 cpi r24,lo8(9)
201 0114 01F0 breq .L52
202 .LM41:
203 0116 83B3 in r24,51-0x20
204 0118 8F70 andi r24,lo8(15)
205 011a 8A30 cpi r24,lo8(10)
206 011c 01F4 brne .L42
207 .L52:
208 .LM42:
209 011e 9093 0000 sts KeyFlag,r25
210 0122 00C0 rjmp .L49
211 .L42:
212 .LM43:
213 0124 83B3 in r24,51-0x20
214 0126 8F70 andi r24,lo8(15)
215 0128 8B30 cpi r24,lo8(11)
216 012a 01F4 brne .L44
217 .LM44:
218 012c 81E0 ldi r24,lo8(1)
219 012e 8093 0000 sts KeyFlag,r24
220 0132 8BE0 ldi r24,lo8(11)
221 0134 00C0 rjmp .L49
222 .L44:
223 .LM45:
224 0136 83B3 in r24,51-0x20
225 0138 8F70 andi r24,lo8(15)
226 013a 8C30 cpi r24,lo8(12)
227 013c 01F4 brne .L48
228 .LM46:
229 013e 81E0 ldi r24,lo8(1)
230 0140 8093 0000 sts KeyFlag,r24
231 0144 8CE0 ldi r24,lo8(12)
232 .L49:
233 0146 8093 0000 sts KeyNum,r24
234 014a 0895 ret
235 .L20:
236 .LM47:
237 014c 8499 sbic 48-0x20,4
238 014e 00C0 rjmp .L48
239 .LM48:
240 0150 1092 0000 sts keyLevel,__zero_reg__
241 .L48:
242 0154 0895 ret
243 /* epilogue: frame size=0 */
244 /* epilogue: noreturn */
245 /* epilogue end (size=0) */
246 /* function checkKey size 83 (83) */
247 .LFE4:
249 .global __vector_13
251 __vector_13:
252 .LFB5:
253 .LM49:
254 /* prologue: frame size=0 */
255 0156 1F92 push __zero_reg__
256 0158 0F92 push __tmp_reg__
257 015a 0FB6 in __tmp_reg__,__SREG__
258 015c 0F92 push __tmp_reg__
259 015e 1124 clr __zero_reg__
260 0160 8F93 push r24
261 0162 EF93 push r30
262 0164 FF93 push r31
263 /* prologue end (size=8) */
264 .LM50:
265 0166 8091 0000 lds r24,sendBufferCounter
266 016a 8150 subi r24,lo8(-(-1))
267 016c 8093 0000 sts sendBufferCounter,r24
268 0170 8091 0000 lds r24,sendBufferCounter
269 0174 8823 tst r24
270 0176 01F0 breq .L54
271 .LM51:
272 0178 8091 0000 lds r24,sendBufferReader
273 017c 8F5F subi r24,lo8(-(1))
274 017e 8093 0000 sts sendBufferReader,r24
275 0182 E091 0000 lds r30,sendBufferReader
276 0186 FF27 clr r31
277 0188 E050 subi r30,lo8(-(sendBuffer))
278 018a F040 sbci r31,hi8(-(sendBuffer))
279 018c 8081 ld r24,Z
280 018e 8CB9 out 44-0x20,r24
281 0190 00C0 rjmp .L57
282 .L54:
283 .LM52:
284 0192 1092 0000 sts sendBufferReader,__zero_reg__
285 .L57:
286 /* epilogue: frame size=0 */
287 0196 FF91 pop r31
288 0198 EF91 pop r30
289 019a 8F91 pop r24
290 019c 0F90 pop __tmp_reg__
291 019e 0FBE out __SREG__,__tmp_reg__
292 01a0 0F90 pop __tmp_reg__
293 01a2 1F90 pop __zero_reg__
294 01a4 1895 reti
295 /* epilogue end (size=8) */
296 /* function __vector_13 size 40 (24) */
297 .LFE5:
299 .global sendData
301 sendData:
302 .LFB6:
303 .LM53:
304 /* prologue: frame size=0 */
305 /* prologue end (size=0) */
306 .LVL0:
307 01a6 AC01 movw r20,r24
308 .LM54:
309 01a8 6093 0000 sts sendBufferCounter,r22
310 .LM55:
311 01ac 1092 0000 sts sendBufferReader,__zero_reg__
312 01b0 20E0 ldi r18,lo8(0)
313 .LVL1:
314 01b2 00C0 rjmp .L59
315 .LVL2:
316 .L60:
317 .LM56:
318 01b4 E22F mov r30,r18
319 01b6 FF27 clr r31
320 01b8 DA01 movw r26,r20
321 01ba AE0F add r26,r30
322 01bc BF1F adc r27,r31
323 01be 8C91 ld r24,X
324 01c0 E050 subi r30,lo8(-(sendBuffer))
325 01c2 F040 sbci r31,hi8(-(sendBuffer))
326 01c4 8083 st Z,r24
327 .LM57:
328 01c6 2F5F subi r18,lo8(-(1))
329 .LVL3:
330 .L59:
331 01c8 2617 cp r18,r22
332 01ca 01F4 brne .L60
333 .LM58:
334 01cc E091 0000 lds r30,sendBufferReader
335 01d0 FF27 clr r31
336 01d2 E050 subi r30,lo8(-(sendBuffer))
337 01d4 F040 sbci r31,hi8(-(sendBuffer))
338 01d6 8081 ld r24,Z
339 01d8 8CB9 out 44-0x20,r24
340 /* epilogue: frame size=0 */
341 01da 0895 ret
342 /* epilogue end (size=1) */
343 /* function sendData size 27 (26) */
344 .LFE6:
346 .global __vector_11
348 __vector_11:
349 .LFB7:
350 .LM59:
351 /* prologue: frame size=0 */
352 01dc 1F92 push __zero_reg__
353 01de 0F92 push __tmp_reg__
354 01e0 0FB6 in __tmp_reg__,__SREG__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -