📄 dtmf2.lst
字号:
1 .file "dtmf2.c"
2 .arch attiny2313
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 eread
20 eread:
21 .LFB9:
22 .LM1:
23 /* prologue: frame size=0 */
24 /* prologue end (size=0) */
25 0000 982F mov r25,r24
26 .LM2:
27 0002 8695 lsr r24
28 0004 8EBB out 62-0x20,r24
29 .LM3:
30 0006 E09A sbi 60-0x20,0
31 .LM4:
32 0008 90FF sbrs r25,0
33 000a 05C0 rjmp .L2
34 .LM5:
35 000c 8DB3 in r24,61-0x20
36 000e 9927 clr r25
37 0010 8F70 andi r24,lo8(15)
38 0012 9070 andi r25,hi8(15)
39 0014 0895 ret
40 .L2:
41 .LM6:
42 0016 8DB3 in r24,61-0x20
43 0018 8295 swap r24
44 001a 8F70 andi r24,0x0f
45 001c 9927 clr r25
46 .LM7:
47 001e 0895 ret
48 /* epilogue: frame size=0 */
49 0020 0895 ret
50 /* epilogue end (size=1) */
51 /* function eread size 17 (16) */
52 .LFE9:
54 .global lcdwrt
56 lcdwrt:
57 .LFB15:
58 .LM8:
59 /* prologue: frame size=2 */
60 0022 CF93 push r28
61 0024 DF93 push r29
62 0026 CDB7 in r28,__SP_L__
63 0028 DEB7 in r29,__SP_H__
64 002a 2297 sbiw r28,2
65 002c 0FB6 in __tmp_reg__,__SREG__
66 002e F894 cli
67 0030 DEBF out __SP_H__,r29
68 0032 0FBE out __SREG__,__tmp_reg__
69 0034 CDBF out __SP_L__,r28
70 /* prologue end (size=10) */
71 .LM9:
72 0036 9FEF ldi r25,lo8(-1)
73 0038 97BB out 55-0x20,r25
74 .LM10:
75 003a 8130 cpi r24,lo8(1)
76 003c 11F4 brne .L5
77 .LM11:
78 003e 959A sbi 50-0x20,5
79 0040 01C0 rjmp .L6
80 .L5:
81 .LM12:
82 0042 9598 cbi 50-0x20,5
83 .L6:
84 .LM13:
85 0044 68BB out 56-0x20,r22
86 .LM14:
87 0046 1982 std Y+1,__zero_reg__
88 0048 1A82 std Y+2,__zero_reg__
89 .L25:
90 004a 8981 ldd r24,Y+1
91 004c 9A81 ldd r25,Y+2
92 004e C297 sbiw r24,50
93 0050 30F4 brsh .L20
94 0052 8981 ldd r24,Y+1
95 0054 9A81 ldd r25,Y+2
96 0056 0196 adiw r24,1
97 0058 8983 std Y+1,r24
98 005a 9A83 std Y+2,r25
99 005c F6CF rjmp .L25
100 .L20:
101 .LM15:
102 005e 969A sbi 50-0x20,6
103 .LM16:
104 0060 1982 std Y+1,__zero_reg__
105 0062 1A82 std Y+2,__zero_reg__
106 .L26:
107 0064 8981 ldd r24,Y+1
108 0066 9A81 ldd r25,Y+2
109 0068 C297 sbiw r24,50
110 006a 30F4 brsh .L22
111 006c 8981 ldd r24,Y+1
112 006e 9A81 ldd r25,Y+2
113 0070 0196 adiw r24,1
114 0072 8983 std Y+1,r24
115 0074 9A83 std Y+2,r25
116 0076 F6CF rjmp .L26
117 .L22:
118 .LM17:
119 0078 9698 cbi 50-0x20,6
120 .LM18:
121 007a 1982 std Y+1,__zero_reg__
122 007c 1A82 std Y+2,__zero_reg__
123 .L27:
124 007e 8981 ldd r24,Y+1
125 0080 9A81 ldd r25,Y+2
126 0082 883C cpi r24,200
127 0084 9105 cpc r25,__zero_reg__
128 0086 30F4 brsh .L24
129 0088 8981 ldd r24,Y+1
130 008a 9A81 ldd r25,Y+2
131 008c 0196 adiw r24,1
132 008e 8983 std Y+1,r24
133 0090 9A83 std Y+2,r25
134 0092 F5CF rjmp .L27
135 .L24:
136 .LM19:
137 0094 17BA out 55-0x20,__zero_reg__
138 /* epilogue: frame size=2 */
139 0096 2296 adiw r28,2
140 0098 0FB6 in __tmp_reg__,__SREG__
141 009a F894 cli
142 009c DEBF out __SP_H__,r29
143 009e 0FBE out __SREG__,__tmp_reg__
144 00a0 CDBF out __SP_L__,r28
145 00a2 DF91 pop r29
146 00a4 CF91 pop r28
147 00a6 0895 ret
148 /* epilogue end (size=9) */
149 /* function lcdwrt size 69 (50) */
150 .LFE15:
152 .global TXbyte
154 TXbyte:
155 .LFB7:
156 .LM20:
157 /* prologue: frame size=0 */
158 /* prologue end (size=0) */
159 .L29:
160 .LM21:
161 00a8 5D9B sbis 43-0x20,5
162 00aa FECF rjmp .L29
163 .LM22:
164 00ac 8CB9 out 44-0x20,r24
165 /* epilogue: frame size=0 */
166 00ae 0895 ret
167 /* epilogue end (size=1) */
168 /* function TXbyte size 4 (3) */
169 .LFE7:
171 .global UART_PrintfProgStr
173 UART_PrintfProgStr:
174 .LFB6:
175 .LM23:
176 /* prologue: frame size=0 */
177 00b0 0F93 push r16
178 00b2 1F93 push r17
179 00b4 CF93 push r28
180 00b6 DF93 push r29
181 /* prologue end (size=4) */
182 00b8 D92F mov r29,r25
183 00ba C82F mov r28,r24
184 .LM24:
185 00bc 00E0 ldi r16,lo8(0)
186 .LM25:
187 00be 60E8 ldi r22,lo8(-128)
188 00c0 802F mov r24,r16
189 00c2 AFDF rcall lcdwrt
190 .LBB2:
191 .LM26:
192 00c4 FD2F mov r31,r29
193 00c6 EC2F mov r30,r28
194 /* #APP */
195 00c8 C895 lpm
196 00ca 802D mov r24, r0
197
198 /* #NOAPP */
199 .LBE2:
200 00cc 8823 tst r24
201 00ce B9F0 breq .L41
202 .L39:
203 .LBB3:
204 .LM27:
205 00d0 FD2F mov r31,r29
206 00d2 EC2F mov r30,r28
207 /* #APP */
208 00d4 C895 lpm
209 00d6 102D mov r17, r0
210
211 /* #NOAPP */
212 .LBE3:
213 00d8 1CB9 out 44-0x20,r17
214 .LM28:
215 00da 0031 cpi r16,lo8(16)
216 00dc 19F4 brne .L35
217 .LM29:
218 00de 60EC ldi r22,lo8(-64)
219 00e0 80E0 ldi r24,lo8(0)
220 00e2 9FDF rcall lcdwrt
221 .L35:
222 .LM30:
223 00e4 612F mov r22,r17
224 00e6 81E0 ldi r24,lo8(1)
225 00e8 9CDF rcall lcdwrt
226 .LM31:
227 00ea 2196 adiw r28,1
228 .LM32:
229 00ec 0F5F subi r16,lo8(-(1))
230 .L36:
231 .LM33:
232 00ee 5D9B sbis 43-0x20,5
233 00f0 FECF rjmp .L36
234 .LBB4:
235 00f2 FD2F mov r31,r29
236 00f4 EC2F mov r30,r28
237 /* #APP */
238 00f6 C895 lpm
239 00f8 802D mov r24, r0
240
241 /* #NOAPP */
242 .LBE4:
243 00fa 8823 tst r24
244 00fc 49F7 brne .L39
245 .L41:
246 /* epilogue: frame size=0 */
247 00fe DF91 pop r29
248 0100 CF91 pop r28
249 0102 1F91 pop r17
250 0104 0F91 pop r16
251 0106 0895 ret
252 /* epilogue end (size=5) */
253 /* function UART_PrintfProgStr size 56 (47) */
254 .LFE6:
256 .global fltr
258 fltr:
259 .LFB14:
260 .LM34:
261 /* prologue: frame size=0 */
262 /* prologue end (size=0) */
263 .LM35:
264 0108 8F30 cpi r24,lo8(15)
265 010a 19F4 brne .L43
266 .LM36:
267 010c 80E2 ldi r24,lo8(32)
268 010e 90E0 ldi r25,hi8(32)
269 0110 0895 ret
270 .L43:
271 .LM37:
272 0112 8A30 cpi r24,lo8(10)
273 0114 19F4 brne .L44
274 .LM38:
275 0116 80E3 ldi r24,lo8(48)
276 0118 90E0 ldi r25,hi8(48)
277 011a 0895 ret
278 .L44:
279 .LM39:
280 011c 8B30 cpi r24,lo8(11)
281 011e 19F4 brne .L45
282 .LM40:
283 0120 8AE2 ldi r24,lo8(42)
284 0122 90E0 ldi r25,hi8(42)
285 0124 0895 ret
286 .L45:
287 .LM41:
288 0126 8C30 cpi r24,lo8(12)
289 0128 19F4 brne .L46
290 .LM42:
291 012a 83E2 ldi r24,lo8(35)
292 012c 90E0 ldi r25,hi8(35)
293 012e 0895 ret
294 .L46:
295 .LM43:
296 0130 8063 ori r24,lo8(48)
297 0132 9927 clr r25
298 .LM44:
299 0134 0895 ret
300 /* epilogue: frame size=0 */
301 0136 0895 ret
302 /* epilogue end (size=1) */
303 /* function fltr size 24 (23) */
304 .LFE14:
306 .section .progmem.data,"a",@progbits
309 __c.0:
310 0000 4454 4D46 .string "DTMF Decoder by www.infidigm.net"
310 2044 6563
310 6F64 6572
310 2062 7920
310 7777 772E
311 .text
312 .global main
314 main:
315 .LFB3:
316 .LM45:
317 /* prologue: frame size=0 */
318 0138 C0E0 ldi r28,lo8(__stack - 0)
319 013a D0E0 ldi r29,hi8(__stack - 0)
320 013c DEBF out __SP_H__,r29
321 013e CDBF out __SP_L__,r28
322 /* prologue end (size=4) */
323 .LM46:
324 /* #APP */
325 0140 F894 cli
326 .LM47:
327 /* #NOAPP */
328 0142 17BA out 55-0x20,__zero_reg__
329 .LM48:
330 0144 80E7 ldi r24,lo8(112)
331 0146 81BB out 49-0x20,r24
332 .LM49:
333 0148 C498 cbi 56-0x20,4
334 .LM50:
335 014a 86E1 ldi r24,lo8(22)
336 014c 89B9 out 41-0x20,r24
337 .LM51:
338 014e 88E0 ldi r24,lo8(8)
339 0150 8AB9 out 42-0x20,r24
340 .LM52:
341 0152 83E0 ldi r24,lo8(3)
342 0154 83BF out 83-0x20,r24
343 .LM53:
344 0156 82E0 ldi r24,lo8(2)
345 0158 89BF out 89-0x20,r24
346 .LM54:
347 015a 90E8 ldi r25,lo8(-128)
348 015c 9BBF out 91-0x20,r25
349 .LM55:
350 015e 8CE2 ldi r24,lo8(44)
351 0160 85BF out 85-0x20,r24
352 .LM56:
353 0162 9ABF out 90-0x20,r25
354 .LM57:
355 0164 1092 0000 sts eepos,__zero_reg__
356 .L53:
357 .LM58:
358 0168 8091 0000 lds r24,eepos
359 016c 49DF rcall eread
360 016e 8F30 cpi r24,lo8(15)
361 0170 39F0 breq .L50
362 .LM59:
363 0172 8091 0000 lds r24,eepos
364 0176 8F5F subi r24,lo8(-(1))
365 0178 8093 0000 sts eepos,r24
366 017c 8F3F cpi r24,lo8(-1)
367 017e A1F7 brne .L53
368 .L50:
369 .LM60:
370 0180 8091 0000 lds r24,eepos
371 0184 8093 0000 sts eref,r24
372 .LM61:
373 0188 83E1 ldi r24,lo8(19)
374 018a 8093 0000 sts lcdln,r24
375 .LM62:
376 018e 81E0 ldi r24,lo8(1)
377 0190 8093 0000 sts redraw,r24
378 .LM63:
379 0194 682F mov r22,r24
380 0196 80E0 ldi r24,lo8(0)
381 0198 44DF rcall lcdwrt
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -