📄 main.lst
字号:
1 .file "main.c"
2 .arch attiny2313
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 scrollChar
19 .global scrollChar
20 .section .bss
23 scrollChar:
24 0000 0000 .skip 2,0
25 .global pixelNum
26 .global pixelNum
29 pixelNum:
30 0002 00 .skip 1,0
31 .global charNum
32 .global charNum
35 charNum:
36 0003 00 .skip 1,0
37 .global botChar
38 .global botChar
41 botChar:
42 0004 0000 .skip 2,0
43 .global topChar
44 .global topChar
47 topChar:
48 0006 0000 .skip 2,0
49 .global line_shift
50 .data
53 line_shift:
54 0000 0F .byte 15
55 .global cur_line
58 cur_line:
59 0001 FF .byte -1
60 .global line_timer
63 line_timer:
64 0002 10 .byte 16
65 .global div732
66 .section .progmem.data,"a",@progbits
69 div732:
70 0000 00 .string ""
71 0001 00 .string ""
72 0002 0100 .string "\001"
73 0004 00 .string ""
74 0005 0300 .string "\003"
75 0007 00 .string ""
76 0008 0500 .string "\005"
77 000a 0101 00 .string "\001\001"
78 000d 0202 00 .string "\002\002"
79 0010 0403 00 .string "\004\003"
80 0013 0806 0107 .string "\b\006\001\007\003\003\004\005"
80 0303 0405
80 00
81 .global dynamicRPM
82 .data
85 dynamicRPM:
86 0003 3030 3000 .string "000"
87 .global dynamicREV
90 dynamicREV:
91 0007 3030 3030 .string "0000"
91 00
92 .global dynamicType
93 .global dynamicType
94 .section .bss
97 dynamicType:
98 0008 00 .skip 1,0
99 .global dynamicPtr
100 .global dynamicPtr
103 dynamicPtr:
104 0009 0000 .skip 2,0
105 .global dInfo
106 .section .progmem.data
109 dInfo:
110 001c 00 .byte 0
111 001d 00 .byte 0
112 001e 2A .byte 42
113 001f 00 .byte 0
114 0020 00 .byte 0
115 0021 1B .byte 27
116 0022 00 .byte 0
117 0023 00 .byte 0
118 .global lines
121 lines:
122 0024 2020 2020 .string " SpokePOV RPM:0000 REV:0000 "
122 2020 2020
122 2020 2020
122 2020 2020
122 2020 2020
123 .global lineOffsets
126 lineOffsets:
127 0065 00 .byte 0
128 0066 10 .byte 16
129 0067 20 .byte 32
130 0068 00 .byte 0
131 0069 00 .byte 0
132 006a 30 .byte 48
133 006b 00 .byte 0
134 006c 10 .byte 16
135 .text
136 .global clock_scroll
138 clock_scroll:
139 .LFB2:
140 .LM1:
141 /* prologue: frame size=0 */
142 0000 CF93 push r28
143 /* prologue end (size=1) */
144 0002 C82F mov r28,r24
145 .LM2:
146 0004 8091 0000 lds r24,fleds
147 0008 00D0 rcall spi_transfer
148 .LM3:
149 000a 8091 0000 lds r24,fleds+1
150 000e 00D0 rcall spi_transfer
151 .LM4:
152 0010 8091 0000 lds r24,fleds+2
153 0014 00D0 rcall spi_transfer
154 .LM5:
155 0016 8091 0000 lds r24,fleds+3
156 001a 00D0 rcall spi_transfer
157 .LM6:
158 001c CC23 tst r28
159 001e 79F0 breq .L2
160 .LM7:
161 0020 C830 cpi r28,lo8(8)
162 0022 20F4 brsh .L3
163 .LM8:
164 0024 6C2F mov r22,r28
165 0026 8091 0000 lds r24,fleds+4
166 002a 08C0 rjmp .L6
167 .L3:
168 .LM9:
169 002c 8091 0000 lds r24,fleds+4
170 0030 00D0 rcall spi_transfer
171 .LM10:
172 0032 C850 subi r28,lo8(-(-8))
173 .LM11:
174 0034 21F0 breq .L2
175 .LM12:
176 0036 6C2F mov r22,r28
177 0038 8091 0000 lds r24,fleds+5
178 .L6:
179 003c 00D0 rcall spi_transfer_n
180 .L2:
181 .LM13:
182 003e 949A sbi 50-0x20,4
183 .LM14:
184 /* #APP */
185 0040 0000 nop
186 0042 0000 nop
187 0044 0000 nop
188 0046 0000 nop
189 .LM15:
190 /* #NOAPP */
191 0048 9498 cbi 50-0x20,4
192 /* epilogue: frame size=0 */
193 004a CF91 pop r28
194 004c 0895 ret
195 /* epilogue end (size=2) */
196 /* function clock_scroll size 44 (41) */
197 .LFE2:
199 .global __vector_6
201 __vector_6:
202 .LFB3:
203 .LM16:
204 /* prologue: frame size=0 */
205 004e 1F92 push __zero_reg__
206 0050 0F92 push __tmp_reg__
207 0052 0FB6 in __tmp_reg__,__SREG__
208 0054 0F92 push __tmp_reg__
209 0056 1124 clr __zero_reg__
210 0058 8F93 push r24
211 005a 9F93 push r25
212 /* prologue end (size=7) */
213 .LM17:
214 005c 8091 0000 lds r24,hall_debounce
215 0060 8F5F subi r24,lo8(-(1))
216 0062 8093 0000 sts hall_debounce,r24
217 .LM18:
218 0066 8091 0000 lds r24,sensor_timer+1
219 006a 8F3F cpi r24,lo8(-1)
220 006c 49F0 breq .L8
221 .LM19:
222 006e 8091 0000 lds r24,sensor_timer
223 0072 9091 0000 lds r25,(sensor_timer)+1
224 0076 0196 adiw r24,1
225 0078 9093 0000 sts (sensor_timer)+1,r25
226 007c 8093 0000 sts sensor_timer,r24
227 .L8:
228 .LM20:
229 0080 8091 0000 lds r24,line_timer
230 0084 8F5F subi r24,lo8(-(1))
231 0086 8093 0000 sts line_timer,r24
232 /* epilogue: frame size=0 */
233 008a 9F91 pop r25
234 008c 8F91 pop r24
235 008e 0F90 pop __tmp_reg__
236 0090 0FBE out __SREG__,__tmp_reg__
237 0092 0F90 pop __tmp_reg__
238 0094 1F90 pop __zero_reg__
239 0096 1895 reti
240 /* epilogue end (size=7) */
241 /* function __vector_6 size 37 (23) */
242 .LFE3:
244 .global set_all
246 set_all:
247 .LFB8:
248 .LM21:
249 /* prologue: frame size=0 */
250 /* prologue end (size=0) */
251 .LM22:
252 0098 8093 0000 sts fleds+3,r24
253 009c 8093 0000 sts fleds+2,r24
254 00a0 8093 0000 sts fleds+1,r24
255 00a4 8093 0000 sts fleds,r24
256 .LM23:
257 00a8 80E0 ldi r24,lo8(0)
258 00aa AADF rcall clock_scroll
259 /* epilogue: frame size=0 */
260 00ac 0895 ret
261 /* epilogue end (size=1) */
262 /* function set_all size 11 (10) */
263 .LFE8:
265 .global __vector_4
267 __vector_4:
268 .LFB4:
269 .LM24:
270 /* prologue: frame size=0 */
271 00ae 1F92 push __zero_reg__
272 00b0 0F92 push __tmp_reg__
273 00b2 0FB6 in __tmp_reg__,__SREG__
274 00b4 0F92 push __tmp_reg__
275 00b6 1124 clr __zero_reg__
276 00b8 2F93 push r18
277 00ba 3F93 push r19
278 00bc 4F93 push r20
279 00be 5F93 push r21
280 00c0 6F93 push r22
281 00c2 7F93 push r23
282 00c4 8F93 push r24
283 00c6 9F93 push r25
284 00c8 AF93 push r26
285 00ca BF93 push r27
286 00cc EF93 push r30
287 00ce FF93 push r31
288 /* prologue end (size=17) */
289 .LM25:
290 00d0 8091 0000 lds r24,sensor_timer+1
291 00d4 8230 cpi r24,lo8(2)
292 00d6 08F0 brlo .+2
293 00d8 7EC0 rjmp .L11
294 .LM26:
295 00da 8091 0000 lds r24,pixelNum
296 00de 8F5F subi r24,lo8(-(1))
297 00e0 8093 0000 sts pixelNum,r24
298 .LM27:
299 00e4 8091 0000 lds r24,pixelNum
300 00e8 8031 cpi r24,lo8(16)
301 00ea D9F5 brne .L12
302 .LM28:
303 00ec 8091 0000 lds r24,charNum
304 00f0 8F30 cpi r24,lo8(15)
305 00f2 29F4 brne .L13
306 .LM29:
307 00f4 8EB5 in r24,78-0x20
308 00f6 887F andi r24,lo8(-8)
309 00f8 8EBD out 78-0x20,r24
310 .LM30:
311 00fa 8FEF ldi r24,lo8(-1)
312 00fc 70C0 rjmp .L17
313 .L13:
314 .LM31:
315 00fe 1092 0000 sts pixelNum,__zero_reg__
316 .LM32:
317 0102 8091 0000 lds r24,charNum
318 0106 8F5F subi r24,lo8(-(1))
319 0108 8F70 andi r24,lo8(15)
320 010a 8093 0000 sts charNum,r24
321 .LM33:
322 010e 8091 0000 lds r24,charNum
323 0112 E82F mov r30,r24
324 0114 FF27 clr r31
325 0116 E050 subi r30,lo8(-(topLine))
326 0118 F040 sbci r31,hi8(-(topLine))
327 011a 8081 ld r24,Z
328 011c 9927 clr r25
329 011e 8097 sbiw r24,32
330 0120 880F lsl r24
331 0122 991F rol r25
332 0124 9093 0000 sts (topChar)+1,r25
333 0128 8093 0000 sts topChar,r24
334 .LM34:
335 012c 8091 0000 lds r24,charNum
336 0130 E82F mov r30,r24
337 0132 FF27 clr r31
338 0134 E050 subi r30,lo8(-(botLine))
339 0136 F040 sbci r31,hi8(-(botLine))
340 0138 8081 ld r24,Z
341 013a 9927 clr r25
342 013c 8097 sbiw r24,32
343 013e 880F lsl r24
344 0140 991F rol r25
345 0142 9093 0000 sts (botChar)+1,r25
346 0146 8093 0000 sts botChar,r24
347 .LM35:
348 014a 8091 0000 lds r24,charNum
349 014e E82F mov r30,r24
350 0150 FF27 clr r31
351 0152 E050 subi r30,lo8(-(scrollLine))
352 0154 F040 sbci r31,hi8(-(scrollLine))
353 0156 8081 ld r24,Z
354 0158 9927 clr r25
355 015a 8097 sbiw r24,32
356 015c 880F lsl r24
357 015e 991F rol r25
358 0160 1AC0 rjmp .L16
359 .L12:
360 .LM36:
361 0162 8091 0000 lds r24,topChar
362 0166 9091 0000 lds r25,(topChar)+1
363 016a 8054 subi r24,lo8(-(192))
364 016c 9F4F sbci r25,hi8(-(192))
365 016e 9093 0000 sts (topChar)+1,r25
366 0172 8093 0000 sts topChar,r24
367 .LM37:
368 0176 8091 0000 lds r24,botChar
369 017a 9091 0000 lds r25,(botChar)+1
370 017e 8054 subi r24,lo8(-(192))
371 0180 9F4F sbci r25,hi8(-(192))
372 0182 9093 0000 sts (botChar)+1,r25
373 0186 8093 0000 sts botChar,r24
374 .LM38:
375 018a 8091 0000 lds r24,scrollChar
376 018e 9091 0000 lds r25,(scrollChar)+1
377 0192 8054 subi r24,lo8(-(192))
378 0194 9F4F sbci r25,hi8(-(192))
379 .L16:
380 0196 9093 0000 sts (scrollChar)+1,r25
381 019a 8093 0000 sts scrollChar,r24
382 .LM39:
383 019e 42E0 ldi r20,lo8(2)
384 01a0 60E0 ldi r22,lo8(fleds)
385 01a2 70E0 ldi r23,hi8(fleds)
386 01a4 8091 0000 lds r24,topChar
387 01a8 9091 0000 lds r25,(topChar)+1
388 01ac 00D0 rcall spieeprom_read
389 .LM40:
390 01ae 42E0 ldi r20,lo8(2)
391 01b0 60E0 ldi r22,lo8(fleds+2)
392 01b2 70E0 ldi r23,hi8(fleds+2)
393 01b4 8091 0000 lds r24,botChar
394 01b8 9091 0000 lds r25,(botChar)+1
395 01bc 00D0 rcall spieeprom_read
396 .LM41:
397 01be 42E0 ldi r20,lo8(2)
398 01c0 60E0 ldi r22,lo8(fleds+4)
399 01c2 70E0 ldi r23,hi8(fleds+4)
400 01c4 8091 0000 lds r24,scrollChar
401 01c8 9091 0000 lds r25,(scrollChar)+1
402 01cc 00D0 rcall spieeprom_read
403 .LM42:
404 01ce 8091 0000 lds r24,line_shift
405 01d2 16DF rcall clock_scroll
406 01d4 05C0 rjmp .L10
407 .L11:
408 .LM43:
409 01d6 8EB5 in r24,78-0x20
410 01d8 887F andi r24,lo8(-8)
411 01da 8EBD out 78-0x20,r24
412 .LM44:
413 01dc 88EF ldi r24,lo8(-8)
414 .L17:
415 01de 5CDF rcall set_all
416 .L10:
417 /* epilogue: frame size=0 */
418 01e0 FF91 pop r31
419 01e2 EF91 pop r30
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -