?? uart.lst
字號:
1 .file "uart.c"
2 .arch atmega32
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 __vector_13
20 __vector_13:
21 .LFB5:
22 .LM1:
23 /* prologue: frame size=0 */
24 0000 1F92 push __zero_reg__
25 0002 0F92 push __tmp_reg__
26 0004 0FB6 in __tmp_reg__,__SREG__
27 0006 0F92 push __tmp_reg__
28 0008 1124 clr __zero_reg__
29 000a 2F93 push r18
30 000c 8F93 push r24
31 000e 9F93 push r25
32 0010 EF93 push r30
33 0012 FF93 push r31
34 /* prologue end (size=10) */
35 .LM2:
36 0014 9BB1 in r25,43-0x20
37 .LM3:
38 0016 2CB1 in r18,44-0x20
39 .LM4:
40 0018 9871 andi r25,lo8(24)
41 .LM5:
42 001a E091 0000 lds r30,UART_RxHead
43 001e EF5F subi r30,lo8(-(1))
44 0020 EF71 andi r30,lo8(31)
45 .LM6:
46 0022 8091 0000 lds r24,UART_RxTail
47 0026 E817 cp r30,r24
48 0028 11F4 brne .L2
49 .LM7:
50 002a 92E0 ldi r25,lo8(2)
51 002c 06C0 rjmp .L3
52 .L2:
53 .LM8:
54 002e E093 0000 sts UART_RxHead,r30
55 .LM9:
56 0032 FF27 clr r31
57 0034 E050 subi r30,lo8(-(UART_RxBuf))
58 0036 F040 sbci r31,hi8(-(UART_RxBuf))
59 0038 2083 st Z,r18
60 .L3:
61 .LM10:
62 003a 9093 0000 sts UART_LastRxError,r25
63 /* epilogue: frame size=0 */
64 003e FF91 pop r31
65 0040 EF91 pop r30
66 0042 9F91 pop r25
67 0044 8F91 pop r24
68 0046 2F91 pop r18
69 0048 0F90 pop __tmp_reg__
70 004a 0FBE out __SREG__,__tmp_reg__
71 004c 0F90 pop __tmp_reg__
72 004e 1F90 pop __zero_reg__
73 0050 1895 reti
74 /* epilogue end (size=10) */
75 /* function __vector_13 size 41 (21) */
76 .LFE5:
78 .global __vector_14
80 __vector_14:
81 .LFB6:
82 .LM11:
83 /* prologue: frame size=0 */
84 0052 1F92 push __zero_reg__
85 0054 0F92 push __tmp_reg__
86 0056 0FB6 in __tmp_reg__,__SREG__
87 0058 0F92 push __tmp_reg__
88 005a 1124 clr __zero_reg__
89 005c 8F93 push r24
90 005e 9F93 push r25
91 0060 EF93 push r30
92 0062 FF93 push r31
93 /* prologue end (size=9) */
94 .LM12:
95 0064 9091 0000 lds r25,UART_TxHead
96 0068 8091 0000 lds r24,UART_TxTail
97 006c 9817 cp r25,r24
98 006e 69F0 breq .L5
99 .LM13:
100 0070 8091 0000 lds r24,UART_TxTail
101 0074 8F5F subi r24,lo8(-(1))
102 0076 8F71 andi r24,lo8(31)
103 .LM14:
104 0078 8093 0000 sts UART_TxTail,r24
105 .LM15:
106 007c E82F mov r30,r24
107 007e FF27 clr r31
108 0080 E050 subi r30,lo8(-(UART_TxBuf))
109 0082 F040 sbci r31,hi8(-(UART_TxBuf))
110 0084 8081 ld r24,Z
111 0086 8CB9 out 44-0x20,r24
112 0088 01C0 rjmp .L4
113 .L5:
114 .LM16:
115 008a 5598 cbi 42-0x20,5
116 .L4:
117 /* epilogue: frame size=0 */
118 008c FF91 pop r31
119 008e EF91 pop r30
120 0090 9F91 pop r25
121 0092 8F91 pop r24
122 0094 0F90 pop __tmp_reg__
123 0096 0FBE out __SREG__,__tmp_reg__
124 0098 0F90 pop __tmp_reg__
125 009a 1F90 pop __zero_reg__
126 009c 1895 reti
127 /* epilogue end (size=9) */
128 /* function __vector_14 size 38 (20) */
129 .LFE6:
131 .global uart_init
133 uart_init:
134 .LFB7:
135 .LM17:
136 /* prologue: frame size=0 */
137 /* prologue end (size=0) */
138 009e 9C01 movw r18,r24
139 00a0 1092 0000 sts UART_TxHead,__zero_reg__
140 .LM18:
141 00a4 1092 0000 sts UART_TxTail,__zero_reg__
142 .LM19:
143 00a8 1092 0000 sts UART_RxHead,__zero_reg__
144 .LM20:
145 00ac 1092 0000 sts UART_RxTail,__zero_reg__
146 .LM21:
147 00b0 832F mov r24,r19
148 00b2 9927 clr r25
149 00b4 80BD out 64-0x20,r24
150 .LM22:
151 00b6 29B9 out 41-0x20,r18
152 .LM23:
153 00b8 88E9 ldi r24,lo8(-104)
154 00ba 8AB9 out 42-0x20,r24
155 .LM24:
156 00bc 86E8 ldi r24,lo8(-122)
157 00be 80BD out 64-0x20,r24
158 /* epilogue: frame size=0 */
159 00c0 0895 ret
160 /* epilogue end (size=1) */
161 /* function uart_init size 18 (17) */
162 .LFE7:
164 .global uart_getc
166 uart_getc:
167 .LFB8:
168 .LM25:
169 /* prologue: frame size=0 */
170 /* prologue end (size=0) */
171 .LM26:
172 00c2 9091 0000 lds r25,UART_RxHead
173 00c6 8091 0000 lds r24,UART_RxTail
174 00ca 9817 cp r25,r24
175 00cc 19F4 brne .L9
176 .LM27:
177 00ce 80E0 ldi r24,lo8(256)
178 00d0 91E0 ldi r25,hi8(256)
179 00d2 0895 ret
180 .L9:
181 .LM28:
182 00d4 8091 0000 lds r24,UART_RxTail
183 00d8 8F5F subi r24,lo8(-(1))
184 00da 8F71 andi r24,lo8(31)
185 .LM29:
186 00dc 8093 0000 sts UART_RxTail,r24
187 .LM30:
188 00e0 E82F mov r30,r24
189 00e2 FF27 clr r31
190 00e4 E050 subi r30,lo8(-(UART_RxBuf))
191 00e6 F040 sbci r31,hi8(-(UART_RxBuf))
192 00e8 2081 ld r18,Z
193 .LM31:
194 00ea 8091 0000 lds r24,UART_LastRxError
195 00ee 9927 clr r25
196 00f0 982F mov r25,r24
197 00f2 8827 clr r24
198 00f4 820F add r24,r18
199 00f6 911D adc r25,__zero_reg__
200 .LM32:
201 00f8 0895 ret
202 /* epilogue: frame size=0 */
203 00fa 0895 ret
204 /* epilogue end (size=1) */
205 /* function uart_getc size 29 (28) */
206 .LFE8:
208 .global uart_putc
210 uart_putc:
211 .LFB9:
212 .LM33:
213 /* prologue: frame size=0 */
214 /* prologue end (size=0) */
215 00fc 282F mov r18,r24
216 .LM34:
217 00fe 9091 0000 lds r25,UART_TxHead
218 0102 9F5F subi r25,lo8(-(1))
219 0104 9F71 andi r25,lo8(31)
220 .L11:
221 .LM35:
222 0106 8091 0000 lds r24,UART_TxTail
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -