📄 main.lst
字号:
1 .file "main.c"
2 .arch atmega16
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 delay
20 delay:
21 .LFB6:
22 .LM1:
23 /* prologue: frame size=0 */
24 0000 CF93 push r28
25 0002 DF93 push r29
26 /* prologue end (size=2) */
27 0004 382F mov r19,r24
28 .LM2:
29 0006 20E0 ldi r18,lo8(0)
30 0008 2817 cp r18,r24
31 000a 50F4 brsh .L15
32 000c A0E2 ldi r26,lo8(20000)
33 000e BEE4 ldi r27,hi8(20000)
34 0010 C0E0 ldi r28,hlo8(20000)
35 0012 D0E0 ldi r29,hhi8(20000)
36 .L13:
37 .LBB2:
38 .LBB3:
39 .LBB4:
40 .LBB5:
41 .LM3:
42 0014 CD01 movw r24,r26
43 /* #APP */
44 0016 0197 1: sbiw r24,1
45 0018 F1F7 brne 1b
46 /* #NOAPP */
47 .LBE5:
48 .LBE4:
49 .LBE3:
50 .LBE2:
51 .LM4:
52 001a 2F5F subi r18,lo8(-(1))
53 001c 2317 cp r18,r19
54 001e D0F3 brlo .L13
55 .L15:
56 /* epilogue: frame size=0 */
57 0020 DF91 pop r29
58 0022 CF91 pop r28
59 0024 0895 ret
60 /* epilogue end (size=3) */
61 /* function delay size 21 (16) */
62 .LFE6:
64 .global Uart_Init
66 Uart_Init:
67 .LFB7:
68 .LM5:
69 /* prologue: frame size=0 */
70 /* prologue end (size=0) */
71 .LM6:
72 0026 88ED ldi r24,lo8(-40)
73 0028 8AB9 out 42-0x20,r24
74 .LM7:
75 002a 88E6 ldi r24,lo8(104)
76 002c 89B9 out 41-0x20,r24
77 .LM8:
78 002e 10BC out 64-0x20,__zero_reg__
79 .LM9:
80 0030 86E8 ldi r24,lo8(-122)
81 0032 80BD out 64-0x20,r24
82 /* epilogue: frame size=0 */
83 0034 0895 ret
84 /* epilogue end (size=1) */
85 /* function Uart_Init size 8 (7) */
86 .LFE7:
88 .global Uart_PutChar
90 Uart_PutChar:
91 .LFB8:
92 .LM10:
93 /* prologue: frame size=0 */
94 /* prologue end (size=0) */
95 .L18:
96 .LM11:
97 0036 5D9B sbis 43-0x20,5
98 0038 FECF rjmp .L18
99 .LM12:
100 003a 8CB9 out 44-0x20,r24
101 /* epilogue: frame size=0 */
102 003c 0895 ret
103 /* epilogue end (size=1) */
104 /* function Uart_PutChar size 4 (3) */
105 .LFE8:
107 .global Uart_PutString
109 Uart_PutString:
110 .LFB9:
111 .LM13:
112 /* prologue: frame size=0 */
113 003e CF93 push r28
114 0040 DF93 push r29
115 /* prologue end (size=2) */
116 0042 EC01 movw r28,r24
117 .L27:
118 .LM14:
119 0044 8881 ld r24,Y
120 0046 8823 tst r24
121 0048 21F0 breq .L26
122 .LM15:
123 004a 8991 ld r24,Y+
124 004c 0E94 0000 call Uart_PutChar
125 0050 F9CF rjmp .L27
126 .L26:
127 .LM16:
128 0052 8DE0 ldi r24,lo8(13)
129 0054 0E94 0000 call Uart_PutChar
130 /* epilogue: frame size=0 */
131 0058 DF91 pop r29
132 005a CF91 pop r28
133 005c 0895 ret
134 /* epilogue end (size=3) */
135 /* function Uart_PutString size 16 (11) */
136 .LFE9:
138 .global Uart_Recv
140 Uart_Recv:
141 .LFB10:
142 .LM17:
143 /* prologue: frame size=0 */
144 /* prologue end (size=0) */
145 .LM18:
146 005e 5F9B sbis 43-0x20,7
147 0060 03C0 rjmp .L29
148 .LM19:
149 0062 8CB1 in r24,44-0x20
150 0064 9927 clr r25
151 0066 0895 ret
152 .L29:
153 .LM20:
154 0068 80E0 ldi r24,lo8(0)
155 006a 90E0 ldi r25,hi8(0)
156 .LM21:
157 006c 0895 ret
158 /* epilogue: frame size=0 */
159 /* epilogue: noreturn */
160 /* epilogue end (size=0) */
161 /* function Uart_Recv size 8 (8) */
162 .LFE10:
164 .global keyboard_Initial
166 keyboard_Initial:
167 .LFB11:
168 .LM22:
169 /* prologue: frame size=0 */
170 /* prologue end (size=0) */
171 .LM23:
172 006e 84B3 in r24,52-0x20
173 0070 837C andi r24,lo8(-61)
174 0072 84BB out 52-0x20,r24
175 .LM24:
176 0074 85B3 in r24,53-0x20
177 0076 8C63 ori r24,lo8(60)
178 0078 85BB out 53-0x20,r24
179 /* epilogue: frame size=0 */
180 007a 0895 ret
181 /* epilogue end (size=1) */
182 /* function keyboard_Initial size 7 (6) */
183 .LFE11:
185 .global GetKey
187 GetKey:
188 .LFB12:
189 .LM25:
190 /* prologue: frame size=0 */
191 007c CF93 push r28
192 /* prologue end (size=1) */
193 .LM26:
194 007e C0E0 ldi r28,lo8(0)
195 .LM27:
196 0080 85B3 in r24,53-0x20
197 0082 8C63 ori r24,lo8(60)
198 0084 85BB out 53-0x20,r24
199 .LM28:
200 0086 85E0 ldi r24,lo8(5)
201 0088 0E94 0000 call delay
202 .LM29:
203 008c 83B3 in r24,51-0x20
204 .LM30:
205 008e 8C73 andi r24,lo8(60)
206 .LM31:
207 0090 9927 clr r25
208 0092 8095 com r24
209 0094 9095 com r25
210 0096 85FD sbrc r24,5
211 .LM32:
212 0098 C1E0 ldi r28,lo8(1)
213 .L33:
214 .LM33:
215 009a 84FD sbrc r24,4
216 .LM34:
217 009c C2E0 ldi r28,lo8(2)
218 .L34:
219 .LM35:
220 009e 83FD sbrc r24,3
221 .LM36:
222 00a0 C3E0 ldi r28,lo8(3)
223 .L35:
224 .LM37:
225 00a2 82FD sbrc r24,2
226 .LM38:
227 00a4 C4E0 ldi r28,lo8(4)
228 .L36:
229 .LM39:
230 00a6 8C2F mov r24,r28
231 00a8 9927 clr r25
232 /* epilogue: frame size=0 */
233 00aa CF91 pop r28
234 00ac 0895 ret
235 /* epilogue end (size=2) */
236 /* function GetKey size 29 (26) */
237 .LFE12:
239 .data
240 .LC0:
241 0000 4154 00 .string "AT"
242 .LC1:
243 0003 4154 2B43 .string "AT+CMGF=1"
243 4D47 463D
243 3100
244 .LC2:
245 000d 41 .byte 65
246 000e 54 .byte 84
247 000f 2B .byte 43
248 0010 43 .byte 67
249 0011 4D .byte 77
250 0012 47 .byte 71
251 0013 53 .byte 83
252 0014 3D .byte 61
253 0015 22 .byte 34
254 0016 31 .byte 49
255 0017 33 .byte 51
256 0018 38 .byte 56
257 0019 38 .byte 56
258 001a 36 .byte 54
259 001b 38 .byte 56
260 001c 33 .byte 51
261 001d 32 .byte 50
262 001e 32 .byte 50
263 001f 36 .byte 54
264 0020 39 .byte 57
265 0021 22 .byte 34
266 0022 0000 00 .skip 3,0
267 .LC3:
268 0025 7465 6D70 .string "temp:"
268 3A00
269 002b 0000 .skip 2,0
270 .text
271 .global main
273 main:
274 .LFB13:
275 .LM40:
276 /* prologue: frame size=45 */
277 00ae C0E0 ldi r28,lo8(__stack - 45)
278 00b0 D0E0 ldi r29,hi8(__stack - 45)
279 00b2 DEBF out __SP_H__,r29
280 00b4 CDBF out __SP_L__,r28
281 /* prologue end (size=4) */
282 .LM41:
283 00b6 83E0 ldi r24,lo8(3)
284 00b8 A0E0 ldi r26,lo8(.LC0)
285 00ba B0E0 ldi r27,hi8(.LC0)
286 00bc FE01 movw r30,r28
287 00be 3196 adiw r30,1
288 00c0 0D90 ld __tmp_reg__,X+
289 00c2 0192 st Z+,__tmp_reg__
290 00c4 8A95 dec r24
291 00c6 E1F7 brne .-8
292 .LM42:
293 00c8 94E0 ldi r25,lo8(4)
294 00ca C92E mov r12,r25
295 00cc D12C mov r13,__zero_reg__
296 00ce CC0E add r12,r28
297 00d0 DD1E adc r13,r29
298 00d2 8AE0 ldi r24,lo8(10)
299 00d4 E0E0 ldi r30,lo8(.LC1)
300 00d6 F0E0 ldi r31,hi8(.LC1)
301 00d8 D601 movw r26,r12
302 00da 0190 ld __tmp_reg__,Z+
303 00dc 0D92 st X+,__tmp_reg__
304 00de 8A95 dec r24
305 00e0 E1F7 brne .-8
306 .LM43:
307 00e2 8EE0 ldi r24,lo8(14)
308 00e4 E82E mov r14,r24
309 00e6 F12C mov r15,__zero_reg__
310 00e8 EC0E add r14,r28
311 00ea FD1E adc r15,r29
312 00ec 88E1 ldi r24,lo8(24)
313 00ee E0E0 ldi r30,lo8(.LC2)
314 00f0 F0E0 ldi r31,hi8(.LC2)
315 00f2 D701 movw r26,r14
316 00f4 0190 ld __tmp_reg__,Z+
317 00f6 0D92 st X+,__tmp_reg__
318 00f8 8A95 dec r24
319 00fa E1F7 brne .-8
320 .LM44:
321 00fc 8E01 movw r16,r28
322 00fe 0A5D subi r16,lo8(-(38))
323 0100 1F4F sbci r17,hi8(-(38))
324 0102 86E0 ldi r24,lo8(6)
325 0104 E0E0 ldi r30,lo8(.LC3)
326 0106 F0E0 ldi r31,hi8(.LC3)
327 0108 D801 movw r26,r16
328 010a 0190 ld __tmp_reg__,Z+
329 010c 0D92 st X+,__tmp_reg__
330 010e 8A95 dec r24
331 0110 E1F7 brne .-8
332 0112 1DA6 std Y+45,__zero_reg__
333 0114 1CA6 std Y+44,__zero_reg__
334 .LM45:
335 0116 8AE1 ldi r24,lo8(26)
336 0118 8BA7 std Y+43,r24
337 .LM46:
338 011a 0E94 0000 call Uart_Init
339 .LM47:
340 011e 0E94 0000 call keyboard_Initial
341 .L44:
342 .LM48:
343 0122 0E94 0000 call GetKey
344 .LM49:
345 0126 8130 cpi r24,lo8(1)
346 0128 E1F7 brne .L44
347 .LM50:
348 012a CE01 movw r24,r28
349 012c 0196 adiw r24,1
350 012e 0E94 0000 call Uart_PutString
351 .LM51:
352 0132 84E1 ldi r24,lo8(20)
353 0134 0E94 0000 call delay
354 .LM52:
355 0138 C601 movw r24,r12
356 013a 0E94 0000 call Uart_PutString
357 .LM53:
358 013e 84E1 ldi r24,lo8(20)
359 0140 0E94 0000 call delay
360 .LM54:
361 0144 C701 movw r24,r14
362 0146 0E94 0000 call Uart_PutString
363 .LM55:
364 014a 84E1 ldi r24,lo8(20)
365 014c 0E94 0000 call delay
366 .LM56:
367 0150 C801 movw r24,r16
368 0152 0E94 0000 call Uart_PutString
369 .LM57:
370 0156 84E1 ldi r24,lo8(20)
371 0158 0E94 0000 call delay
372 015c E2CF rjmp .L44
373 /* epilogue: frame size=45 */
374 /* epilogue: noreturn */
375 /* epilogue end (size=0) */
376 /* function main size 88 (84) */
377 .LFE13:
379 .comm Send_Buf,1,1
380 .comm Recv_Buf,1,1
381 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 main.c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc6Haaaa.s:3 *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc6Haaaa.s:4 *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc6Haaaa.s:5 *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc6Haaaa.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc6Haaaa.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc6Haaaa.s:20 .text:00000000 delay
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc6Haaaa.s:66 .text:00000026 Uart_Init
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc6Haaaa.s:90 .text:00000036 Uart_PutChar
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc6Haaaa.s:109 .text:0000003e Uart_PutString
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc6Haaaa.s:140 .text:0000005e Uart_Recv
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc6Haaaa.s:166 .text:0000006e keyboard_Initial
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc6Haaaa.s:187 .text:0000007c GetKey
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc6Haaaa.s:273 .text:000000ae main
*COM*:00000001 Send_Buf
*COM*:00000001 Recv_Buf
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -