📄 uart1.lst
字号:
1 .file "uart1.c"
2 .arch atmega64
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 UART1_InitUART
20 UART1_InitUART:
21 .LFB19:
22 .LM1:
23 /* prologue: frame size=0 */
24 0000 EF92 push r14
25 0002 FF92 push r15
26 0004 0F93 push r16
27 0006 1F93 push r17
28 /* prologue end (size=4) */
29 0008 9B01 movw r18,r22
30 000a AC01 movw r20,r24
31 .LM2:
32 000c 94E0 ldi r25,4
33 000e 220F 1: lsl r18
34 0010 331F rol r19
35 0012 441F rol r20
36 0014 551F rol r21
37 0016 9A95 dec r25
38 0018 D1F7 brne 1b
39 001a E12C mov r14,__zero_reg__
40 001c 80E8 ldi r24,hi8(7372800)
41 001e F82E mov r15,r24
42 0020 80E7 ldi r24,hlo8(7372800)
43 0022 082F mov r16,r24
44 0024 112D mov r17,__zero_reg__
45 0026 C801 movw r24,r16
46 0028 B701 movw r22,r14
47 002a 1092 9800 sts 152,__zero_reg__
48 .LM3:
49 002e 0E94 0000 call __udivmodsi4
50 0032 DA01 movw r26,r20
51 0034 C901 movw r24,r18
52 0036 8150 subi r24,lo8(-(-1))
53 0038 8093 9900 sts 153,r24
54 .LM4:
55 003c 88E9 ldi r24,lo8(-104)
56 003e 8093 9A00 sts 154,r24
57 .LM5:
58 0042 86E0 ldi r24,lo8(6)
59 0044 8093 9D00 sts 157,r24
60 .LM6:
61 0048 80E0 ldi r24,lo8(0)
62 .LM7:
63 004a 8093 0000 sts UART1_RxTail,r24
64 .LM8:
65 004e 8093 0000 sts UART1_RxHead,r24
66 .LM9:
67 0052 8093 0000 sts UART1_TxTail,r24
68 .LM10:
69 0056 8093 0000 sts UART1_TxHead,r24
70 /* epilogue: frame size=0 */
71 005a 1F91 pop r17
72 005c 0F91 pop r16
73 005e FF90 pop r15
74 0060 EF90 pop r14
75 0062 0895 ret
76 /* epilogue end (size=5) */
77 /* function UART1_InitUART size 50 (41) */
78 .LFE19:
80 .global __vector_30
82 __vector_30:
83 .LFB20:
84 .LM11:
85 /* prologue: frame size=0 */
86 0064 1F92 push __zero_reg__
87 0066 0F92 push __tmp_reg__
88 0068 0FB6 in __tmp_reg__,__SREG__
89 006a 0F92 push __tmp_reg__
90 006c 1124 clr __zero_reg__
91 006e 2F93 push r18
92 0070 8F93 push r24
93 0072 9F93 push r25
94 0074 EF93 push r30
95 0076 FF93 push r31
96 /* prologue end (size=10) */
97 .LM12:
98 0078 9091 9C00 lds r25,156
99 .LM13:
100 007c 8091 0000 lds r24,UART1_RxHead
101 0080 8F5F subi r24,lo8(-(1))
102 .LM14:
103 0082 8093 0000 sts UART1_RxHead,r24
104 .LM15:
105 0086 2091 0000 lds r18,UART1_RxTail
106 .LM16:
107 008a E0E0 ldi r30,lo8(UART1_RxBuf)
108 008c F0E0 ldi r31,hi8(UART1_RxBuf)
109 008e E80F add r30,r24
110 0090 F11D adc r31,__zero_reg__
111 0092 9083 st Z,r25
112 /* epilogue: frame size=0 */
113 0094 FF91 pop r31
114 0096 EF91 pop r30
115 0098 9F91 pop r25
116 009a 8F91 pop r24
117 009c 2F91 pop r18
118 009e 0F90 pop __tmp_reg__
119 00a0 0FBE out __SREG__,__tmp_reg__
120 00a2 0F90 pop __tmp_reg__
121 00a4 1F90 pop __zero_reg__
122 00a6 1895 reti
123 /* epilogue end (size=10) */
124 /* function __vector_30 size 34 (14) */
125 .LFE20:
127 .global __vector_31
129 __vector_31:
130 .LFB21:
131 .LM17:
132 /* prologue: frame size=0 */
133 00a8 1F92 push __zero_reg__
134 00aa 0F92 push __tmp_reg__
135 00ac 0FB6 in __tmp_reg__,__SREG__
136 00ae 0F92 push __tmp_reg__
137 00b0 1124 clr __zero_reg__
138 00b2 8F93 push r24
139 00b4 9F93 push r25
140 00b6 EF93 push r30
141 00b8 FF93 push r31
142 /* prologue end (size=9) */
143 .LM18:
144 00ba 9091 0000 lds r25,UART1_TxHead
145 00be 8091 0000 lds r24,UART1_TxTail
146 00c2 9817 cp r25,r24
147 00c4 69F0 breq .L5
148 .LM19:
149 00c6 8091 0000 lds r24,UART1_TxTail
150 00ca 8F5F subi r24,lo8(-(1))
151 .LM20:
152 00cc 8093 0000 sts UART1_TxTail,r24
153 .LM21:
154 00d0 E82F mov r30,r24
155 00d2 FF27 clr r31
156 00d4 E050 subi r30,lo8(-(UART1_TxBuf))
157 00d6 F040 sbci r31,hi8(-(UART1_TxBuf))
158 00d8 8081 ld r24,Z
159 00da 8093 9C00 sts 156,r24
160 00de 05C0 rjmp .L4
161 .L5:
162 .LM22:
163 00e0 8091 9A00 lds r24,154
164 00e4 8F7D andi r24,lo8(-33)
165 00e6 8093 9A00 sts 154,r24
166 .L4:
167 /* epilogue: frame size=0 */
168 00ea FF91 pop r31
169 00ec EF91 pop r30
170 00ee 9F91 pop r25
171 00f0 8F91 pop r24
172 00f2 0F90 pop __tmp_reg__
173 00f4 0FBE out __SREG__,__tmp_reg__
174 00f6 0F90 pop __tmp_reg__
175 00f8 1F90 pop __zero_reg__
176 00fa 1895 reti
177 /* epilogue end (size=9) */
178 /* function __vector_31 size 42 (24) */
179 .LFE21:
181 .global UART1_ReceiveByte
183 UART1_ReceiveByte:
184 .LFB22:
185 .LM23:
186 /* prologue: frame size=0 */
187 /* prologue end (size=0) */
188 .L8:
189 .LM24:
190 00fc 9091 0000 lds r25,UART1_RxHead
191 0100 8091 0000 lds r24,UART1_RxTail
192 0104 9817 cp r25,r24
193 0106 D1F3 breq .L8
194 .LM25:
195 0108 8091 0000 lds r24,UART1_RxTail
196 010c 8F5F subi r24,lo8(-(1))
197 .LM26:
198 010e 8093 0000 sts UART1_RxTail,r24
199 .LM27:
200 0112 E82F mov r30,r24
201 0114 FF27 clr r31
202 0116 E050 subi r30,lo8(-(UART1_RxBuf))
203 0118 F040 sbci r31,hi8(-(UART1_RxBuf))
204 011a 8081 ld r24,Z
205 .LM28:
206 011c 9927 clr r25
207 /* epilogue: frame size=0 */
208 011e 0895 ret
209 /* epilogue end (size=1) */
210 /* function UART1_ReceiveByte size 18 (17) */
211 .LFE22:
213 .global UART1_TransmitByte
215 UART1_TransmitByte:
216 .LFB23:
217 .LM29:
218 /* prologue: frame size=0 */
219 /* prologue end (size=0) */
220 0120 282F mov r18,r24
221 .LM30:
222 0122 9091 0000 lds r25,UART1_TxHead
223 0126 9F5F subi r25,lo8(-(1))
224 .L12:
225 .LM31:
226 0128 8091 0000 lds r24,UART1_TxTail
227 012c 9817 cp r25,r24
228 012e E1F3 breq .L12
229 .LM32:
230 0130 E92F mov r30,r25
231 0132 FF27 clr r31
232 0134 E050 subi r30,lo8(-(UART1_TxBuf))
233 0136 F040 sbci r31,hi8(-(UART1_TxBuf))
234 0138 2083 st Z,r18
235 .LM33:
236 013a 9093 0000 sts UART1_TxHead,r25
237 .LM34:
238 013e 8091 9A00 lds r24,154
239 0142 8062 ori r24,lo8(32)
240 0144 8093 9A00 sts 154,r24
241 /* epilogue: frame size=0 */
242 0148 0895 ret
243 /* epilogue end (size=1) */
244 /* function UART1_TransmitByte size 21 (20) */
245 .LFE23:
247 .global UART1_Transmitstr
249 UART1_Transmitstr:
250 .LFB24:
251 .LM35:
252 /* prologue: frame size=0 */
253 014a EF92 push r14
254 014c FF92 push r15
255 014e 0F93 push r16
256 0150 1F93 push r17
257 0152 CF93 push r28
258 0154 DF93 push r29
259 /* prologue end (size=6) */
260 .LM36:
261 0156 EC01 movw r28,r24
262 0158 0990 ld __tmp_reg__,Y+
263 015a 0020 tst __tmp_reg__
264 015c E9F7 brne .-6
265 015e 2197 sbiw r28,1
266 0160 C81B sub r28,r24
267 0162 D90B sbc r29,r25
268 .LM37:
269 0164 00E0 ldi r16,lo8(0)
270 0166 10E0 ldi r17,hi8(0)
271 0168 0C17 cp r16,r28
272 016a 1D07 cpc r17,r29
273 016c 58F4 brsh .L21
274 016e 7C01 movw r14,r24
275 .L19:
276 .LM38:
277 0170 F701 movw r30,r14
278 0172 8191 ld r24,Z+
279 0174 7F01 movw r14,r30
280 0176 0E94 0000 call UART1_TransmitByte
281 .LM39:
282 017a 0F5F subi r16,lo8(-(1))
283 017c 1F4F sbci r17,hi8(-(1))
284 017e 0C17 cp r16,r28
285 0180 1D07 cpc r17,r29
286 0182 B0F3 brlo .L19
287 .L21:
288 /* epilogue: frame size=0 */
289 0184 DF91 pop r29
290 0186 CF91 pop r28
291 0188 1F91 pop r17
292 018a 0F91 pop r16
293 018c FF90 pop r15
294 018e EF90 pop r14
295 0190 0895 ret
296 /* epilogue end (size=7) */
297 /* function UART1_Transmitstr size 36 (23) */
298 .LFE24:
300 .global UART1_DataInReceiveBuffer
302 UART1_DataInReceiveBuffer:
303 .LFB25:
304 .LM40:
305 /* prologue: frame size=0 */
306 /* prologue end (size=0) */
307 .LM41:
308 0192 20E0 ldi r18,lo8(0)
309 0194 30E0 ldi r19,hi8(0)
310 0196 9091 0000 lds r25,UART1_RxHead
311 019a 8091 0000 lds r24,UART1_RxTail
312 019e 9817 cp r25,r24
313 01a0 11F0 breq .L23
314 .LM42:
315 01a2 21E0 ldi r18,lo8(1)
316 01a4 30E0 ldi r19,hi8(1)
317 .L23:
318 .LM43:
319 01a6 C901 movw r24,r18
320 /* epilogue: frame size=0 */
321 01a8 0895 ret
322 /* epilogue end (size=1) */
323 /* function UART1_DataInReceiveBuffer size 12 (11) */
324 .LFE25:
326 .comm temperature_low,1,1
327 .comm temperature_high,1,1
328 .comm bit_flag,1,1
329 .comm bit_var,1,1
330 .comm bit_hardware,1,1
331 .comm bit_Condition,1,1
332 .lcomm UART1_RxBuf,512
333 .lcomm UART1_RxHead,1
334 .lcomm UART1_RxTail,1
335 .lcomm UART1_TxBuf,512
336 .lcomm UART1_TxHead,1
337 .lcomm UART1_TxTail,1
338 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 uart1.c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqIaaaa.s:3 *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqIaaaa.s:4 *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqIaaaa.s:5 *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqIaaaa.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqIaaaa.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqIaaaa.s:20 .text:00000000 UART1_InitUART
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqIaaaa.s:333 .bss:00000201 UART1_RxTail
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqIaaaa.s:332 .bss:00000200 UART1_RxHead
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqIaaaa.s:336 .bss:00000403 UART1_TxTail
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqIaaaa.s:335 .bss:00000402 UART1_TxHead
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqIaaaa.s:82 .text:00000064 __vector_30
.bss:00000000 UART1_RxBuf
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqIaaaa.s:129 .text:000000a8 __vector_31
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqIaaaa.s:334 .bss:00000202 UART1_TxBuf
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqIaaaa.s:183 .text:000000fc UART1_ReceiveByte
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqIaaaa.s:215 .text:00000120 UART1_TransmitByte
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqIaaaa.s:249 .text:0000014a UART1_Transmitstr
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqIaaaa.s:302 .text:00000192 UART1_DataInReceiveBuffer
*COM*:00000001 temperature_low
*COM*:00000001 temperature_high
*COM*:00000001 bit_flag
*COM*:00000001 bit_var
*COM*:00000001 bit_hardware
*COM*:00000001 bit_Condition
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__udivmodsi4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -