📄 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 .data
29 pixelNum:
30 0000 0F .byte 15
31 .global charNum
34 charNum:
35 0001 1F .byte 31
36 .global botChar
37 .global botChar
38 .section .bss
41 botChar:
42 0002 0000 .skip 2,0
43 .global topChar
44 .global topChar
47 topChar:
48 0004 0000 .skip 2,0
49 .global line_shift
50 .data
53 line_shift:
54 0002 0F .byte 15
55 .global cur_line
58 cur_line:
59 0003 05 .byte 5
60 .global line_timer
63 line_timer:
64 0004 10 .byte 16
65 .global dynamicTime
68 dynamicTime:
69 0005 3533 7C38 .ascii "53|85|21"
69 357C 3231
70 .global div732
71 .section .progmem.data,"a",@progbits
74 div732:
75 0000 00 .string ""
76 0001 00 .string ""
77 0002 0100 .string "\001"
78 0004 00 .string ""
79 0005 0300 .string "\003"
80 0007 00 .string ""
81 0008 0500 .string "\005"
82 000a 0101 00 .string "\001\001"
83 000d 0202 00 .string "\002\002"
84 0010 0403 00 .string "\004\003"
85 0013 0806 0107 .string "\b\006\001\007\003\003\004\005"
85 0303 0405
85 00
86 .global dynamicRPM
87 .data
90 dynamicRPM:
91 000d 3030 30 .ascii "000"
92 .global dynamicType
93 .global dynamicType
94 .section .bss
97 dynamicType:
98 0006 00 .skip 1,0
99 .global dynamicPtr
100 .global dynamicPtr
103 dynamicPtr:
104 0007 0000 .skip 2,0
105 .global dInfo
106 .section .progmem.data
109 dInfo:
110 001c 00 .byte 0
111 001d 3B .byte 59
112 001e 00 .byte 0
113 001f 00 .byte 0
114 0020 2A .byte 42
115 0021 00 .byte 0
116 0022 00 .byte 0
117 0023 3B .byte 59
118 .global lines
121 lines:
122 0024 2020 2020 .string " 07/03/06 00-00-00 RPM:0000 "
122 3037 2F30
122 332F 3036
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 20 .byte 32
131 0069 30 .byte 48
132 006a 20 .byte 32
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 2F93 push r18
211 005a 8F93 push r24
212 005c 9F93 push r25
213 /* prologue end (size=8) */
214 .LM17:
215 005e 8091 0000 lds r24,hall_debounce
216 0062 8F5F subi r24,lo8(-(1))
217 0064 8093 0000 sts hall_debounce,r24
218 .LM18:
219 0068 8091 0000 lds r24,sensor_timer+1
220 006c 8F3F cpi r24,lo8(-1)
221 006e 49F0 breq .L8
222 .LM19:
223 0070 8091 0000 lds r24,sensor_timer
224 0074 9091 0000 lds r25,(sensor_timer)+1
225 0078 0196 adiw r24,1
226 007a 9093 0000 sts (sensor_timer)+1,r25
227 007e 8093 0000 sts sensor_timer,r24
228 .L8:
229 .LM20:
230 0082 8091 0000 lds r24,line_timer
231 0086 8F5F subi r24,lo8(-(1))
232 0088 8093 0000 sts line_timer,r24
233 .LM21:
234 008c 8091 0000 lds r24,dynamicTimeCounter
235 0090 9091 0000 lds r25,(dynamicTimeCounter)+1
236 0094 845F subi r24,lo8(-(268))
237 0096 9E4F sbci r25,hi8(-(268))
238 0098 9093 0000 sts (dynamicTimeCounter)+1,r25
239 009c 8093 0000 sts dynamicTimeCounter,r24
240 .LM22:
241 00a0 8091 0000 lds r24,dynamicTimeCounter+1
242 00a4 87FF sbrs r24,7
243 00a6 4FC0 rjmp .L7
244 .LM23:
245 00a8 8091 0000 lds r24,dynamicTimeCounter+1
246 00ac 8F77 andi r24,lo8(127)
247 00ae 8093 0000 sts dynamicTimeCounter+1,r24
248 .LM24:
249 00b2 8091 0000 lds r24,dynamicTime
250 00b6 8F5F subi r24,lo8(-(1))
251 00b8 8093 0000 sts dynamicTime,r24
252 .LM25:
253 00bc 8091 0000 lds r24,dynamicTime
254 00c0 8A33 cpi r24,lo8(58)
255 00c2 09F0 breq .+2
256 00c4 40C0 rjmp .L7
257 .LM26:
258 00c6 20E3 ldi r18,lo8(48)
259 00c8 2093 0000 sts dynamicTime,r18
260 .LM27:
261 00cc 8091 0000 lds r24,dynamicTime+1
262 00d0 8F5F subi r24,lo8(-(1))
263 00d2 8093 0000 sts dynamicTime+1,r24
264 .LM28:
265 00d6 8091 0000 lds r24,dynamicTime+1
266 00da 8633 cpi r24,lo8(54)
267 00dc A1F5 brne .L7
268 .LM29:
269 00de 2093 0000 sts dynamicTime+1,r18
270 .LM30:
271 00e2 8091 0000 lds r24,dynamicTime+3
272 00e6 8F5F subi r24,lo8(-(1))
273 00e8 8093 0000 sts dynamicTime+3,r24
274 .LM31:
275 00ec 8091 0000 lds r24,dynamicTime+3
276 00f0 8A33 cpi r24,lo8(58)
277 00f2 49F5 brne .L7
278 .LM32:
279 00f4 2093 0000 sts dynamicTime+3,r18
280 .LM33:
281 00f8 8091 0000 lds r24,dynamicTime+4
282 00fc 8F5F subi r24,lo8(-(1))
283 00fe 8093 0000 sts dynamicTime+4,r24
284 .LM34:
285 0102 8091 0000 lds r24,dynamicTime+4
286 0106 8633 cpi r24,lo8(54)
287 0108 F1F4 brne .L7
288 .LM35:
289 010a 2093 0000 sts dynamicTime+4,r18
290 .LM36:
291 010e 8091 0000 lds r24,dynamicTime+6
292 0112 8F5F subi r24,lo8(-(1))
293 0114 8093 0000 sts dynamicTime+6,r24
294 .LM37:
295 0118 8091 0000 lds r24,dynamicTime+6
296 011c 8A33 cpi r24,lo8(58)
297 011e 39F4 brne .L14
298 .LM38:
299 0120 2093 0000 sts dynamicTime+6,r18
300 .LM39:
301 0124 8091 0000 lds r24,dynamicTime+7
302 0128 8F5F subi r24,lo8(-(1))
303 012a 8093 0000 sts dynamicTime+7,r24
304 .L14:
305 .LM40:
306 012e 9091 0000 lds r25,dynamicTime+7
307 0132 9133 cpi r25,lo8(49)
308 0134 41F4 brne .L7
309 0136 8091 0000 lds r24,dynamicTime+6
310 013a 8333 cpi r24,lo8(51)
311 013c 21F4 brne .L7
312 .LM41:
313 013e 2093 0000 sts dynamicTime+7,r18
314 .LM42:
315 0142 9093 0000 sts dynamicTime+6,r25
316 .L7:
317 /* epilogue: frame size=0 */
318 0146 9F91 pop r25
319 0148 8F91 pop r24
320 014a 2F91 pop r18
321 014c 0F90 pop __tmp_reg__
322 014e 0FBE out __SREG__,__tmp_reg__
323 0150 0F90 pop __tmp_reg__
324 0152 1F90 pop __zero_reg__
325 0154 1895 reti
326 /* epilogue end (size=8) */
327 /* function __vector_6 size 132 (116) */
328 .LFE3:
330 .global set_all
332 set_all:
333 .LFB8:
334 .LM43:
335 /* prologue: frame size=0 */
336 /* prologue end (size=0) */
337 .LM44:
338 0156 8093 0000 sts fleds+3,r24
339 015a 8093 0000 sts fleds+2,r24
340 015e 8093 0000 sts fleds+1,r24
341 0162 8093 0000 sts fleds,r24
342 .LM45:
343 0166 80E0 ldi r24,lo8(0)
344 0168 4BDF rcall clock_scroll
345 /* epilogue: frame size=0 */
346 016a 0895 ret
347 /* epilogue end (size=1) */
348 /* function set_all size 11 (10) */
349 .LFE8:
351 .global __vector_4
353 __vector_4:
354 .LFB4:
355 .LM46:
356 /* prologue: frame size=0 */
357 016c 1F92 push __zero_reg__
358 016e 0F92 push __tmp_reg__
359 0170 0FB6 in __tmp_reg__,__SREG__
360 0172 0F92 push __tmp_reg__
361 0174 1124 clr __zero_reg__
362 0176 2F93 push r18
363 0178 3F93 push r19
364 017a 4F93 push r20
365 017c 5F93 push r21
366 017e 6F93 push r22
367 0180 7F93 push r23
368 0182 8F93 push r24
369 0184 9F93 push r25
370 0186 AF93 push r26
371 0188 BF93 push r27
372 018a EF93 push r30
373 018c FF93 push r31
374 /* prologue end (size=17) */
375 .LM47:
376 018e 8091 0000 lds r24,sensor_timer+1
377 0192 8230 cpi r24,lo8(2)
378 0194 08F0 brlo .+2
379 0196 7EC0 rjmp .L18
380 .LM48:
381 0198 8091 0000 lds r24,pixelNum
382 019c 8F5F subi r24,lo8(-(1))
383 019e 8093 0000 sts pixelNum,r24
384 .LM49:
385 01a2 8091 0000 lds r24,pixelNum
386 01a6 8031 cpi r24,lo8(16)
387 01a8 D9F5 brne .L19
388 .LM50:
389 01aa 8091 0000 lds r24,charNum
390 01ae 8F30 cpi r24,lo8(15)
391 01b0 29F4 brne .L20
392 .LM51:
393 01b2 8EB5 in r24,78-0x20
394 01b4 887F andi r24,lo8(-8)
395 01b6 8EBD out 78-0x20,r24
396 .LM52:
397 01b8 8FEF ldi r24,lo8(-1)
398 01ba 70C0 rjmp .L24
399 .L20:
400 .LM53:
401 01bc 1092 0000 sts pixelNum,__zero_reg__
402 .LM54:
403 01c0 8091 0000 lds r24,charNum
404 01c4 8F5F subi r24,lo8(-(1))
405 01c6 8F70 andi r24,lo8(15)
406 01c8 8093 0000 sts charNum,r24
407 .LM55:
408 01cc 8091 0000 lds r24,charNum
409 01d0 E82F mov r30,r24
410 01d2 FF27 clr r31
411 01d4 E050 subi r30,lo8(-(topLine))
412 01d6 F040 sbci r31,hi8(-(topLine))
413 01d8 8081 ld r24,Z
414 01da 9927 clr r25
415 01dc 8097 sbiw r24,32
416 01de 880F lsl r24
417 01e0 991F rol r25
418 01e2 9093 0000 sts (topChar)+1,r25
419 01e6 8093 0000 sts topChar,r24
420 .LM56:
421 01ea 8091 0000 lds r24,charNum
422 01ee E82F mov r30,r24
423 01f0 FF27 clr r31
424 01f2 E050 subi r30,lo8(-(botLine))
425 01f4 F040 sbci r31,hi8(-(botLine))
426 01f6 8081 ld r24,Z
427 01f8 9927 clr r25
428 01fa 8097 sbiw r24,32
429 01fc 880F lsl r24
430 01fe 991F rol r25
431 0200 9093 0000 sts (botChar)+1,r25
432 0204 8093 0000 sts botChar,r24
433 .LM57:
434 0208 8091 0000 lds r24,charNum
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -