📄 main.lst
字号:
1 .file "main.c"
2 .arch at90s2313
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
11 .text
12 .Ltext0:
52 .global __vector_6
54 __vector_6:
1:main.c **** /*
2:main.c **** .init0 段测试程序 <2313 - 1>
3:main.c **** main.c
4:main.c **** MCU:at90s2313
5:main.c ****
6:main.c **** 芯艺 2004-09-12
7:main.c **** */
8:main.c ****
9:main.c **** #include <avr/io.h>
10:main.c **** #include <avr/interrupt.h>
11:main.c **** #include <avr/signal.h>
12:main.c **** #include <avr/delay.h>
13:main.c ****
14:main.c ****
15:main.c **** #define SET_LED PORTD=0X10;//PD4接有LED
16:main.c **** #define CLR_LED PORTD=0X00;
17:main.c ****
18:main.c **** //unsigned char count=0;
19:main.c **** //unsigned char direction=0;
20:main.c ****
21:main.c **** SIGNAL(SIG_OVERFLOW0)
22:main.c **** {/*
56 .LM1:
57 /* prologue: frame size=0 */
58 0000 1F92 push __zero_reg__
59 0002 0F92 push __tmp_reg__
60 0004 0FB6 in __tmp_reg__,__SREG__
61 0006 0F92 push __tmp_reg__
62 0008 1124 clr __zero_reg__
63 000a 8F93 push r24
64 /* prologue end (size=6) */
23:main.c **** if(count++>15)
24:main.c **** {
25:main.c **** if(direction)
26:main.c **** {
27:main.c **** SET_LED;
28:main.c **** direction=0;
29:main.c **** }
30:main.c **** else
31:main.c **** {
32:main.c **** CLR_LED;
33:main.c **** direction=1;
34:main.c **** }
35:main.c **** count=0;
36:main.c ****
37:main.c **** }
38:main.c **** TCNT0=0;*/
39:main.c **** SET_LED;
66 .LM2:
67 000c 80E1 ldi r24,lo8(16)
68 000e 82BB out 50-0x20,r24
40:main.c **** cli();
70 .LM3:
71 /* #APP */
72 0010 F894 cli
73 /* #NOAPP */
74 .L2:
41:main.c **** while(1);
76 .LM4:
77 0012 FFCF rjmp .L2
78 /* epilogue: frame size=0 */
79 /* epilogue: noreturn */
80 /* epilogue end (size=0) */
81 /* function __vector_6 size 11 (5) */
84 .global main
86 main:
42:main.c **** }
43:main.c ****
44:main.c **** int main(void)
45:main.c **** {
88 .LM5:
89 /* prologue: frame size=0 */
90 0014 C0E0 ldi r28,lo8(__stack - 0)
91 0016 D0E0 ldi r29,hi8(__stack - 0)
92 0018 DEBF out __SP_H__,r29
93 001a CDBF out __SP_L__,r28
94 /* prologue end (size=4) */
95 001c 40E1 ldi r20,lo8(16)
96 .L5:
97 001e 23EF ldi r18,lo8(499)
98 0020 31E0 ldi r19,hi8(499)
99 .L11:
100 .LBB2:
102 .Ltext1:
1:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** /* Copyright (c) 2002, Marek Michalkiewicz
2:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** All rights reserved.
3:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****
4:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** Redistribution and use in source and binary forms, with or without
5:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** modification, are permitted provided that the following conditions are met:
6:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****
7:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** * Redistributions of source code must retain the above copyright
8:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** notice, this list of conditions and the following disclaimer.
9:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** * Redistributions in binary form must reproduce the above copyright
10:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** notice, this list of conditions and the following disclaimer in
11:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** the documentation and/or other materials provided with the
12:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** distribution.
13:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****
14:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
18:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** POSSIBILITY OF SUCH DAMAGE. */
25:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****
26:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** /* $Id: delay.h,v 1.2.2.2 2004/02/13 21:43:37 joerg_wunsch Exp $ */
27:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****
28:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** /*
29:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** avr/delay.h - loops for small accurate delays
30:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** */
31:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****
32:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** #ifndef _AVR_DELAY_H_
33:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** #define _AVR_DELAY_H_ 1
34:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****
35:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** #include <inttypes.h>
36:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****
37:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** /* 8-bit count, 3 cycles/loop */
38:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** static __inline__ void
39:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** _delay_loop_1(uint8_t __count)
40:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** {
41:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** asm volatile (
42:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** "1: dec %0" "\n\t"
43:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** "brne 1b"
44:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** : "=r" (__count)
45:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** : "0" (__count)
46:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** );
47:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** }
48:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****
49:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** /* 16-bit count, 4 cycles/loop */
50:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** static __inline__ void
51:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** _delay_loop_2(uint16_t __count)
52:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** {
104 .LM6:
105 0022 88EE ldi r24,lo8(1000)
106 0024 93E0 ldi r25,hi8(1000)
107 .LBB3:
53:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** asm volatile (
109 .LM7:
110 /* #APP */
111 0026 0197 1: sbiw r24,1
112 0028 F1F7 brne 1b
113 /* #NOAPP */
114 .LBE3:
115 .LBE2:
117 .Ltext2:
46:main.c **** unsigned int i;
47:main.c ****
48:main.c **** while(1)
49:main.c **** {
50:main.c **** for(i=0;i<500;i++)
119 .LM8:
120 002a 2150 subi r18,lo8(-(-1))
121 002c 3040 sbci r19,hi8(-(-1))
122 002e 37FF sbrs r19,7
123 0030 F8CF rjmp .L11
51:main.c **** _delay_loop_2(1000);
52:main.c ****
53:main.c **** SET_LED;
125 .LM9:
126 0032 42BB out 50-0x20,r20
127 0034 23EF ldi r18,lo8(499)
128 0036 31E0 ldi r19,hi8(499)
129 .L16:
130 .LBB4:
132 .Ltext3:
134 .LM10:
135 0038 88EE ldi r24,lo8(1000)
136 003a 93E0 ldi r25,hi8(1000)
137 .LBB5:
139 .LM11:
140 /* #APP */
141 003c 0197 1: sbiw r24,1
142 003e F1F7 brne 1b
143 /* #NOAPP */
144 .LBE5:
145 .LBE4:
147 .Ltext4:
54:main.c ****
55:main.c **** for(i=0;i<500;i++)
149 .LM12:
150 0040 2150 subi r18,lo8(-(-1))
151 0042 3040 sbci r19,hi8(-(-1))
152 0044 37FF sbrs r19,7
153 0046 F8CF rjmp .L16
56:main.c **** _delay_loop_2(1000);
57:main.c ****
58:main.c **** CLR_LED;
155 .LM13:
156 0048 12BA out 50-0x20,__zero_reg__
157 004a E9CF rjmp .L5
158 /* epilogue: frame size=0 */
159 /* epilogue: noreturn */
160 /* epilogue end (size=0) */
161 /* function main size 32 (28) */
171 .global __init
173 __init:
59:main.c **** }
60:main.c **** return 0;
61:main.c **** }
62:main.c ****
63:main.c **** __init() //重载函数,复位后main前执行
64:main.c **** {
175 .LM14:
176 /* prologue: frame size=0 */
177 /* prologue end (size=0) */
65:main.c **** DDRD=0X10;
179 .LM15:
180 004c 80E1 ldi r24,lo8(16)
181 004e 81BB out 49-0x20,r24
66:main.c **** PORTD=0X00;
183 .LM16:
184 0050 12BA out 50-0x20,__zero_reg__
67:main.c ****
68:main.c **** TCCR0=5;
186 .LM17:
187 0052 85E0 ldi r24,lo8(5)
188 0054 83BF out 83-0x20,r24
69:main.c **** TIMSK=_BV(TOIE0);
190 .LM18:
191 0056 82E0 ldi r24,lo8(2)
192 0058 89BF out 89-0x20,r24
193 /* epilogue: frame size=0 */
194 005a 0895 ret
195 /* epilogue end (size=1) */
196 /* function __init size 8 (7) */
198 .text
200 Letext:
201 /* File "main.c": code 51 = 0x0033 ( 40), prologues 10, epilogues 1 */
DEFINED SYMBOLS
*ABS*:00000000 main.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
J:\DOCUME~1\tcf\LOCALS~1\Temp/ccqGaaaa.s:54 .text:00000000 __vector_6
J:\DOCUME~1\tcf\LOCALS~1\Temp/ccqGaaaa.s:86 .text:00000014 main
J:\DOCUME~1\tcf\LOCALS~1\Temp/ccqGaaaa.s:173 .text:0000004c __init
J:\DOCUME~1\tcf\LOCALS~1\Temp/ccqGaaaa.s:200 .text:0000005c Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -