📄 usart_main.lst
字号:
1 .file "USART_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 put_c
20 put_c:
21 .LFB7:
22 .LM1:
23 /* prologue: frame size=0 */
24 /* prologue end (size=0) */
25 .L2:
26 .LM2:
27 0000 5D9B sbis 43-0x20,5
28 0002 FECF rjmp .L2
29 .LM3:
30 0004 8CB9 out 44-0x20,r24
31 /* epilogue: frame size=0 */
32 0006 0895 ret
33 /* epilogue end (size=1) */
34 /* function put_c size 4 (3) */
35 .LFE7:
37 .global put_s
39 put_s:
40 .LFB8:
41 .LM4:
42 /* prologue: frame size=0 */
43 0008 CF93 push r28
44 000a DF93 push r29
45 /* prologue end (size=2) */
46 000c EC01 movw r28,r24
47 .L11:
48 .LM5:
49 000e 8881 ld r24,Y
50 0010 8823 tst r24
51 0012 21F0 breq .L10
52 0014 8991 ld r24,Y+
53 0016 0E94 0000 call put_c
54 001a F9CF rjmp .L11
55 .L10:
56 .LM6:
57 001c 8DE0 ldi r24,lo8(13)
58 001e 0E94 0000 call put_c
59 .LM7:
60 0022 8AE0 ldi r24,lo8(10)
61 0024 0E94 0000 call put_c
62 /* epilogue: frame size=0 */
63 0028 DF91 pop r29
64 002a CF91 pop r28
65 002c 0895 ret
66 /* epilogue end (size=3) */
67 /* function put_s size 19 (14) */
68 .LFE8:
70 .data
71 .LC0:
72 0000 D3C3 BBA7 .string "\323\303\273\247\312\344\310\3530#\326\270\301\356"
72 CAE4 C8EB
72 3023 D6B8
72 C1EE 00
73 .LC1:
74 000f D3C3 BBA7 .string "\323\303\273\247\312\344\310\3531#\326\270\301\356"
74 CAE4 C8EB
74 3123 D6B8
74 C1EE 00
75 .LC2:
76 001e D3C3 BBA7 .string "\323\303\273\247\312\344\310\3532#\326\270\301\356"
76 CAE4 C8EB
76 3223 D6B8
76 C1EE 00
77 .LC3:
78 002d D3C3 BBA7 .string "\323\303\273\247\312\344\310\353\265\304\326\270\301\356\316\336\320\247!"
78 CAE4 C8EB
78 B5C4 D6B8
78 C1EE CEDE
78 D0A7 2100
79 .text
80 .global __vector_11
82 __vector_11:
83 .LFB9:
84 .LM8:
85 /* prologue: frame size=0 */
86 002e 1F92 push __zero_reg__
87 0030 0F92 push __tmp_reg__
88 0032 0FB6 in __tmp_reg__,__SREG__
89 0034 0F92 push __tmp_reg__
90 0036 1124 clr __zero_reg__
91 0038 2F93 push r18
92 003a 3F93 push r19
93 003c 4F93 push r20
94 003e 5F93 push r21
95 0040 6F93 push r22
96 0042 7F93 push r23
97 0044 8F93 push r24
98 0046 9F93 push r25
99 0048 AF93 push r26
100 004a BF93 push r27
101 004c EF93 push r30
102 004e FF93 push r31
103 /* prologue end (size=17) */
104 .LM9:
105 0050 8CB1 in r24,44-0x20
106 0052 8093 0000 sts PC_COMMAND,r24
107 .LM10:
108 0056 8091 0000 lds r24,PC_COMMAND
109 005a 9927 clr r25
110 005c 8133 cpi r24,49
111 005e 9105 cpc r25,__zero_reg__
112 0060 69F0 breq .L15
113 .LM11:
114 0062 8233 cpi r24,50
115 0064 9105 cpc r25,__zero_reg__
116 0066 1CF4 brge .L19
117 0068 C097 sbiw r24,48
118 006a 21F0 breq .L14
119 006c 18C0 rjmp .L18
120 .L19:
121 006e C297 sbiw r24,50
122 0070 49F0 breq .L16
123 0072 15C0 rjmp .L18
124 .L14:
125 .LM12:
126 0074 D898 cbi 59-0x20,0
127 .LM13:
128 0076 80E0 ldi r24,lo8(.LC0)
129 0078 90E0 ldi r25,hi8(.LC0)
130 007a 13C0 rjmp .L21
131 .L15:
132 .LM14:
133 007c D998 cbi 59-0x20,1
134 .LM15:
135 007e 80E0 ldi r24,lo8(.LC1)
136 0080 90E0 ldi r25,hi8(.LC1)
137 0082 0FC0 rjmp .L21
138 .L16:
139 .LM16:
140 0084 D89A sbi 59-0x20,0
141 .LM17:
142 0086 D99A sbi 59-0x20,1
143 .LM18:
144 0088 90E0 ldi r25,lo8(0)
145 008a 8091 0000 lds r24,FLAG
146 008e 8823 tst r24
147 0090 09F4 brne .L17
148 0092 91E0 ldi r25,lo8(1)
149 .L17:
150 0094 9093 0000 sts FLAG,r25
151 .LM19:
152 0098 80E0 ldi r24,lo8(.LC2)
153 009a 90E0 ldi r25,hi8(.LC2)
154 009c 02C0 rjmp .L21
155 .L18:
156 .LM20:
157 009e 80E0 ldi r24,lo8(.LC3)
158 00a0 90E0 ldi r25,hi8(.LC3)
159 .L21:
160 00a2 0E94 0000 call put_s
161 .LM21:
162 00a6 8091 0000 lds r24,RX_index
163 00aa E82F mov r30,r24
164 00ac FF27 clr r31
165 00ae E050 subi r30,lo8(-(RX_BUFFER))
166 00b0 F040 sbci r31,hi8(-(RX_BUFFER))
167 00b2 8091 0000 lds r24,PC_COMMAND
168 00b6 8083 st Z,r24
169 .LM22:
170 00b8 8091 0000 lds r24,RX_index
171 00bc 8F5F subi r24,lo8(-(1))
172 00be 8093 0000 sts RX_index,r24
173 .LM23:
174 00c2 8091 0000 lds r24,RX_index
175 00c6 8031 cpi r24,lo8(16)
176 00c8 10F0 brlo .L12
177 00ca 1092 0000 sts RX_index,__zero_reg__
178 .L12:
179 /* epilogue: frame size=0 */
180 00ce FF91 pop r31
181 00d0 EF91 pop r30
182 00d2 BF91 pop r27
183 00d4 AF91 pop r26
184 00d6 9F91 pop r25
185 00d8 8F91 pop r24
186 00da 7F91 pop r23
187 00dc 6F91 pop r22
188 00de 5F91 pop r21
189 00e0 4F91 pop r20
190 00e2 3F91 pop r19
191 00e4 2F91 pop r18
192 00e6 0F90 pop __tmp_reg__
193 00e8 0FBE out __SREG__,__tmp_reg__
194 00ea 0F90 pop __tmp_reg__
195 00ec 1F90 pop __zero_reg__
196 00ee 1895 reti
197 /* epilogue end (size=17) */
198 /* function __vector_11 size 99 (65) */
199 .LFE9:
201 .global init_USART
203 init_USART:
204 .LFB10:
205 .LM24:
206 /* prologue: frame size=0 */
207 /* prologue end (size=0) */
208 .LM25:
209 00f0 86E8 ldi r24,lo8(-122)
210 00f2 80BD out 64-0x20,r24
211 .LM26:
212 00f4 8FE2 ldi r24,lo8(47)
213 00f6 89B9 out 41-0x20,r24
214 .LM27:
215 00f8 10BC out 64-0x20,__zero_reg__
216 .LM28:
217 00fa 1BB8 out 43-0x20,__zero_reg__
218 .LM29:
219 00fc 88E9 ldi r24,lo8(-104)
220 00fe 8AB9 out 42-0x20,r24
221 /* epilogue: frame size=0 */
222 0100 0895 ret
223 /* epilogue end (size=1) */
224 /* function init_USART size 9 (8) */
225 .LFE10:
227 .data
228 .LC4:
229 0041 4865 6C6C .string "Hello\243\241 \304\343\326\256\307\260\312\344\310\353\265\304\303\374\301\356\301\320\26
229 6FA3 A120
229 C4E3 D6AE
229 C7B0 CAE4
229 C8EB B5C4
230 .text
231 .global pro_coammand
233 pro_coammand:
234 .LFB11:
235 .LM30:
236 /* prologue: frame size=0 */
237 0102 CF93 push r28
238 /* prologue end (size=1) */
239 .LM31:
240 0104 8091 0000 lds r24,RX_index
241 0108 8A30 cpi r24,lo8(10)
242 010a 40F1 brlo .L23
243 .LM32:
244 010c 5798 cbi 42-0x20,7
245 .LM33:
246 010e 8DE0 ldi r24,lo8(13)
247 0110 0E94 0000 call put_c
248 .LM34:
249 0114 8AE0 ldi r24,lo8(10)
250 0116 0E94 0000 call put_c
251 .LM35:
252 011a 80E0 ldi r24,lo8(.LC4)
253 011c 90E0 ldi r25,hi8(.LC4)
254 011e 0E94 0000 call put_s
255 .LM36:
256 0122 C0E0 ldi r28,lo8(0)
257 .L31:
258 0124 8091 0000 lds r24,RX_index
259 0128 C817 cp r28,r24
260 012a 48F4 brsh .L30
261 012c EC2F mov r30,r28
262 012e FF27 clr r31
263 0130 E050 subi r30,lo8(-(RX_BUFFER))
264 0132 F040 sbci r31,hi8(-(RX_BUFFER))
265 0134 8081 ld r24,Z
266 0136 0E94 0000 call put_c
267 013a CF5F subi r28,lo8(-(1))
268 013c F3CF rjmp .L31
269 .L30:
270 .LM37:
271 013e 8DE0 ldi r24,lo8(13)
272 0140 0E94 0000 call put_c
273 .LM38:
274 0144 8AE0 ldi r24,lo8(10)
275 0146 0E94 0000 call put_c
276 .LM39:
277 014a 8DE0 ldi r24,lo8(13)
278 014c 0E94 0000 call put_c
279 .LM40:
280 0150 8AE0 ldi r24,lo8(10)
281 0152 0E94 0000 call put_c
282 .LM41:
283 0156 1092 0000 sts RX_index,__zero_reg__
284 .LM42:
285 015a 579A sbi 42-0x20,7
286 .L23:
287 /* epilogue: frame size=0 */
288 015c CF91 pop r28
289 015e 0895 ret
290 /* epilogue end (size=2) */
291 /* function pro_coammand size 47 (44) */
292 .LFE11:
294 .data
295 .LC5:
296 0061 C4E3 BAC3 .string "\304\343\272\303\243\241"
296 A3A1 00
297 .LC6:
298 0068 D5E2 CAC7 .string "\325\342\312\307\322\273\270\366\274\362\265\245\265\304\264\256\277\332\312\265\321\351\
298 D2BB B8F6
298 BCF2 B5A5
298 B5C4 B4AE
298 BFDA CAB5
299 .LC7:
300 0083 C4E3 BF .ascii "\304\343\277"
301 0086 C9D2 D4D4 .string "\311\322\324\324\332\265\347\304\324\311\317\265\304\263\254\274\266\326\325\266\313\263\
301 DAB5 E7C4
301 D4C9 CFB5
301 C4B3 ACBC
301 B6D6 D5B6
302 .text
303 .global main
305 main:
306 .LFB12:
307 .LM43:
308 /* prologue: frame size=0 */
309 0160 C0E0 ldi r28,lo8(__stack - 0)
310 0162 D0E0 ldi r29,hi8(__stack - 0)
311 0164 DEBF out __SP_H__,r29
312 0166 CDBF out __SP_L__,r28
313 /* prologue end (size=4) */
314 .LM44:
315 0168 9FEF ldi r25,lo8(-1)
316 016a 98BB out 56-0x20,r25
317 .LM45:
318 016c 95BB out 53-0x20,r25
319 .LM46:
320 016e 8BE0 ldi r24,lo8(11)
321 0170 8ABB out 58-0x20,r24
322 .LM47:
323 0172 8BBB out 59-0x20,r24
324 .LM48:
325 0174 82E0 ldi r24,lo8(2)
326 0176 81BB out 49-0x20,r24
327 .LM49:
328 0178 92BB out 50-0x20,r25
329 .LM50:
330 017a 1092 0000 sts FLAG,__zero_reg__
331 .LM51:
332 017e 0E94 0000 call init_USART
333 .LM52:
334 0182 80E0 ldi r24,lo8(.LC5)
335 0184 90E0 ldi r25,hi8(.LC5)
336 0186 0E94 0000 call put_s
337 .LM53:
338 018a 80E0 ldi r24,lo8(.LC6)
339 018c 90E0 ldi r25,hi8(.LC6)
340 018e 0E94 0000 call put_s
341 .LM54:
342 0192 80E0 ldi r24,lo8(.LC7)
343 0194 90E0 ldi r25,hi8(.LC7)
344 0196 0E94 0000 call put_s
345 .LM55:
346 /* #APP */
347 019a 7894 sei
348 /* #NOAPP */
349 .L46:
350 .LM56:
351 019c 8091 0000 lds r24,FLAG
352 01a0 8823 tst r24
353 01a2 19F4 brne .L42
354 01a4 0E94 0000 call pro_coammand
355 01a8 F9CF rjmp .L46
356 .L42:
357 .LM57:
358 01aa DB98 cbi 59-0x20,3
359 .L45:
360 .LM58:
361 01ac 8091 0000 lds r24,FLAG
362 01b0 8823 tst r24
363 01b2 19F0 breq .L44
364 01b4 0E94 0000 call pro_coammand
365 01b8 F9CF rjmp .L45
366 .L44:
367 .LM59:
368 01ba DB9A sbi 59-0x20,3
369 01bc EFCF rjmp .L46
370 /* epilogue: frame size=0 */
371 /* epilogue: noreturn */
372 /* epilogue end (size=0) */
373 /* function main size 48 (44) */
374 .LFE12:
376 .comm FLAG,1,1
377 .comm PC_COMMAND,1,1
378 .comm RX_BUFFER,16,1
379 .comm RX_index,1,1
380 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 USART_main.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccY9aaaa.s:20 .text:00000000 put_c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccY9aaaa.s:39 .text:00000008 put_s
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccY9aaaa.s:82 .text:0000002e __vector_11
*COM*:00000001 PC_COMMAND
*COM*:00000001 FLAG
*COM*:00000001 RX_index
*COM*:00000010 RX_BUFFER
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccY9aaaa.s:203 .text:000000f0 init_USART
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccY9aaaa.s:233 .text:00000102 pro_coammand
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccY9aaaa.s:305 .text:00000160 main
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -