📄 usart.lst
字号:
1 .file "usart.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
11 .text
12 .Ltext0:
63 .global port_init
65 port_init:
1:usart.c **** #include<avr/io.h>
2:usart.c **** #include<stdio.h>
3:usart.c **** #include<avr/signal.h>
4:usart.c **** #include<avr/interrupt.h>
5:usart.c ****
6:usart.c **** unsigned char j;
7:usart.c ****
8:usart.c **** void port_init(void){
67 .LM1:
68 /* prologue: frame size=0 */
69 /* prologue end (size=0) */
9:usart.c **** DDRA=0XFF;
71 .LM2:
72 0000 8FEF ldi r24,lo8(-1)
73 0002 8ABB out 58-0x20,r24
10:usart.c **** PORTA=0XFF;
75 .LM3:
76 0004 8BBB out 59-0x20,r24
11:usart.c **** DDRC=0X00;
78 .LM4:
79 0006 14BA out 52-0x20,__zero_reg__
12:usart.c **** PORTC=0XFF;
81 .LM5:
82 0008 85BB out 53-0x20,r24
83 /* epilogue: frame size=0 */
84 000a 0895 ret
85 /* epilogue end (size=1) */
86 /* function port_init size 6 (5) */
88 .Lscope0:
90 .global usart0_init
92 usart0_init:
13:usart.c **** }
14:usart.c ****
15:usart.c **** void usart0_init(void){
94 .LM6:
95 /* prologue: frame size=0 */
96 /* prologue end (size=0) */
16:usart.c **** UBRR0L=0X19;
98 .LM7:
99 000c 89E1 ldi r24,lo8(25)
100 000e 89B9 out 41-0x20,r24
17:usart.c **** UBRR0H=0X00;
102 .LM8:
103 0010 1092 9000 sts 144,__zero_reg__
18:usart.c **** UCSR0B=(1<<RXEN0)|(1<<TXEN0)|(1<<RXCIE0);
105 .LM9:
106 0014 88E9 ldi r24,lo8(-104)
107 0016 8AB9 out 42-0x20,r24
19:usart.c **** UCSR0C=(1<<UCSZ01)|(1<<UCSZ00);
109 .LM10:
110 0018 86E0 ldi r24,lo8(6)
111 001a 8093 9500 sts 149,r24
112 /* epilogue: frame size=0 */
113 001e 0895 ret
114 /* epilogue end (size=1) */
115 /* function usart0_init size 10 (9) */
117 .Lscope1:
120 .global usart0_transmit
122 usart0_transmit:
20:usart.c **** }
21:usart.c ****
22:usart.c **** void usart0_transmit(unsigned char data){
124 .LM11:
125 /* prologue: frame size=0 */
126 /* prologue end (size=0) */
127 .L4:
23:usart.c **** while(!(UCSR0A&(1<<UDRE0)));
129 .LM12:
130 0020 5D9B sbis 43-0x20,5
131 0022 FECF rjmp .L4
24:usart.c **** UDR0=data;
133 .LM13:
134 0024 8CB9 out 44-0x20,r24
135 /* epilogue: frame size=0 */
136 0026 0895 ret
137 /* epilogue end (size=1) */
138 /* function usart0_transmit size 4 (3) */
140 .Lscope2:
142 .global __vector_18
144 __vector_18:
25:usart.c **** }
26:usart.c ****
27:usart.c **** SIGNAL(SIG_USART0_RECV){
146 .LM14:
147 /* prologue: frame size=0 */
148 0028 1F92 push __zero_reg__
149 002a 0F92 push __tmp_reg__
150 002c 0FB6 in __tmp_reg__,__SREG__
151 002e 0F92 push __tmp_reg__
152 0030 1124 clr __zero_reg__
153 0032 8F93 push r24
154 0034 9F93 push r25
155 /* prologue end (size=7) */
28:usart.c **** j=UDR0;
157 .LM15:
158 0036 8CB1 in r24,44-0x20
159 0038 8093 0000 sts j,r24
29:usart.c **** switch(j){
161 .LM16:
162 003c 9927 clr r25
163 003e 8533 cpi r24,53
164 0040 9105 cpc r25,__zero_reg__
165 0042 31F1 breq .L13
167 .LM17:
168 0044 8633 cpi r24,54
169 0046 9105 cpc r25,__zero_reg__
170 0048 7CF4 brge .L19
171 004a 8233 cpi r24,50
172 004c 9105 cpc r25,__zero_reg__
173 004e D1F0 breq .L10
174 0050 8333 cpi r24,51
175 0052 9105 cpc r25,__zero_reg__
176 0054 1CF4 brge .L20
177 0056 C197 sbiw r24,49
178 0058 99F0 breq .L9
179 005a 24C0 rjmp .L7
180 .L20:
181 005c 8333 cpi r24,51
182 005e 9105 cpc r25,__zero_reg__
183 0060 99F0 breq .L11
184 0062 C497 sbiw r24,52
185 0064 99F0 breq .L12
186 0066 1EC0 rjmp .L7
187 .L19:
188 0068 8733 cpi r24,55
189 006a 9105 cpc r25,__zero_reg__
190 006c A9F0 breq .L15
191 006e 8733 cpi r24,55
192 0070 9105 cpc r25,__zero_reg__
193 0072 84F0 brlt .L14
194 0074 8833 cpi r24,56
195 0076 9105 cpc r25,__zero_reg__
196 0078 89F0 breq .L16
197 007a C997 sbiw r24,57
198 007c 91F0 breq .L17
199 007e 12C0 rjmp .L7
200 .L9:
30:usart.c **** case 0X31: PORTA=0B11111110; break;
202 .LM18:
203 0080 8EEF ldi r24,lo8(-2)
204 0082 0DC0 rjmp .L21
205 .L10:
31:usart.c **** case 0X32: PORTA=0B11111101; break;
207 .LM19:
208 0084 8DEF ldi r24,lo8(-3)
209 0086 0BC0 rjmp .L21
210 .L11:
32:usart.c **** case 0X33: PORTA=0B11111011; break;
212 .LM20:
213 0088 8BEF ldi r24,lo8(-5)
214 008a 09C0 rjmp .L21
215 .L12:
33:usart.c **** case 0X34: PORTA=0B11110111; break;
217 .LM21:
218 008c 87EF ldi r24,lo8(-9)
219 008e 07C0 rjmp .L21
220 .L13:
34:usart.c **** case 0X35: PORTA=0B11101111; break;
222 .LM22:
223 0090 8FEE ldi r24,lo8(-17)
224 0092 05C0 rjmp .L21
225 .L14:
35:usart.c **** case 0X36: PORTA=0B11011111; break;
227 .LM23:
228 0094 8FED ldi r24,lo8(-33)
229 0096 03C0 rjmp .L21
230 .L15:
36:usart.c **** case 0X37: PORTA=0B10111111; break;
232 .LM24:
233 0098 8FEB ldi r24,lo8(-65)
234 009a 01C0 rjmp .L21
235 .L16:
37:usart.c **** case 0X38: PORTA=0B01111111; break;
237 .LM25:
238 009c 8FE7 ldi r24,lo8(127)
239 .L21:
240 009e 8BBB out 59-0x20,r24
241 00a0 01C0 rjmp .L7
242 .L17:
38:usart.c **** case 0X39: PORTA=0B00000000; break;
244 .LM26:
245 00a2 1BBA out 59-0x20,__zero_reg__
246 .L7:
247 /* epilogue: frame size=0 */
248 00a4 9F91 pop r25
249 00a6 8F91 pop r24
250 00a8 0F90 pop __tmp_reg__
251 00aa 0FBE out __SREG__,__tmp_reg__
252 00ac 0F90 pop __tmp_reg__
253 00ae 1F90 pop __zero_reg__
254 00b0 1895 reti
255 /* epilogue end (size=7) */
256 /* function __vector_18 size 72 (58) */
258 .Lscope3:
260 .global main
262 main:
39:usart.c **** default: break;
40:usart.c **** }
41:usart.c **** }
42:usart.c ****
43:usart.c **** int main(void){
264 .LM27:
265 /* prologue: frame size=0 */
266 00b2 C0E0 ldi r28,lo8(__stack - 0)
267 00b4 D0E0 ldi r29,hi8(__stack - 0)
268 00b6 DEBF out __SP_H__,r29
269 00b8 CDBF out __SP_L__,r28
270 /* prologue end (size=4) */
44:usart.c **** unsigned char i,m;
45:usart.c **** cli();
272 .LM28:
273 /* #APP */
274 00ba F894 cli
46:usart.c **** port_init();
276 .LM29:
277 /* #NOAPP */
278 00bc 0E94 0000 call port_init
47:usart.c **** usart0_init();
280 .LM30:
281 00c0 0E94 0000 call usart0_init
48:usart.c **** sei();
283 .LM31:
284 /* #APP */
285 00c4 7894 sei
286 /* #NOAPP */
287 00c6 C9E0 ldi r28,lo8(9)
288 .L26:
49:usart.c **** for(m=0;m<10;m++){
50:usart.c **** i=PINC;
290 .LM32:
291 00c8 83B3 in r24,51-0x20
51:usart.c **** usart0_transmit(i);
293 .LM33:
294 00ca 0E94 0000 call usart0_transmit
296 .LM34:
297 00ce C150 subi r28,lo8(-(-1))
298 00d0 C7FF sbrs r28,7
299 00d2 FACF rjmp .L26
300 .L27:
52:usart.c **** }
53:usart.c **** for(;;){
302 .LM35:
303 00d4 FFCF rjmp .L27
304 /* epilogue: frame size=0 */
305 /* epilogue: noreturn */
306 /* epilogue end (size=0) */
307 /* function main size 20 (16) */
313 .Lscope4:
314 .comm j,1,1
316 .text
318 Letext:
319 /* File "usart.c": code 112 = 0x0070 ( 91), prologues 11, epilogues 10 */
DEFINED SYMBOLS
*ABS*:00000000 usart.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
C:\DOCUME~1\POLO\LOCALS~1\Temp/ccYVaaaa.s:65 .text:00000000 port_init
C:\DOCUME~1\POLO\LOCALS~1\Temp/ccYVaaaa.s:92 .text:0000000c usart0_init
C:\DOCUME~1\POLO\LOCALS~1\Temp/ccYVaaaa.s:122 .text:00000020 usart0_transmit
C:\DOCUME~1\POLO\LOCALS~1\Temp/ccYVaaaa.s:144 .text:00000028 __vector_18
*COM*:00000001 j
C:\DOCUME~1\POLO\LOCALS~1\Temp/ccYVaaaa.s:262 .text:000000b2 main
C:\DOCUME~1\POLO\LOCALS~1\Temp/ccYVaaaa.s:318 .text:000000d6 Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -