📄 can.lst
字号:
1 .file "can.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __CCP__ = 0x34
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
17 .Ltext0:
18 .global read_address
20 read_address:
21 .LFB6:
22 .LM1:
23 /* prologue: function */
24 /* frame size = 0 */
25 .LM2:
26 0000 17B8 out 39-32,__zero_reg__
27 .LM3:
28 0002 8FEF ldi r24,lo8(-1)
29 0004 88B9 out 40-32,r24
30 .LM4:
31 0006 86B1 in r24,38-32
32 .LVL0:
33 .LM5:
34 0008 8093 0000 sts address,r24
35 /* epilogue start */
36 .LM6:
37 000c 0895 ret
38 .LFE6:
40 .global can_baudrate
42 can_baudrate:
43 .LFB7:
44 .LM7:
45 000e DF93 push r29
46 0010 CF93 push r28
47 0012 CDB7 in r28,__SP_L__
48 0014 DEB7 in r29,__SP_H__
49 0016 2897 sbiw r28,8
50 0018 0FB6 in __tmp_reg__,__SREG__
51 001a F894 cli
52 001c DEBF out __SP_H__,r29
53 001e 0FBE out __SREG__,__tmp_reg__
54 0020 CDBF out __SP_L__,r28
55 /* prologue: function */
56 /* frame size = 8 */
57 .LM8:
58 0022 DE01 movw r26,r28
59 0024 1196 adiw r26,1
60 0026 E0E0 ldi r30,lo8(C.0.1273)
61 0028 F0E0 ldi r31,hi8(C.0.1273)
62 002a 88E0 ldi r24,lo8(8)
63 .L4:
64 002c 0190 ld r0,Z+
65 002e 0D92 st X+,r0
66 0030 8150 subi r24,lo8(-(-1))
67 0032 01F4 brne .L4
68 0034 FE01 movw r30,r28
69 0036 3196 adiw r30,1
70 0038 20E0 ldi r18,lo8(0)
71 .LVL1:
72 .L6:
73 .LM9:
74 003a 6081 ld r22,Z
75 003c 80E3 ldi r24,lo8(48)
76 003e 90E0 ldi r25,hi8(48)
77 0040 70E0 ldi r23,lo8(0)
78 0042 0E94 0000 call __divmodhi4
79 0046 892B or r24,r25
80 0048 01F0 breq .L5
81 .LM10:
82 004a 2F5F subi r18,lo8(-(1))
83 004c 3196 adiw r30,1
84 004e 2830 cpi r18,lo8(8)
85 0050 01F4 brne .L6
86 .L5:
87 .LM11:
88 0052 FE01 movw r30,r28
89 0054 E20F add r30,r18
90 0056 F11D adc r31,__zero_reg__
91 0058 2181 ldd r18,Z+1
92 .LVL2:
93 005a 822F mov r24,r18
94 005c 63E0 ldi r22,lo8(3)
95 005e 0E94 0000 call __udivmodqi4
96 0062 E82F mov r30,r24
97 .LM12:
98 0064 80E3 ldi r24,lo8(48)
99 0066 90E0 ldi r25,hi8(48)
100 0068 622F mov r22,r18
101 006a 70E0 ldi r23,lo8(0)
102 006c 0E94 0000 call __divmodhi4
103 0070 6150 subi r22,lo8(-(-1))
104 0072 660F lsl r22
105 0074 6093 E200 sts 226,r22
106 .LM13:
107 0078 2E1B sub r18,r30
108 007a 2E1B sub r18,r30
109 007c 2150 subi r18,lo8(-(-1))
110 007e 30E0 ldi r19,lo8(0)
111 0080 2150 subi r18,lo8(-(-1))
112 0082 3040 sbci r19,hi8(-(-1))
113 0084 220F lsl r18
114 0086 331F rol r19
115 0088 2093 E300 sts 227,r18
116 .LM14:
117 008c F0E0 ldi r31,lo8(0)
118 008e 3197 sbiw r30,1
119 0090 CF01 movw r24,r30
120 0092 880F lsl r24
121 0094 991F rol r25
122 0096 94E0 ldi r25,4
123 0098 EE0F 1: lsl r30
124 009a FF1F rol r31
125 009c 9A95 dec r25
126 009e 01F4 brne 1b
127 00a0 E82B or r30,r24
128 00a2 E160 ori r30,lo8(1)
129 00a4 E093 E400 sts 228,r30
130 /* epilogue start */
131 .LM15:
132 00a8 2896 adiw r28,8
133 00aa 0FB6 in __tmp_reg__,__SREG__
134 00ac F894 cli
135 00ae DEBF out __SP_H__,r29
136 00b0 0FBE out __SREG__,__tmp_reg__
137 00b2 CDBF out __SP_L__,r28
138 00b4 CF91 pop r28
139 00b6 DF91 pop r29
140 00b8 0895 ret
141 .LFE7:
143 .global init_CAN
145 init_CAN:
146 .LFB8:
147 .LM16:
148 00ba CF92 push r12
149 00bc DF92 push r13
150 00be EF92 push r14
151 00c0 FF92 push r15
152 00c2 0F93 push r16
153 00c4 1F93 push r17
154 00c6 CF93 push r28
155 00c8 DF93 push r29
156 /* prologue: function */
157 /* frame size = 0 */
158 .LM17:
159 00ca 08ED ldi r16,lo8(216)
160 00cc 10E0 ldi r17,hi8(216)
161 00ce E801 movw r28,r16
162 00d0 8881 ld r24,Y
163 00d2 8160 ori r24,lo8(1)
164 00d4 8883 st Y,r24
165 .LM18:
166 00d6 0E94 0000 call can_baudrate
167 .LM19:
168 00da 1092 E500 sts 229,__zero_reg__
169 .LM20:
170 00de 2DEE ldi r18,lo8(237)
171 00e0 30E0 ldi r19,hi8(237)
172 00e2 F901 movw r30,r18
173 00e4 1082 st Z,__zero_reg__
174 .LM21:
175 00e6 6EEE ldi r22,lo8(238)
176 00e8 C62E mov r12,r22
177 00ea D12C mov r13,__zero_reg__
178 00ec E601 movw r28,r12
179 00ee 1882 st Y,__zero_reg__
180 .LM22:
181 00f0 AFEE ldi r26,lo8(239)
182 00f2 B0E0 ldi r27,hi8(239)
183 00f4 98E1 ldi r25,lo8(24)
184 00f6 9C93 st X,r25
185 .LM23:
186 00f8 8091 0000 lds r24,rx_ID+6
187 00fc 880F lsl r24
188 00fe 880F lsl r24
189 0100 880F lsl r24
190 0102 50EF ldi r21,lo8(240)
191 0104 E52E mov r14,r21
192 0106 F12C mov r15,__zero_reg__
193 0108 F701 movw r30,r14
194 010a 8083 st Z,r24
195 .LM24:
196 010c 8091 0000 lds r24,rx_ID+4
197 0110 61EF ldi r22,lo8(241)
198 0112 70E0 ldi r23,hi8(241)
199 0114 EB01 movw r28,r22
200 0116 8883 st Y,r24
201 .LM25:
202 0118 8091 0000 lds r24,rx_ID+2
203 011c 42EF ldi r20,lo8(242)
204 011e 50E0 ldi r21,hi8(242)
205 0120 FA01 movw r30,r20
206 0122 8083 st Z,r24
207 .LM26:
208 0124 8091 0000 lds r24,rx_ID
209 0128 E3EF ldi r30,lo8(243)
210 012a F0E0 ldi r31,hi8(243)
211 012c 8083 st Z,r24
212 .LM27:
213 012e 8FEF ldi r24,lo8(-1)
214 0130 8093 F400 sts 244,r24
215 .LM28:
216 0134 8093 F500 sts 245,r24
217 .LM29:
218 0138 8093 F600 sts 246,r24
219 .LM30:
220 013c 8093 F700 sts 247,r24
221 .LM31:
222 0140 80E4 ldi r24,lo8(64)
223 0142 E901 movw r28,r18
224 0144 8883 st Y,r24
225 .LM32:
226 0146 E601 movw r28,r12
227 0148 1882 st Y,__zero_reg__
228 .LM33:
229 014a 9C93 st X,r25
230 .LM34:
231 014c 8091 0000 lds r24,tx_ID+6
232 0150 880F lsl r24
233 0152 880F lsl r24
234 0154 880F lsl r24
235 0156 E701 movw r28,r14
236 0158 8883 st Y,r24
237 .LM35:
238 015a 8091 0000 lds r24,tx_ID+4
239 015e EB01 movw r28,r22
240 0160 8883 st Y,r24
241 .LM36:
242 0162 8091 0000 lds r24,tx_ID+2
243 0166 EA01 movw r28,r20
244 0168 8883 st Y,r24
245 .LM37:
246 016a 8091 0000 lds r24,tx_ID
247 016e 8083 st Z,r24
248 .LM38:
249 0170 EBED ldi r30,lo8(219)
250 0172 F0E0 ldi r31,hi8(219)
251 0174 8081 ld r24,Z
252 0176 806B ori r24,lo8(-80)
253 0178 8083 st Z,r24
254 .LM39:
255 017a EEED ldi r30,lo8(222)
256 017c F0E0 ldi r31,hi8(222)
257 017e 8081 ld r24,Z
258 0180 8161 ori r24,lo8(17)
259 0182 8083 st Z,r24
260 .LM40:
261 0184 F901 movw r30,r18
262 0186 1082 st Z,__zero_reg__
263 .LM41:
264 0188 8C91 ld r24,X
265 018a 8068 ori r24,lo8(-128)
266 018c 8C93 st X,r24
267 .LM42:
268 018e E801 movw r28,r16
269 0190 8881 ld r24,Y
270 0192 8260 ori r24,lo8(2)
271 0194 8883 st Y,r24
272 /* epilogue start */
273 .LM43:
274 0196 DF91 pop r29
275 0198 CF91 pop r28
276 019a 1F91 pop r17
277 019c 0F91 pop r16
278 019e FF90 pop r15
279 01a0 EF90 pop r14
280 01a2 DF90 pop r13
281 01a4 CF90 pop r12
282 01a6 0895 ret
283 .LFE8:
285 .global can_rx_deal
287 can_rx_deal:
288 .LFB9:
289 .LM44:
290 /* prologue: function */
291 /* frame size = 0 */
292 .LM45:
293 01a8 8091 0000 lds r24,can_rx_data
294 01ac 8C3C cpi r24,lo8(-52)
295 01ae 01F4 brne .L13
296 .LM46:
297 01b0 8091 0000 lds r24,can_rx_data+2
298 01b4 8230 cpi r24,lo8(2)
299 01b6 01F0 breq .L16
300 01b8 803A cpi r24,lo8(-96)
301 01ba 01F0 breq .L17
302 01bc 8130 cpi r24,lo8(1)
303 01be 01F4 brne .L18
304 .LM47:
305 01c0 8093 0000 sts close_flag,r24
306 01c4 0895 ret
307 .L16:
308 .LM48:
309 01c6 81E0 ldi r24,lo8(1)
310 01c8 8093 0000 sts open_flag,r24
311 01cc 0895 ret
312 .L17:
313 .LM49:
314 01ce 81E0 ldi r24,lo8(1)
315 01d0 8093 0000 sts ad_flag,r24
316 01d4 0895 ret
317 .L13:
318 .LM50:
319 01d6 8091 0000 lds r24,can_rx_data
320 01da 8D3D cpi r24,lo8(-35)
321 01dc 01F4 brne .L18
322 .LM51:
323 01de 9091 0000 lds r25,can_rx_data+1
324 01e2 8091 0000 lds r24,address
325 01e6 9817 cp r25,r24
326 01e8 01F4 brne .L18
327 .LM52:
328 01ea 8091 0000 lds r24,can_rx_data+2
329 .L18:
330 01ee 0895 ret
331 .LFE9:
333 .global __vector_18
335 __vector_18:
336 .LFB10:
337 .LM53:
338 01f0 1F92 push __zero_reg__
339 01f2 0F92 push r0
340 01f4 0FB6 in r0,__SREG__
341 01f6 0F92 push r0
342 01f8 1124 clr __zero_reg__
343 01fa 2F93 push r18
344 01fc 3F93 push r19
345 01fe 4F93 push r20
346 0200 5F93 push r21
347 0202 6F93 push r22
348 0204 7F93 push r23
349 0206 8F93 push r24
350 0208 9F93 push r25
351 020a AF93 push r26
352 020c BF93 push r27
353 020e EF93 push r30
354 0210 FF93 push r31
355 /* prologue: Signal */
356 /* frame size = 0 */
357 .LM54:
358 0212 8091 DB00 lds r24,219
359 0216 8F7D andi r24,lo8(-33)
360 0218 8093 DB00 sts 219,r24
361 .LM55:
362 021c 8091 E000 lds r24,224
363 .LVL3:
364 .LM56:
365 0220 80FF sbrs r24,0
366 0222 00C0 rjmp .L20
367 .LVL4:
368 .LM57:
369 0224 8091 EE00 lds r24,238
370 0228 85FF sbrs r24,5
371 022a 00C0 rjmp .L21
372 .LM58:
373 022c 1092 ED00 sts 237,__zero_reg__
374 0230 20E0 ldi r18,lo8(0)
375 0232 30E0 ldi r19,hi8(0)
376 .L22:
377 .LM59:
378 0234 8091 FA00 lds r24,250
379 0238 F901 movw r30,r18
380 023a E050 subi r30,lo8(-(can_rx_data))
381 023c F040 sbci r31,hi8(-(can_rx_data))
382 023e 8083 st Z,r24
383 0240 2F5F subi r18,lo8(-(1))
384 0242 3F4F sbci r19,hi8(-(1))
385 .LM60:
386 0244 2830 cpi r18,8
387 0246 3105 cpc r19,__zero_reg__
388 0248 01F4 brne .L22
389 .LM61:
390 024a 0E94 0000 call can_rx_deal
391 .LM62:
392 024e 1092 ED00 sts 237,__zero_reg__
393 .LM63:
394 0252 8091 EE00 lds r24,238
395 0256 8F7D andi r24,lo8(-33)
396 0258 8093 EE00 sts 238,r24
397 .LM64:
398 025c 88E9 ldi r24,lo8(-104)
399 025e 8093 EF00 sts 239,r24
400 .L21:
401 .LM65:
402 0262 8091 EE00 lds r24,238
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -