📄 tc1_1_0.lst
字号:
1 .file "TC1_1_0.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 send_num
19 .data
22 send_num:
23 0000 3031 3233 .string "0123"
23 00
24 .text
25 .global USART_Init
27 USART_Init:
28 .LFB9:
29 .LM1:
30 /* prologue: frame size=0 */
31 0000 CF93 push r28
32 0002 DF93 push r29
33 0004 CDB7 in r28,__SP_L__
34 0006 DEB7 in r29,__SP_H__
35 /* prologue end (size=4) */
36 0008 88E0 ldi r24,lo8(8)
37 000a 8093 2A00 sts 42,r24
38 .LM2:
39 000e 8FE2 ldi r24,lo8(47)
40 0010 8093 2900 sts 41,r24
41 .LM3:
42 0014 1092 4000 sts 64,__zero_reg__
43 .LM4:
44 0018 86E8 ldi r24,lo8(-122)
45 001a 8093 4000 sts 64,r24
46 /* epilogue: frame size=0 */
47 001e DF91 pop r29
48 0020 CF91 pop r28
49 0022 0895 ret
50 /* epilogue end (size=3) */
51 /* function USART_Init size 18 (11) */
52 .LFE9:
54 .global USART_putchar
56 USART_putchar:
57 .LFB10:
58 .LM5:
59 /* prologue: frame size=1 */
60 0024 CF93 push r28
61 0026 DF93 push r29
62 0028 CDB7 in r28,__SP_L__
63 002a DEB7 in r29,__SP_H__
64 002c 2197 sbiw r28,1
65 002e 0FB6 in __tmp_reg__,__SREG__
66 0030 F894 cli
67 0032 DEBF out __SP_H__,r29
68 0034 0FBE out __SREG__,__tmp_reg__
69 0036 CDBF out __SP_L__,r28
70 /* prologue end (size=10) */
71 0038 8983 std Y+1,r24
72 003a 8981 ldd r24,Y+1
73 003c 8A30 cpi r24,lo8(10)
74 003e 19F4 brne .L6
75 .LM6:
76 0040 8DE0 ldi r24,lo8(13)
77 0042 0E94 0000 call USART_putchar
78 .L6:
79 .LM7:
80 0046 8091 2B00 lds r24,43
81 004a 9927 clr r25
82 004c 9695 lsr r25
83 004e 8795 ror r24
84 0050 9295 swap r25
85 0052 8295 swap r24
86 0054 8F70 andi r24,0x0f
87 0056 8927 eor r24,r25
88 0058 9F70 andi r25,0x0f
89 005a 8927 eor r24,r25
90 005c 8170 andi r24,lo8(1)
91 005e 9070 andi r25,hi8(1)
92 0060 0097 sbiw r24,0
93 0062 09F4 brne .L5
94 0064 F0CF rjmp .L6
95 .L5:
96 .LM8:
97 0066 8981 ldd r24,Y+1
98 0068 8093 2C00 sts 44,r24
99 .LM9:
100 006c 80E0 ldi r24,lo8(0)
101 006e 90E0 ldi r25,hi8(0)
102 /* epilogue: frame size=1 */
103 0070 2196 adiw r28,1
104 0072 0FB6 in __tmp_reg__,__SREG__
105 0074 F894 cli
106 0076 DEBF out __SP_H__,r29
107 0078 0FBE out __SREG__,__tmp_reg__
108 007a CDBF out __SP_L__,r28
109 007c DF91 pop r29
110 007e CF91 pop r28
111 0080 0895 ret
112 /* epilogue end (size=9) */
113 /* function USART_putchar size 47 (28) */
114 .LFE10:
116 .global USART_puts
118 USART_puts:
119 .LFB11:
120 .LM10:
121 /* prologue: frame size=2 */
122 0082 CF93 push r28
123 0084 DF93 push r29
124 0086 CDB7 in r28,__SP_L__
125 0088 DEB7 in r29,__SP_H__
126 008a 2297 sbiw r28,2
127 008c 0FB6 in __tmp_reg__,__SREG__
128 008e F894 cli
129 0090 DEBF out __SP_H__,r29
130 0092 0FBE out __SREG__,__tmp_reg__
131 0094 CDBF out __SP_L__,r28
132 /* prologue end (size=10) */
133 0096 8983 std Y+1,r24
134 0098 9A83 std Y+2,r25
135 .L8:
136 .LM11:
137 009a E981 ldd r30,Y+1
138 009c FA81 ldd r31,Y+2
139 009e 8081 ld r24,Z
140 00a0 8823 tst r24
141 00a2 59F0 breq .L9
142 .LM12:
143 00a4 E981 ldd r30,Y+1
144 00a6 FA81 ldd r31,Y+2
145 00a8 8081 ld r24,Z
146 00aa 0E94 0000 call USART_putchar
147 .LM13:
148 00ae 8981 ldd r24,Y+1
149 00b0 9A81 ldd r25,Y+2
150 00b2 0196 adiw r24,1
151 00b4 8983 std Y+1,r24
152 00b6 9A83 std Y+2,r25
153 00b8 F0CF rjmp .L8
154 .L9:
155 .LM14:
156 00ba 8AE0 ldi r24,lo8(10)
157 00bc 0E94 0000 call USART_putchar
158 .LM15:
159 00c0 8DE0 ldi r24,lo8(13)
160 00c2 0E94 0000 call USART_putchar
161 .LM16:
162 00c6 81E0 ldi r24,lo8(1)
163 00c8 90E0 ldi r25,hi8(1)
164 /* epilogue: frame size=2 */
165 00ca 2296 adiw r28,2
166 00cc 0FB6 in __tmp_reg__,__SREG__
167 00ce F894 cli
168 00d0 DEBF out __SP_H__,r29
169 00d2 0FBE out __SREG__,__tmp_reg__
170 00d4 CDBF out __SP_L__,r28
171 00d6 DF91 pop r29
172 00d8 CF91 pop r28
173 00da 0895 ret
174 /* epilogue end (size=9) */
175 /* function USART_puts size 45 (26) */
176 .LFE11:
178 .global t2pwm2
180 t2pwm2:
181 .LFB12:
182 .LM17:
183 /* prologue: frame size=0 */
184 00dc CF93 push r28
185 00de DF93 push r29
186 00e0 CDB7 in r28,__SP_L__
187 00e2 DEB7 in r29,__SP_H__
188 /* prologue end (size=4) */
189 00e4 8091 3100 lds r24,49
190 00e8 8068 ori r24,lo8(-128)
191 00ea 8093 3100 sts 49,r24
192 .LM18:
193 00ee 85E7 ldi r24,lo8(117)
194 00f0 8093 4500 sts 69,r24
195 .LM19:
196 00f4 80E8 ldi r24,lo8(-128)
197 00f6 8093 4300 sts 67,r24
198 /* epilogue: frame size=0 */
199 00fa DF91 pop r29
200 00fc CF91 pop r28
201 00fe 0895 ret
202 /* epilogue end (size=3) */
203 /* function t2pwm2 size 18 (11) */
204 .LFE12:
206 .global init_timer1
208 init_timer1:
209 .LFB13:
210 .LM20:
211 /* prologue: frame size=0 */
212 0100 CF93 push r28
213 0102 DF93 push r29
214 0104 CDB7 in r28,__SP_L__
215 0106 DEB7 in r29,__SP_H__
216 /* prologue end (size=4) */
217 .LM21:
218 0108 8091 3100 lds r24,49
219 010c 8F7B andi r24,lo8(-65)
220 010e 8093 3100 sts 49,r24
221 .LM22:
222 0112 80E2 ldi r24,lo8(32)
223 0114 8093 5900 sts 89,r24
224 .LM23:
225 0118 82EC ldi r24,lo8(-62)
226 011a 8093 4E00 sts 78,r24
227 /* epilogue: frame size=0 */
228 011e DF91 pop r29
229 0120 CF91 pop r28
230 0122 0895 ret
231 /* epilogue end (size=3) */
232 /* function init_timer1 size 18 (11) */
233 .LFE13:
235 .global __vector_5
237 __vector_5:
238 .LFB14:
239 .LM24:
240 /* prologue: frame size=0 */
241 0124 1F92 push __zero_reg__
242 0126 0F92 push __tmp_reg__
243 0128 0FB6 in __tmp_reg__,__SREG__
244 012a 0F92 push __tmp_reg__
245 012c 1124 clr __zero_reg__
246 012e 2F93 push r18
247 0130 3F93 push r19
248 0132 8F93 push r24
249 0134 9F93 push r25
250 0136 CF93 push r28
251 0138 DF93 push r29
252 013a CDB7 in r28,__SP_L__
253 013c DEB7 in r29,__SP_H__
254 /* prologue end (size=13) */
255 013e 2091 4600 lds r18,70
256 0142 3091 4700 lds r19,(70)+1
257 0146 8091 0000 lds r24,temp1
258 014a 9091 0000 lds r25,(temp1)+1
259 014e 281B sub r18,r24
260 0150 390B sbc r19,r25
261 0152 C901 movw r24,r18
262 0154 9093 0000 sts (temp2)+1,r25
263 0158 8093 0000 sts temp2,r24
264 .LM25:
265 015c 8091 0000 lds r24,temp2
266 0160 9091 0000 lds r25,(temp2)+1
267 0164 9093 0000 sts (temp1)+1,r25
268 0168 8093 0000 sts temp1,r24
269 .LM26:
270 016c 8091 0000 lds r24,num
271 0170 8F5F subi r24,lo8(-(1))
272 0172 8093 0000 sts num,r24
273 /* epilogue: frame size=0 */
274 0176 DF91 pop r29
275 0178 CF91 pop r28
276 017a 9F91 pop r25
277 017c 8F91 pop r24
278 017e 3F91 pop r19
279 0180 2F91 pop r18
280 0182 0F90 pop __tmp_reg__
281 0184 0FBE out __SREG__,__tmp_reg__
282 0186 0F90 pop __tmp_reg__
283 0188 1F90 pop __zero_reg__
284 018a 1895 reti
285 /* epilogue end (size=11) */
286 /* function __vector_5 size 52 (28) */
287 .LFE14:
289 .global main
291 main:
292 .LFB15:
293 .LM27:
294 /* prologue: frame size=0 */
295 018c C0E0 ldi r28,lo8(__stack - 0)
296 018e D0E0 ldi r29,hi8(__stack - 0)
297 0190 DEBF out __SP_H__,r29
298 0192 CDBF out __SP_L__,r28
299 /* prologue end (size=4) */
300 .LM28:
301 0194 1092 0000 sts (temp1)+1,__zero_reg__
302 0198 1092 0000 sts temp1,__zero_reg__
303 .LM29:
304 019c 1092 0000 sts num,__zero_reg__
305 .LM30:
306 01a0 0E94 0000 call USART_Init
307 .LM31:
308 01a4 0E94 0000 call init_timer1
309 .LM32:
310 01a8 0E94 0000 call t2pwm2
311 .LM33:
312 /* #APP */
313 01ac 7894 sei
314 /* #NOAPP */
315 .L14:
316 .LM34:
317 01ae 8091 0000 lds r24,num
318 01b2 8823 tst r24
319 01b4 E1F3 breq .L14
320 01b6 8091 0000 lds r24,num
321 01ba 8170 andi r24,lo8(1)
322 01bc 8823 tst r24
323 01be B9F7 brne .L14
324 .LM35:
325 01c0 4AE0 ldi r20,lo8(10)
326 01c2 50E0 ldi r21,hi8(10)
327 01c4 60E0 ldi r22,lo8(send_num)
328 01c6 70E0 ldi r23,hi8(send_num)
329 01c8 8091 0000 lds r24,temp2
330 01cc 9091 0000 lds r25,(temp2)+1
331 01d0 0E94 0000 call utoa
332 .LM36:
333 01d4 80E0 ldi r24,lo8(send_num)
334 01d6 90E0 ldi r25,hi8(send_num)
335 01d8 0E94 0000 call USART_puts
336 01dc E8CF rjmp .L14
337 /* epilogue: frame size=0 */
338 /* epilogue: noreturn */
339 /* epilogue end (size=0) */
340 /* function main size 42 (38) */
341 .LFE15:
343 .comm temp1,2,1
344 .comm temp2,2,1
345 .comm num,1,1
346 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 TC1_1_0.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
C:\DOCUME~1\lgd\LOCALS~1\Temp/ccQVaaaa.s:22 .data:00000000 send_num
C:\DOCUME~1\lgd\LOCALS~1\Temp/ccQVaaaa.s:27 .text:00000000 USART_Init
C:\DOCUME~1\lgd\LOCALS~1\Temp/ccQVaaaa.s:56 .text:00000024 USART_putchar
C:\DOCUME~1\lgd\LOCALS~1\Temp/ccQVaaaa.s:118 .text:00000082 USART_puts
C:\DOCUME~1\lgd\LOCALS~1\Temp/ccQVaaaa.s:180 .text:000000dc t2pwm2
C:\DOCUME~1\lgd\LOCALS~1\Temp/ccQVaaaa.s:208 .text:00000100 init_timer1
C:\DOCUME~1\lgd\LOCALS~1\Temp/ccQVaaaa.s:237 .text:00000124 __vector_5
*COM*:00000002 temp1
*COM*:00000002 temp2
*COM*:00000001 num
C:\DOCUME~1\lgd\LOCALS~1\Temp/ccQVaaaa.s:291 .text:0000018c main
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack
utoa
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -