?? uart.lst
字號:
1 .file "UART.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
7 .global __do_copy_data
8 .global __do_clear_bss
10 .text
11 .Ltext0:
83 .global USART_putchar
85 USART_putchar:
1:UART\UART.c **** /*****************************************************/
2:UART\UART.c **** /* File name : UART.c */
3:UART\UART.c **** /* Description : code for UART0 of m64/128 */
4:UART\UART.c **** /* Platform : AVRStudio4.13 + WinAVR20070525 for AVR */
5:UART\UART.c **** /* Author : Michael Zhang - 章其波 */
6:UART\UART.c **** /* Email : sudazqb@163.com */
7:UART\UART.c **** /* MSN : zhangqibo_1985@hotmail.com */
8:UART\UART.c **** /* Date : 2006-12-26 */
9:UART\UART.c **** /* NOT FOR COMMERCIAL USE, ALL RIGHT RESERVED! */
10:UART\UART.c **** /*****************************************************/
11:UART\UART.c **** /* Change Log: */
12:UART\UART.c **** /* 20061226: modify for AVRGCC, fdevopen(); */
13:UART\UART.c **** /* 20061226: original version from ATmel's datasheet*/
14:UART\UART.c **** /*****************************************************/
15:UART\UART.c ****
16:UART\UART.c **** #include"UART.h"
17:UART\UART.c ****
18:UART\UART.c ****
19:UART\UART.c **** int USART_putchar(char CH)
20:UART\UART.c **** {
86 d (size=0) */
87 .L3:
89 .LM1:
90 sbis 43-0x20,5
91 rjmp .L3
21:UART\UART.c **** /* Wait for empty transmit buffer */
22:UART\UART.c **** while ( !( UCSR0A & (1<<UDRE0)) );
92 (size=0) */
93 .L3:
95 0002 00C0 .LM1:
23:UART\UART.c **** /* Put data into buffer, sends the data */
24:UART\UART.c **** UDR0=CH;
96 e size=0 */
97 /* prologue end (size=0) */
98 0004 8CB9 .L3:
25:UART\UART.c **** return 0;
26:UART\UART.c **** }
99 FBB1
100 .LM0:
101 0006 80E0 .LFBB1:
102 0008 90E0 /* prologue: frame size=0 */
103 /* prologue end (size=0) */
104 000a 0895 .L3:
106 .LM1:
107 sbis 43-0x20,5
108 rjmp .L3
110 .LM2:
111 out 44-0x20,r24
27:UART\UART.c ****
28:UART\UART.c ****
29:UART\UART.c **** int USART_getchar(void)
30:UART\UART.c **** {
113 n 68,0,24,.LM2-.LFBB1
114 .LM2:
115 out 44-0x20,r24
117 .LM3:
118 ldi r24,lo8(0)
31:UART\UART.c **** /* Wait for data to be received */
32:UART\UART.c **** while ( !(UCSR0A & (1<<RXC0)) );
119 M2:
120 out 44-0x20,r24
122 000e 00C0 .LM3:
33:UART\UART.c **** /* Get and return received data from buffer */
34:UART\UART.c **** return UDR0;
123 24,.LM2-.LFBB1
124 .LM2:
125 0010 8CB1 out 44-0x20,r24
35:UART\UART.c **** }
126 is 43-0x20,5
127 rjmp .L3
129 .LM2:
130 0014 0895 out 44-0x20,r24
132 .LM3:
133 ldi r24,lo8(0)
134 ldi r25,hi8(0)
135 /* epilogue: frame size=0 */
136 ret
137 /* epilogue end (size=1) */
138 /* function USART_putchar size 6 (5) */
36:UART\UART.c ****
37:UART\UART.c ****
38:UART\UART.c **** void COM_Initial(unsigned int UBRR_val)
39:UART\UART.c **** {
140 SART_putchar size 6 (5) */
142 .Lscope1:
144 .global USART_getchar
40:UART\UART.c **** /* Set baud rate */
41:UART\UART.c **** UBRR0H = (unsigned char)(UBRR_val>>8);
145 RT_getchar:F(0,1)",36,0,0,USART_getchar
146 .global USART_getchar
148 0018 3327 USART_getchar:
42:UART\UART.c **** UBRR0L = (unsigned char)UBRR_val;
150 char, @function
151 USART_getchar:
43:UART\UART.c **** /* Enable receiver and transmitter */
44:UART\UART.c **** UCSR0B = (1<<RXEN0)|(1<<TXEN0);
153 char, @function
154 USART_getchar:
156 0022 8AB9 .LM4:
45:UART\UART.c **** /* Set frame format: 8data, 2stop bit */
46:UART\UART.c **** //UCSRC = (1<<URSEL)|(1<<USBS)|(3<<UCSZ0);
47:UART\UART.c **** fdevopen(USART_putchar,USART_getchar);//
157 function
158 USART_getchar:
160 0026 70E0 .LM4:
161 0028 80E0 .LFBB2:
162 002a 90E0 /* prologue: frame size=0 */
163 002c 0E94 0000 /* prologue end (size=0) */
164 .L10:
166 .LM5:
167 sbis 43-0x20,7
168 rjmp .L10
170 .LM6:
171 in r24,44-0x20
DEFINED SYMBOLS
*ABS*:00000000 UART.c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cckElnJP.s:2 *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cckElnJP.s:3 *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cckElnJP.s:4 *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cckElnJP.s:5 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cckElnJP.s:6 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cckElnJP.s:85 .text:00000000 USART_putchar
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cckElnJP.s:112 .text:0000000c USART_getchar
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cckElnJP.s:139 .text:00000016 COM_Initial
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
fdevopen
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -