📄 uart.lst
字号:
1 .file "uart.c"
2 .arch atmega128
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:
19 uart_putchar:
20 .LFB7:
21 .LM1:
22 /* prologue: frame size=0 */
23 0000 1F93 push r17
24 /* prologue end (size=1) */
25 .LVL0:
26 0002 182F mov r17,r24
27 .LM2:
28 0004 8A30 cpi r24,lo8(10)
29 0006 01F4 brne .L6
30 .LM3:
31 0008 8DE0 ldi r24,lo8(13)
32 .LVL1:
33 000a 0E94 0000 call uart_putchar
34 .LVL2:
35 .LVL3:
36 .L6:
37 .LM4:
38 000e 5D9B sbis 43-0x20,5
39 0010 00C0 rjmp .L6
40 .LM5:
41 0012 1CB9 out 44-0x20,r17
42 .LM6:
43 0014 80E0 ldi r24,lo8(0)
44 0016 90E0 ldi r25,hi8(0)
45 /* epilogue: frame size=0 */
46 0018 1F91 pop r17
47 001a 0895 ret
48 /* epilogue end (size=2) */
49 /* function uart_putchar size 14 (11) */
50 .LFE7:
53 uart_getchar:
54 .LFB8:
55 .LM7:
56 /* prologue: frame size=0 */
57 /* prologue end (size=0) */
58 .LVL4:
59 .L11:
60 .LM8:
61 001c 5F9B sbis 43-0x20,7
62 001e 00C0 rjmp .L11
63 .LM9:
64 0020 8CB1 in r24,44-0x20
65 .LVL5:
66 .LM10:
67 0022 9927 clr r25
68 /* epilogue: frame size=0 */
69 0024 0895 ret
70 /* epilogue end (size=1) */
71 /* function uart_getchar size 5 (4) */
72 .LFE8:
74 .global IoInit
76 IoInit:
77 .LFB9:
78 .LM11:
79 /* prologue: frame size=0 */
80 /* prologue end (size=0) */
81 .LM12:
82 0026 86E0 ldi r24,lo8(6)
83 0028 8093 9500 sts 149,r24
84 .LM13:
85 002c 1092 9000 sts 144,__zero_reg__
86 .LM14:
87 0030 8FE2 ldi r24,lo8(47)
88 0032 89B9 out 41-0x20,r24
89 .LM15:
90 0034 88E1 ldi r24,lo8(24)
91 0036 8AB9 out 42-0x20,r24
92 /* epilogue: frame size=0 */
93 0038 0895 ret
94 /* epilogue end (size=1) */
95 /* function IoInit size 10 (9) */
96 .LFE9:
98 .data
99 .LC0:
100 0000 B2E2 CAD4 .string "\262\342\312\3241[\312\344\310\353\322\273\327\326\267\373\264\256]:"
100 315B CAE4
100 C8EB D2BB
100 D7D6 B7FB
100 B4AE 5D3A
101 .LC1:
102 0015 6162 6364 .string "abcdefg!"
102 6566 6721
102 00
103 .LC2:
104 001e 2573 00 .string "%s"
105 .LC3:
106 0021 C4FA B5C4 .string "\304\372\265\304\312\344\310\353\316\252:%s\n"
106 CAE4 C8EB
106 CEAA 3A25
106 730A 00
107 .text
108 .global main
110 main:
111 .LFB10:
112 .LM16:
113 /* prologue: frame size=2 */
114 003a 0F93 push r16
115 003c 1F93 push r17
116 003e CF93 push r28
117 0040 DF93 push r29
118 0042 CDB7 in r28,__SP_L__
119 0044 DEB7 in r29,__SP_H__
120 0046 2297 sbiw r28,2
121 0048 0FB6 in __tmp_reg__,__SREG__
122 004a F894 cli
123 004c DEBF out __SP_H__,r29
124 004e 0FBE out __SREG__,__tmp_reg__
125 0050 CDBF out __SP_L__,r28
126 /* prologue end (size=12) */
127 .LBB13:
128 .LBB14:
129 .LM17:
130 0052 86E0 ldi r24,lo8(6)
131 0054 8093 9500 sts 149,r24
132 .LM18:
133 0058 1092 9000 sts 144,__zero_reg__
134 .LM19:
135 005c 8FE2 ldi r24,lo8(47)
136 005e 89B9 out 41-0x20,r24
137 .LM20:
138 0060 88E1 ldi r24,lo8(24)
139 0062 8AB9 out 42-0x20,r24
140 .LBE14:
141 .LBE13:
142 .LM21:
143 0064 80E0 ldi r24,lo8(mystdio)
144 0066 90E0 ldi r25,hi8(mystdio)
145 0068 9093 0000 sts (__iob)+1,r25
146 006c 8093 0000 sts __iob,r24
147 0070 9093 0000 sts (__iob+2)+1,r25
148 0074 8093 0000 sts __iob+2,r24
149 .LBB15:
150 .LBB16:
151 .LBB17:
152 .LBB18:
153 .LM22:
154 0078 80E0 ldi r24,lo8(-10240)
155 007a 98ED ldi r25,hi8(-10240)
156 .LVL6:
157 /* #APP */
158 007c 0197 1: sbiw r24,1
159 007e 01F4 brne 1b
160 /* #NOAPP */
161 .L19:
162 .LBE18:
163 .LBE17:
164 .LBE16:
165 .LBE15:
166 .LM23:
167 0080 80E0 ldi r24,lo8(.LC0)
168 0082 90E0 ldi r25,hi8(.LC0)
169 .LVL7:
170 0084 0E94 0000 call puts
171 .LM24:
172 0088 80E0 ldi r24,lo8(.LC1)
173 008a 90E0 ldi r25,hi8(.LC1)
174 008c 0E94 0000 call puts
175 .LM25:
176 0090 00E0 ldi r16,lo8(g_aString)
177 0092 10E0 ldi r17,hi8(g_aString)
178 0094 1F93 push r17
179 0096 0F93 push r16
180 0098 80E0 ldi r24,lo8(.LC2)
181 009a 90E0 ldi r25,hi8(.LC2)
182 009c 9F93 push r25
183 009e 8F93 push r24
184 00a0 0E94 0000 call scanf
185 .LM26:
186 00a4 1F93 push r17
187 00a6 0F93 push r16
188 00a8 80E0 ldi r24,lo8(.LC3)
189 00aa 90E0 ldi r25,hi8(.LC3)
190 00ac 9F93 push r25
191 00ae 8F93 push r24
192 00b0 0E94 0000 call printf
193 .LM27:
194 00b4 80E0 ldi r24,lo8(__c.1608)
195 00b6 90E0 ldi r25,hi8(__c.1608)
196 00b8 9F93 push r25
197 00ba 8F93 push r24
198 00bc 0E94 0000 call printf_P
199 .LM28:
200 00c0 CE01 movw r24,r28
201 00c2 0196 adiw r24,1
202 00c4 9F93 push r25
203 00c6 8F93 push r24
204 00c8 80E0 ldi r24,lo8(__c.1610)
205 00ca 90E0 ldi r25,hi8(__c.1610)
206 00cc 9F93 push r25
207 00ce 8F93 push r24
208 00d0 0E94 0000 call scanf_P
209 .LVL8:
210 .LM29:
211 00d4 8981 ldd r24,Y+1
212 00d6 9A81 ldd r25,Y+2
213 00d8 9F93 push r25
214 00da 8F93 push r24
215 00dc 80E0 ldi r24,lo8(__c.1612)
216 00de 90E0 ldi r25,hi8(__c.1612)
217 00e0 9F93 push r25
218 00e2 8F93 push r24
219 00e4 0E94 0000 call printf_P
220 .LM30:
221 00e8 8DB7 in r24,__SP_L__
222 00ea 9EB7 in r25,__SP_H__
223 00ec 4296 adiw r24,18
224 00ee 0FB6 in __tmp_reg__,__SREG__
225 00f0 F894 cli
226 00f2 9EBF out __SP_H__,r25
227 00f4 0FBE out __SREG__,__tmp_reg__
228 00f6 8DBF out __SP_L__,r24
229 00f8 00C0 rjmp .L19
230 /* epilogue: frame size=2 */
231 /* epilogue: noreturn */
232 /* epilogue end (size=0) */
233 /* function main size 98 (86) */
234 .LFE10:
236 .data
239 mystdio:
240 0030 0000 00 .skip 3,0
241 0033 03 .byte 3
242 0034 0000 0000 .skip 4,0
243 0038 0000 .word gs(uart_putchar)
244 003a 0000 .word gs(uart_getchar)
245 003c 0000 .word 0
246 .section .progmem.data,"a",@progbits
249 __c.1612:
250 0000 C4FA B5C4 .string "\304\372\265\304\312\344\310\353\316\252:%d\n"
250 CAE4 C8EB
250 CEAA 3A25
250 640A 00
253 __c.1610:
254 000f 2564 00 .string "%d"
257 __c.1608:
258 0012 B2E2 CAD4 .string "\262\342\312\3242[\312\344\310\353\312\375\327\326]:\n"
258 325B CAE4
258 C8EB CAFD
258 D7D6 5D3A
258 0A00
259 .comm g_aString,100,1
308 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 uart.c
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:3 *ABS*:0000003f __SREG__
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:4 *ABS*:0000003e __SP_H__
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:5 *ABS*:0000003d __SP_L__
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:19 .text:00000000 uart_putchar
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:53 .text:0000001c uart_getchar
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:76 .text:00000026 IoInit
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:110 .text:0000003a main
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:239 .data:00000030 mystdio
*COM*:00000064 g_aString
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:257 .progmem.data:00000012 __c.1608
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:253 .progmem.data:0000000f __c.1610
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:249 .progmem.data:00000000 __c.1612
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__iob
puts
scanf
printf
printf_P
scanf_P
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -