📄 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 UartIntit
20 UartIntit:
21 .LFB6:
22 .LM1:
23 /* prologue: frame size=0 */
24 /* prologue end (size=0) */
25 .LM2:
26 0000 80B5 in r24,64-0x20
27 0002 8F77 andi r24,lo8(127)
28 0004 80BD out 64-0x20,r24
29 .LM3:
30 0006 10BC out 64-0x20,__zero_reg__
31 .LM4:
32 0008 85E0 ldi r24,lo8(5)
33 000a 89B9 out 41-0x20,r24
34 .LM5:
35 000c 1BB8 out 43-0x20,__zero_reg__
36 .LM6:
37 000e 88E9 ldi r24,lo8(-104)
38 0010 8AB9 out 42-0x20,r24
39 .LM7:
40 0012 86E8 ldi r24,lo8(-122)
41 0014 80BD out 64-0x20,r24
42 /* epilogue: frame size=0 */
43 0016 0895 ret
44 /* epilogue end (size=1) */
45 /* function UartIntit size 12 (11) */
46 .LFE6:
48 .global UARTSend
50 UARTSend:
51 .LFB7:
52 .LM8:
53 /* prologue: frame size=0 */
54 /* prologue end (size=0) */
55 .LVL0:
56 .L5:
57 .LM9:
58 0018 5D9B sbis 43-0x20,5
59 001a 00C0 rjmp .L5
60 .LM10:
61 001c 8CB9 out 44-0x20,r24
62 /* epilogue: frame size=0 */
63 001e 0895 ret
64 /* epilogue end (size=1) */
65 /* function UARTSend size 4 (3) */
66 .LFE7:
68 .global UARTSendString
70 UARTSendString:
71 .LFB9:
72 .LM11:
73 /* prologue: frame size=0 */
74 /* prologue end (size=0) */
75 .LVL1:
76 0020 FC01 movw r30,r24
77 0022 00C0 rjmp .L11
78 .LVL2:
79 .L21:
80 .LBB8:
81 .LBB9:
82 .LM12:
83 0024 5D9B sbis 43-0x20,5
84 0026 00C0 rjmp .L21
85 .LBE9:
86 .LBE8:
87 .LM13:
88 0028 3196 adiw r30,1
89 .LBB10:
90 .LBB11:
91 .LM14:
92 002a 8CB9 out 44-0x20,r24
93 .LVL3:
94 .L11:
95 .LBE11:
96 .LBE10:
97 .LM15:
98 002c 8081 ld r24,Z
99 002e 8823 tst r24
100 0030 01F4 brne .L21
101 .L20:
102 .LBB12:
103 .LBB13:
104 .LM16:
105 0032 5D9B sbis 43-0x20,5
106 0034 00C0 rjmp .L20
107 .LM17:
108 0036 8DE0 ldi r24,lo8(13)
109 0038 8CB9 out 44-0x20,r24
110 .L17:
111 .LBE13:
112 .LBE12:
113 .LBB14:
114 .LBB15:
115 .LM18:
116 003a 5D9B sbis 43-0x20,5
117 003c 00C0 rjmp .L17
118 .LM19:
119 003e 8AE0 ldi r24,lo8(10)
120 0040 8CB9 out 44-0x20,r24
121 .LBE15:
122 .LBE14:
123 /* epilogue: frame size=0 */
124 0042 0895 ret
125 /* epilogue end (size=1) */
126 /* function UARTSendString size 18 (17) */
127 .LFE9:
129 .data
130 .LC0:
131 0000 D6B8 C1EE .string "\326\270\301\356\316\336\320\247!"
131 CEDE D0A7
131 2100
132 .text
133 .global ResponseErro
135 ResponseErro:
136 .LFB15:
137 .LM20:
138 /* prologue: frame size=0 */
139 /* prologue end (size=0) */
140 .LM21:
141 0044 80E0 ldi r24,lo8(.LC0)
142 0046 90E0 ldi r25,hi8(.LC0)
143 0048 0E94 0000 call UARTSendString
144 /* epilogue: frame size=0 */
145 004c 0895 ret
146 /* epilogue end (size=1) */
147 /* function ResponseErro size 5 (4) */
148 .LFE15:
150 .global ResponseWrite
152 ResponseWrite:
153 .LFB14:
154 .LM22:
155 /* prologue: frame size=0 */
156 /* prologue end (size=0) */
157 .LM23:
158 004e 1092 0000 sts UartWriteflag,__zero_reg__
159 .LM24:
160 0052 8091 0000 lds r24,ReceiveBuffer+2
161 0056 8530 cpi r24,lo8(5)
162 0058 00F4 brsh .L31
163 .LM25:
164 005a 8091 0000 lds r24,ReceiveBuffer+2
165 005e 8130 cpi r24,lo8(1)
166 0060 01F4 brne .L33
167 0062 A0E0 ldi r26,lo8(RealTimeDate)
168 0064 B0E0 ldi r27,hi8(RealTimeDate)
169 0066 E0E0 ldi r30,lo8(ReceiveBuffer+3)
170 0068 F0E0 ldi r31,hi8(ReceiveBuffer+3)
171 .L35:
172 .LM26:
173 006a 8191 ld r24,Z+
174 006c 8D93 st X+,r24
175 006e 80E0 ldi r24,hi8(ReceiveBuffer+10)
176 0070 E030 cpi r30,lo8(ReceiveBuffer+10)
177 0072 F807 cpc r31,r24
178 0074 01F4 brne .L35
179 .LM27:
180 0076 0E94 0000 call DS3231WriteTime
181 .LM28:
182 007a 0E94 0000 call ReadDate
183 .LM29:
184 007e 80E0 ldi r24,lo8(NowDATE)
185 0080 90E0 ldi r25,hi8(NowDATE)
186 0082 0E94 0000 call UARTSendString
187 0086 0895 ret
188 .L33:
189 .LM30:
190 0088 8091 0000 lds r24,ReceiveBuffer+2
191 008c 8230 cpi r24,lo8(2)
192 008e 01F0 breq .L40
193 .LM31:
194 0090 8091 0000 lds r24,ReceiveBuffer+2
195 0094 8330 cpi r24,lo8(3)
196 0096 01F0 breq .L40
197 .LM32:
198 0098 8091 0000 lds r24,ReceiveBuffer+2
199 009c 0895 ret
200 .L31:
201 .LM33:
202 009e 0E94 0000 call ResponseErro
203 .L40:
204 00a2 0895 ret
205 /* epilogue: frame size=0 */
206 /* epilogue: noreturn */
207 /* epilogue end (size=0) */
208 /* function ResponseWrite size 43 (43) */
209 .LFE14:
211 .data
212 .LC1:
213 000a 5E5F 5E00 .string "^_^"
214 .LC2:
215 000e B6C1 C8A1 .string "\266\301\310\241\265\261\307\260\312\261\274\344..."
215 B5B1 C7B0
215 CAB1 BCE4
215 2E2E 2E00
216 .text
217 .global ResponseRead
219 ResponseRead:
220 .LFB13:
221 .LM34:
222 /* prologue: frame size=0 */
223 /* prologue end (size=0) */
224 .LM35:
225 00a4 0E94 0000 call ReadDate
226 .LM36:
227 00a8 80E0 ldi r24,lo8(NowDATE)
228 00aa 90E0 ldi r25,hi8(NowDATE)
229 00ac 0E94 0000 call UARTSendString
230 .LM37:
231 00b0 8091 0000 lds r24,Uartshortkeyflag
232 00b4 8823 tst r24
233 00b6 01F0 breq .L44
234 .LM38:
235 00b8 1092 0000 sts Uartshortkeyflag,__zero_reg__
236 .LM39:
237 00bc 8091 0000 lds r24,ReceiveBuffer
238 00c0 9091 0000 lds r25,ReceiveBuffer
239 00c4 8337 cpi r24,lo8(115)
240 00c6 01F0 breq .L48
241 00c8 9335 cpi r25,lo8(83)
242 00ca 01F4 brne .L46
243 .L48:
244 00cc 81E0 ldi r24,lo8(1)
245 00ce 00C0 rjmp .L67
246 .L46:
247 .LM40:
248 00d0 8091 0000 lds r24,ReceiveBuffer
249 00d4 9091 0000 lds r25,ReceiveBuffer
250 00d8 8437 cpi r24,lo8(116)
251 00da 01F0 breq .L52
252 00dc 9435 cpi r25,lo8(84)
253 00de 01F4 brne .L50
254 .L52:
255 00e0 82E0 ldi r24,lo8(2)
256 .L67:
257 00e2 8093 0000 sts ReceiveBuffer+2,r24
258 00e6 00C0 rjmp .L49
259 .L50:
260 .LM41:
261 00e8 8091 0000 lds r24,ReceiveBuffer
262 00ec 9091 0000 lds r25,ReceiveBuffer
263 00f0 8D36 cpi r24,lo8(109)
264 00f2 01F0 breq .L57
265 00f4 9D34 cpi r25,lo8(77)
266 00f6 01F0 breq .L57
267 .LM42:
268 00f8 8091 0000 lds r24,ReceiveBuffer
269 00fc 9091 0000 lds r25,ReceiveBuffer
270 0100 8536 cpi r24,lo8(101)
271 0102 01F0 breq .L57
272 0104 9534 cpi r25,lo8(69)
273 0106 01F4 brne .L49
274 .L57:
275 0108 80E0 ldi r24,lo8(.LC1)
276 010a 90E0 ldi r25,hi8(.LC1)
277 010c 0E94 0000 call UARTSendString
278 0110 00C0 rjmp .L49
279 .L44:
280 .LM43:
281 0112 1092 0000 sts UartReadflag,__zero_reg__
282 .LM44:
283 0116 8091 0000 lds r24,ReceiveBuffer+2
284 011a 8530 cpi r24,lo8(5)
285 011c 00F4 brsh .L58
286 .L49:
287 .LM45:
288 011e 8091 0000 lds r24,ReceiveBuffer+2
289 0122 8130 cpi r24,lo8(1)
290 0124 01F4 brne .L59
291 .LM46:
292 0126 80E0 ldi r24,lo8(.LC2)
293 0128 90E0 ldi r25,hi8(.LC2)
294 012a 0E94 0000 call UARTSendString
295 .LM47:
296 012e 0E94 0000 call ReadDate
297 .LM48:
298 0132 80E0 ldi r24,lo8(NowDATE)
299 0134 90E0 ldi r25,hi8(NowDATE)
300 0136 0E94 0000 call UARTSendString
301 013a 0895 ret
302 .L59:
303 .LM49:
304 013c 8091 0000 lds r24,ReceiveBuffer+2
305 0140 8230 cpi r24,lo8(2)
306 0142 01F4 brne .L62
307 0144 81E0 ldi r24,lo8(1)
308 0146 8093 0000 sts ReadTemperatureflag,r24
309 014a 0895 ret
310 .L62:
311 .LM50:
312 014c 8091 0000 lds r24,ReceiveBuffer+2
313 0150 8230 cpi r24,lo8(2)
314 0152 01F0 breq .L66
315 .LM51:
316 0154 8091 0000 lds r24,ReceiveBuffer+2
317 0158 8230 cpi r24,lo8(2)
318 015a 01F0 breq .L66
319 .LM52:
320 015c 0E94 0000 call ResponseErro
321 0160 0895 ret
322 .L58:
323 .LM53:
324 0162 0E94 0000 call ResponseErro
325 .L66:
326 0166 0895 ret
327 /* epilogue: frame size=0 */
328 /* epilogue: noreturn */
329 /* epilogue end (size=0) */
330 /* function ResponseRead size 98 (98) */
331 .LFE13:
333 .global ProcessReceiveData
335 ProcessReceiveData:
336 .LFB12:
337 .LM54:
338 /* prologue: frame size=0 */
339 /* prologue end (size=0) */
340 .LM55:
341 0168 8091 0000 lds r24,UartReceiveflag
342 016c 8823 tst r24
343 016e 01F0 breq .L69
344 .LM56:
345 0170 1092 0000 sts UartReceiveflag,__zero_reg__
346 .LM57:
347 0174 1092 0000 sts ReceiveCounter,__zero_reg__
348 .LM58:
349 0178 8091 0000 lds r24,UartReadflag
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -