📄 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:
53 .global putc
55 putc:
1:main.c **** /*
2:main.c **** 查询方式UART测试程序
3:main.c **** main.c
4:main.c **** MCU:AT90S2313
5:main.c **** 时钟:4MHz
6:main.c ****
7:main.c **** 芯艺 2004-09-18
8:main.c **** */
9:main.c ****
10:main.c **** #include <avr/io.h>
11:main.c ****
12:main.c **** #define uchar unsigned char
13:main.c **** #define uint unsigned int
14:main.c ****
15:main.c **** void putc(uchar c)
16:main.c **** {
57 .LM1:
58 /* prologue: frame size=0 */
59 /* prologue end (size=0) */
60 .L2:
17:main.c **** loop_until_bit_is_set(UCR,UDRE);
62 .LM2:
63 0000 559B sbis 42-0x20,5
64 0002 FECF rjmp .L2
18:main.c **** UDR=c;
66 .LM3:
67 0004 8CB9 out 44-0x20,r24
68 /* epilogue: frame size=0 */
69 0006 0895 ret
70 /* epilogue end (size=1) */
71 /* function putc size 4 (3) */
74 .global getc
76 getc:
19:main.c **** }
20:main.c ****
21:main.c **** uchar getc(void)
22:main.c **** {
78 .LM4:
79 /* prologue: frame size=0 */
80 /* prologue end (size=0) */
81 .L6:
23:main.c **** loop_until_bit_is_set(UCR,RXC);
83 .LM5:
84 0008 579B sbis 42-0x20,7
85 000a FECF rjmp .L6
24:main.c **** return UDR;
87 .LM6:
88 000c 8CB1 in r24,44-0x20
25:main.c **** }
90 .LM7:
91 000e 9927 clr r25
92 /* epilogue: frame size=0 */
93 0010 0895 ret
94 /* epilogue end (size=1) */
95 /* function getc size 5 (4) */
98 .global main
100 main:
26:main.c ****
27:main.c **** int main(void)
28:main.c **** {
102 .LM8:
103 /* prologue: frame size=0 */
104 0012 C0E0 ldi r28,lo8(__stack - 0)
105 0014 D0E0 ldi r29,hi8(__stack - 0)
106 0016 DEBF out __SP_H__,r29
107 0018 CDBF out __SP_L__,r28
108 /* prologue end (size=4) */
29:main.c **** //uart 初始化
30:main.c **** UCR=(1<<RXEN)|(1<<TXEN);
110 .LM9:
111 001a 88E1 ldi r24,lo8(24)
112 001c 8AB9 out 42-0x20,r24
31:main.c **** UBRR=25; //baud=9600 UBRR=CK/(9600*16) -1
114 .LM10:
115 001e 89E1 ldi r24,lo8(25)
116 0020 89B9 out 41-0x20,r24
117 .L10:
32:main.c ****
33:main.c **** while(1)
34:main.c **** {
35:main.c **** putc(getc());
119 .LM11:
120 0022 F2DF rcall getc
121 0024 EDDF rcall putc
122 0026 FDCF rjmp .L10
123 /* epilogue: frame size=0 */
124 /* epilogue: noreturn */
125 /* epilogue end (size=0) */
126 /* function main size 11 (7) */
128 .text
130 Letext:
131 /* File "main.c": code 20 = 0x0014 ( 14), prologues 4, epilogues 2 */
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/ccScaaaa.s:55 .text:00000000 putc
J:\DOCUME~1\tcf\LOCALS~1\Temp/ccScaaaa.s:76 .text:00000008 getc
J:\DOCUME~1\tcf\LOCALS~1\Temp/ccScaaaa.s:100 .text:00000012 main
J:\DOCUME~1\tcf\LOCALS~1\Temp/ccScaaaa.s:130 .text:00000028 Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -