📄 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_l
63 line_timer_l:
64 0002 10 .byte 16
65 .global line_timer_h
66 .global line_timer_h
67 .section .bss
70 line_timer_h:
71 0008 00 .skip 1,0
72 .global dynamicCounter
73 .data
76 dynamicCounter:
77 0003 3030 3030 .string "0000"
77 00
78 .global dynamicType
79 .global dynamicType
80 .section .bss
83 dynamicType:
84 0009 00 .skip 1,0
85 .global newDynamicPtr
86 .global newDynamicPtr
89 newDynamicPtr:
90 000a 0000 .skip 2,0
91 .global dynamicPtr
92 .global dynamicPtr
95 dynamicPtr:
96 000c 0000 .skip 2,0
97 .global dInfo
98 .section .progmem.data,"a",@progbits
101 dInfo:
102 0000 00 .byte 0
103 0001 19 .byte 25
104 0002 00 .byte 0
105 .global lines
108 lines:
109 0003 2020 2052 .string " REV COUNT: 0000 "
109 4556 2043
109 4F55 4E54
109 3A20 2020
109 2020 2020
110 .text
111 .global clock_scroll
113 clock_scroll:
114 .LFB2:
115 .LM1:
116 /* prologue: frame size=0 */
117 0000 CF93 push r28
118 /* prologue end (size=1) */
119 0002 C82F mov r28,r24
120 .LM2:
121 0004 8091 0000 lds r24,fleds
122 0008 00D0 rcall spi_transfer
123 .LM3:
124 000a 8091 0000 lds r24,fleds+1
125 000e 00D0 rcall spi_transfer
126 .LM4:
127 0010 8091 0000 lds r24,fleds+2
128 0014 00D0 rcall spi_transfer
129 .LM5:
130 0016 8091 0000 lds r24,fleds+3
131 001a 00D0 rcall spi_transfer
132 .LM6:
133 001c CC23 tst r28
134 001e 79F0 breq .L2
135 .LM7:
136 0020 C830 cpi r28,lo8(8)
137 0022 20F4 brsh .L3
138 .LM8:
139 0024 6C2F mov r22,r28
140 0026 8091 0000 lds r24,fleds+4
141 002a 08C0 rjmp .L6
142 .L3:
143 .LM9:
144 002c 8091 0000 lds r24,fleds+4
145 0030 00D0 rcall spi_transfer
146 .LM10:
147 0032 C850 subi r28,lo8(-(-8))
148 .LM11:
149 0034 21F0 breq .L2
150 .LM12:
151 0036 6C2F mov r22,r28
152 0038 8091 0000 lds r24,fleds+5
153 .L6:
154 003c 00D0 rcall spi_transfer_n
155 .L2:
156 .LM13:
157 003e 949A sbi 50-0x20,4
158 .LM14:
159 /* #APP */
160 0040 0000 nop
161 0042 0000 nop
162 0044 0000 nop
163 0046 0000 nop
164 .LM15:
165 /* #NOAPP */
166 0048 9498 cbi 50-0x20,4
167 /* epilogue: frame size=0 */
168 004a CF91 pop r28
169 004c 0895 ret
170 /* epilogue end (size=2) */
171 /* function clock_scroll size 44 (41) */
172 .LFE2:
174 .global __vector_6
176 __vector_6:
177 .LFB3:
178 .LM16:
179 /* prologue: frame size=0 */
180 004e 1F92 push __zero_reg__
181 0050 0F92 push __tmp_reg__
182 0052 0FB6 in __tmp_reg__,__SREG__
183 0054 0F92 push __tmp_reg__
184 0056 1124 clr __zero_reg__
185 0058 2F93 push r18
186 005a 8F93 push r24
187 005c 9F93 push r25
188 /* prologue end (size=8) */
189 .LM17:
190 005e 8091 0000 lds r24,hall_debounce
191 0062 8F3F cpi r24,lo8(-1)
192 0064 29F0 breq .L8
193 .LM18:
194 0066 8091 0000 lds r24,hall_debounce
195 006a 8F5F subi r24,lo8(-(1))
196 006c 8093 0000 sts hall_debounce,r24
197 .L8:
198 .LM19:
199 0070 8091 0000 lds r24,sensor_timer
200 0074 9091 0000 lds r25,(sensor_timer)+1
201 0078 8F5F subi r24,lo8(-1)
202 007a 9F4F sbci r25,hi8(-1)
203 007c 49F0 breq .L9
204 .LM20:
205 007e 8091 0000 lds r24,sensor_timer
206 0082 9091 0000 lds r25,(sensor_timer)+1
207 0086 0196 adiw r24,1
208 0088 9093 0000 sts (sensor_timer)+1,r25
209 008c 8093 0000 sts sensor_timer,r24
210 .L9:
211 .LM21:
212 0090 8091 0000 lds r24,line_timer_l
213 0094 8F5F subi r24,lo8(-(1))
214 0096 8093 0000 sts line_timer_l,r24
215 .LM22:
216 009a 8091 0000 lds r24,line_timer_l
217 009e 8823 tst r24
218 00a0 29F4 brne .L7
219 .LM23:
220 00a2 8091 0000 lds r24,line_timer_h
221 00a6 8F5F subi r24,lo8(-(1))
222 00a8 8093 0000 sts line_timer_h,r24
223 .L7:
224 /* epilogue: frame size=0 */
225 00ac 9F91 pop r25
226 00ae 8F91 pop r24
227 00b0 2F91 pop r18
228 00b2 0F90 pop __tmp_reg__
229 00b4 0FBE out __SREG__,__tmp_reg__
230 00b6 0F90 pop __tmp_reg__
231 00b8 1F90 pop __zero_reg__
232 00ba 1895 reti
233 /* epilogue end (size=8) */
234 /* function __vector_6 size 56 (40) */
235 .LFE3:
237 .global set_all
239 set_all:
240 .LFB9:
241 .LM24:
242 /* prologue: frame size=0 */
243 /* prologue end (size=0) */
244 .LM25:
245 00bc 8093 0000 sts fleds+3,r24
246 00c0 8093 0000 sts fleds+2,r24
247 00c4 8093 0000 sts fleds+1,r24
248 00c8 8093 0000 sts fleds,r24
249 .LM26:
250 00cc 80E0 ldi r24,lo8(0)
251 00ce 98DF rcall clock_scroll
252 /* epilogue: frame size=0 */
253 00d0 0895 ret
254 /* epilogue end (size=1) */
255 /* function set_all size 11 (10) */
256 .LFE9:
258 .global __vector_4
260 __vector_4:
261 .LFB4:
262 .LM27:
263 /* prologue: frame size=0 */
264 00d2 1F92 push __zero_reg__
265 00d4 0F92 push __tmp_reg__
266 00d6 0FB6 in __tmp_reg__,__SREG__
267 00d8 0F92 push __tmp_reg__
268 00da 1124 clr __zero_reg__
269 00dc 2F93 push r18
270 00de 3F93 push r19
271 00e0 4F93 push r20
272 00e2 5F93 push r21
273 00e4 6F93 push r22
274 00e6 7F93 push r23
275 00e8 8F93 push r24
276 00ea 9F93 push r25
277 00ec AF93 push r26
278 00ee BF93 push r27
279 00f0 EF93 push r30
280 00f2 FF93 push r31
281 /* prologue end (size=17) */
282 .LM28:
283 00f4 8091 0000 lds r24,sensor_timer
284 00f8 9091 0000 lds r25,(sensor_timer)+1
285 00fc 8256 subi r24,lo8(610)
286 00fe 9240 sbci r25,hi8(610)
287 0100 08F0 brlo .+2
288 0102 A2C0 rjmp .L13
289 .LM29:
290 0104 8091 0000 lds r24,pixelNum
291 0108 8F5F subi r24,lo8(-(1))
292 010a 8093 0000 sts pixelNum,r24
293 .LM30:
294 010e 8091 0000 lds r24,pixelNum
295 0112 8031 cpi r24,lo8(16)
296 0114 09F0 breq .+2
297 0116 61C0 rjmp .L14
298 .LM31:
299 0118 1092 0000 sts pixelNum,__zero_reg__
300 .LM32:
301 011c 8091 0000 lds r24,charNum
302 0120 8F5F subi r24,lo8(-(1))
303 0122 8F70 andi r24,lo8(15)
304 0124 8093 0000 sts charNum,r24
305 .LM33:
306 0128 8091 0000 lds r24,charNum
307 012c E82F mov r30,r24
308 012e FF27 clr r31
309 0130 E050 subi r30,lo8(-(topLine))
310 0132 F040 sbci r31,hi8(-(topLine))
311 0134 E081 ld r30,Z
312 0136 E052 subi r30,lo8(-(-32))
313 .LM34:
314 0138 8E2F mov r24,r30
315 013a 8695 lsr r24
316 013c 282F mov r18,r24
317 013e 3327 clr r19
318 0140 F6E0 ldi r31,6
319 0142 220F 1: lsl r18
320 0144 331F rol r19
321 0146 FA95 dec r31
322 0148 E1F7 brne 1b
323 014a 8E2F mov r24,r30
324 014c 9927 clr r25
325 014e 8170 andi r24,lo8(1)
326 0150 9070 andi r25,hi8(1)
327 0152 880F lsl r24
328 0154 991F rol r25
329 0156 282B or r18,r24
330 0158 392B or r19,r25
331 015a 3093 0000 sts (topChar)+1,r19
332 015e 2093 0000 sts topChar,r18
333 .LM35:
334 0162 8091 0000 lds r24,charNum
335 0166 E82F mov r30,r24
336 0168 FF27 clr r31
337 016a E050 subi r30,lo8(-(botLine))
338 016c F040 sbci r31,hi8(-(botLine))
339 016e E081 ld r30,Z
340 0170 E052 subi r30,lo8(-(-32))
341 .LM36:
342 0172 8E2F mov r24,r30
343 0174 8695 lsr r24
344 0176 282F mov r18,r24
345 0178 3327 clr r19
346 017a 76E0 ldi r23,6
347 017c 220F 1: lsl r18
348 017e 331F rol r19
349 0180 7A95 dec r23
350 0182 E1F7 brne 1b
351 0184 8E2F mov r24,r30
352 0186 9927 clr r25
353 0188 8170 andi r24,lo8(1)
354 018a 9070 andi r25,hi8(1)
355 018c 880F lsl r24
356 018e 991F rol r25
357 0190 282B or r18,r24
358 0192 392B or r19,r25
359 0194 3093 0000 sts (botChar)+1,r19
360 0198 2093 0000 sts botChar,r18
361 .LM37:
362 019c 8091 0000 lds r24,charNum
363 01a0 E82F mov r30,r24
364 01a2 FF27 clr r31
365 01a4 E050 subi r30,lo8(-(scrollLine))
366 01a6 F040 sbci r31,hi8(-(scrollLine))
367 01a8 E081 ld r30,Z
368 01aa E052 subi r30,lo8(-(-32))
369 .LM38:
370 01ac 8E2F mov r24,r30
371 01ae 8695 lsr r24
372 01b0 282F mov r18,r24
373 01b2 3327 clr r19
374 01b4 6894 set
375 01b6 15F8 bld __zero_reg__,6-1
376 01b8 220F 1: lsl r18
377 01ba 331F rol r19
378 01bc 1694 lsr __zero_reg__
379 01be E1F7 brne 1b
380 01c0 8E2F mov r24,r30
381 01c2 9927 clr r25
382 01c4 8170 andi r24,lo8(1)
383 01c6 9070 andi r25,hi8(1)
384 01c8 880F lsl r24
385 01ca 991F rol r25
386 01cc 282B or r18,r24
387 01ce 392B or r19,r25
388 01d0 3093 0000 sts (scrollChar)+1,r19
389 01d4 2093 0000 sts scrollChar,r18
390 01d8 1BC0 rjmp .L15
391 .L14:
392 .LM39:
393 01da 8091 0000 lds r24,topChar
394 01de 9091 0000 lds r25,(topChar)+1
395 01e2 0496 adiw r24,4
396 01e4 9093 0000 sts (topChar)+1,r25
397 01e8 8093 0000 sts topChar,r24
398 .LM40:
399 01ec 8091 0000 lds r24,botChar
400 01f0 9091 0000 lds r25,(botChar)+1
401 01f4 0496 adiw r24,4
402 01f6 9093 0000 sts (botChar)+1,r25
403 01fa 8093 0000 sts botChar,r24
404 .LM41:
405 01fe 8091 0000 lds r24,scrollChar
406 0202 9091 0000 lds r25,(scrollChar)+1
407 0206 0496 adiw r24,4
408 0208 9093 0000 sts (scrollChar)+1,r25
409 020c 8093 0000 sts scrollChar,r24
410 .L15:
411 .LM42:
412 0210 42E0 ldi r20,lo8(2)
413 0212 60E0 ldi r22,lo8(fleds)
414 0214 70E0 ldi r23,hi8(fleds)
415 0216 8091 0000 lds r24,topChar
416 021a 9091 0000 lds r25,(topChar)+1
417 021e 00D0 rcall spieeprom_read
418 .LM43:
419 0220 42E0 ldi r20,lo8(2)
420 0222 60E0 ldi r22,lo8(fleds+2)
421 0224 70E0 ldi r23,hi8(fleds+2)
422 0226 8091 0000 lds r24,botChar
423 022a 9091 0000 lds r25,(botChar)+1
424 022e 00D0 rcall spieeprom_read
425 .LM44:
426 0230 42E0 ldi r20,lo8(2)
427 0232 60E0 ldi r22,lo8(fleds+4)
428 0234 70E0 ldi r23,hi8(fleds+4)
429 0236 8091 0000 lds r24,scrollChar
430 023a 9091 0000 lds r25,(scrollChar)+1
431 023e 00D0 rcall spieeprom_read
432 .LM45:
433 0240 8091 0000 lds r24,line_shift
434 0244 DDDE rcall clock_scroll
435 0246 07C0 rjmp .L12
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -