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