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