📄 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 clean
26 .global clean
29 clean:
30 0002 00 .skip 1,0
31 .global pixelNum
32 .global pixelNum
35 pixelNum:
36 0003 00 .skip 1,0
37 .global charNum
38 .global charNum
41 charNum:
42 0004 00 .skip 1,0
43 .global botChar
44 .global botChar
47 botChar:
48 0005 0000 .skip 2,0
49 .global topChar
50 .global topChar
53 topChar:
54 0007 0000 .skip 2,0
55 .global line_shift
56 .data
59 line_shift:
60 0000 0F .byte 15
61 .global cur_line
64 cur_line:
65 0001 FF .byte -1
66 .global line_timer_l
69 line_timer_l:
70 0002 10 .byte 16
71 .global line_timer_h
72 .global line_timer_h
73 .section .bss
76 line_timer_h:
77 0009 00 .skip 1,0
78 .global lines
79 .section .progmem.data,"a",@progbits
82 lines:
83 0000 2020 2045 .ascii " Episode IV A New Hope It is a "
83 7069 736F
83 6465 2049
83 5620 2020
83 2020 2041
84 003c 2020 2020 .ascii " period of civil war. Reb"
84 2020 2070
84 6572 696F
84 6420 6F66
84 2020 2020
85 0078 656C 2020 .ascii "el spaceships, striking from a h"
85 2020 2020
85 2020 2073
85 7061 6365
85 7368 6970
86 00b4 6964 6465 .ascii "idden base "
86 6E20 6261
86 7365 2020
87 00c0 2020 2020 .string " have won their first victory.. "
87 6861 7665
87 2077 6F6E
87 2020 2020
87 2020 2074
88 .text
89 .global spi_transfer_n
91 spi_transfer_n:
92 .LFB2:
93 .LM1:
94 /* prologue: frame size=0 */
95 /* prologue end (size=0) */
96 0000 962F mov r25,r22
97 .LM2:
98 0002 8FB9 out 47-0x20,r24
99 .LM3:
100 0004 990F lsl r25
101 0006 80E1 ldi r24,lo8(16)
102 0008 891B sub r24,r25
103 000a 8064 ori r24,lo8(64)
104 000c 8EB9 out 46-0x20,r24
105 .LM4:
106 000e 7699 sbic 46-0x20,6
107 0010 04C0 rjmp .L6
108 0012 8BE1 ldi r24,lo8(27)
109 .L4:
110 .LM5:
111 0014 8DB9 out 45-0x20,r24
112 0016 769B sbis 46-0x20,6
113 0018 FDCF rjmp .L4
114 .L6:
115 001a 0895 ret
116 /* epilogue: frame size=0 */
117 /* epilogue: noreturn */
118 /* epilogue end (size=0) */
119 /* function spi_transfer_n size 14 (14) */
120 .LFE2:
122 .global spi_transfer
124 spi_transfer:
125 .LFB3:
126 .LM6:
127 /* prologue: frame size=0 */
128 /* prologue end (size=0) */
129 .LM7:
130 001c 8FB9 out 47-0x20,r24
131 .LM8:
132 001e 80E4 ldi r24,lo8(64)
133 0020 8EB9 out 46-0x20,r24
134 .LM9:
135 0022 7699 sbic 46-0x20,6
136 0024 04C0 rjmp .L12
137 0026 8BE1 ldi r24,lo8(27)
138 .L10:
139 .LM10:
140 0028 8DB9 out 45-0x20,r24
141 002a 769B sbis 46-0x20,6
142 002c FDCF rjmp .L10
143 .L12:
144 .LM11:
145 002e 8FB1 in r24,47-0x20
146 .LM12:
147 0030 9927 clr r25
148 /* epilogue: frame size=0 */
149 0032 0895 ret
150 /* epilogue end (size=1) */
151 /* function spi_transfer size 12 (11) */
152 .LFE3:
154 .global clock_leds
156 clock_leds:
157 .LFB4:
158 .LM13:
159 /* prologue: frame size=0 */
160 /* prologue end (size=0) */
161 .LM14:
162 0034 8091 0000 lds r24,fleds
163 0038 F1DF rcall spi_transfer
164 .LM15:
165 003a 8091 0000 lds r24,fleds+1
166 003e EEDF rcall spi_transfer
167 .LM16:
168 0040 8091 0000 lds r24,fleds+2
169 0044 EBDF rcall spi_transfer
170 .LM17:
171 0046 8091 0000 lds r24,fleds+3
172 004a E8DF rcall spi_transfer
173 .LM18:
174 004c 949A sbi 50-0x20,4
175 .LM19:
176 /* #APP */
177 004e 0000 nop
178 0050 0000 nop
179 0052 0000 nop
180 0054 0000 nop
181 .LM20:
182 /* #NOAPP */
183 0056 9498 cbi 50-0x20,4
184 /* epilogue: frame size=0 */
185 0058 0895 ret
186 /* epilogue end (size=1) */
187 /* function clock_leds size 23 (22) */
188 .LFE4:
190 .global clock_scroll
192 clock_scroll:
193 .LFB5:
194 .LM21:
195 /* prologue: frame size=0 */
196 005a CF93 push r28
197 /* prologue end (size=1) */
198 .LM22:
199 005c 8091 0000 lds r24,fleds
200 0060 DDDF rcall spi_transfer
201 .LM23:
202 0062 8091 0000 lds r24,fleds+1
203 0066 DADF rcall spi_transfer
204 .LM24:
205 0068 8091 0000 lds r24,fleds+2
206 006c D7DF rcall spi_transfer
207 .LM25:
208 006e 8091 0000 lds r24,fleds+3
209 0072 D4DF rcall spi_transfer
210 .LM26:
211 0074 C091 0000 lds r28,line_shift
212 .LM27:
213 0078 CC23 tst r28
214 007a 79F0 breq .L15
215 .LM28:
216 007c C830 cpi r28,lo8(8)
217 007e 20F4 brsh .L16
218 .LM29:
219 0080 6C2F mov r22,r28
220 0082 8091 0000 lds r24,fleds+4
221 0086 08C0 rjmp .L19
222 .L16:
223 .LM30:
224 0088 8091 0000 lds r24,fleds+4
225 008c C7DF rcall spi_transfer
226 .LM31:
227 008e C850 subi r28,lo8(-(-8))
228 .LM32:
229 0090 21F0 breq .L15
230 .LM33:
231 0092 6C2F mov r22,r28
232 0094 8091 0000 lds r24,fleds+5
233 .L19:
234 0098 B3DF rcall spi_transfer_n
235 .L15:
236 .LM34:
237 009a 949A sbi 50-0x20,4
238 .LM35:
239 /* #APP */
240 009c 0000 nop
241 009e 0000 nop
242 00a0 0000 nop
243 00a2 0000 nop
244 .LM36:
245 /* #NOAPP */
246 00a4 9498 cbi 50-0x20,4
247 /* epilogue: frame size=0 */
248 00a6 CF91 pop r28
249 00a8 0895 ret
250 /* epilogue end (size=2) */
251 /* function clock_scroll size 45 (42) */
252 .LFE5:
254 .global __vector_6
256 __vector_6:
257 .LFB6:
258 .LM37:
259 /* prologue: frame size=0 */
260 00aa 1F92 push __zero_reg__
261 00ac 0F92 push __tmp_reg__
262 00ae 0FB6 in __tmp_reg__,__SREG__
263 00b0 0F92 push __tmp_reg__
264 00b2 1124 clr __zero_reg__
265 00b4 2F93 push r18
266 00b6 8F93 push r24
267 00b8 9F93 push r25
268 /* prologue end (size=8) */
269 .LM38:
270 00ba 8091 0000 lds r24,hall_debounce
271 00be 8F3F cpi r24,lo8(-1)
272 00c0 29F0 breq .L21
273 .LM39:
274 00c2 8091 0000 lds r24,hall_debounce
275 00c6 8F5F subi r24,lo8(-(1))
276 00c8 8093 0000 sts hall_debounce,r24
277 .L21:
278 .LM40:
279 00cc 8091 0000 lds r24,sensor_timer
280 00d0 9091 0000 lds r25,(sensor_timer)+1
281 00d4 8F5F subi r24,lo8(-1)
282 00d6 9F4F sbci r25,hi8(-1)
283 00d8 49F0 breq .L22
284 .LM41:
285 00da 8091 0000 lds r24,sensor_timer
286 00de 9091 0000 lds r25,(sensor_timer)+1
287 00e2 0196 adiw r24,1
288 00e4 9093 0000 sts (sensor_timer)+1,r25
289 00e8 8093 0000 sts sensor_timer,r24
290 .L22:
291 .LM42:
292 00ec 8091 0000 lds r24,line_timer_l
293 00f0 8F5F subi r24,lo8(-(1))
294 00f2 8093 0000 sts line_timer_l,r24
295 .LM43:
296 00f6 8091 0000 lds r24,line_timer_l
297 00fa 8823 tst r24
298 00fc 29F4 brne .L20
299 .LM44:
300 00fe 8091 0000 lds r24,line_timer_h
301 0102 8F5F subi r24,lo8(-(1))
302 0104 8093 0000 sts line_timer_h,r24
303 .L20:
304 /* epilogue: frame size=0 */
305 0108 9F91 pop r25
306 010a 8F91 pop r24
307 010c 2F91 pop r18
308 010e 0F90 pop __tmp_reg__
309 0110 0FBE out __SREG__,__tmp_reg__
310 0112 0F90 pop __tmp_reg__
311 0114 1F90 pop __zero_reg__
312 0116 1895 reti
313 /* epilogue end (size=8) */
314 /* function __vector_6 size 56 (40) */
315 .LFE6:
317 .global set_led
319 set_led:
320 .LFB12:
321 .LM45:
322 /* prologue: frame size=0 */
323 /* prologue end (size=0) */
324 0118 282F mov r18,r24
325 .LM46:
326 011a 8FEF ldi r24,lo8(-1)
327 011c 8093 0000 sts fleds+3,r24
328 0120 8093 0000 sts fleds+2,r24
329 0124 8093 0000 sts fleds+1,r24
330 0128 8093 0000 sts fleds,r24
331 .LM47:
332 012c 822F mov r24,r18
333 012e 8695 lsr r24
334 0130 8695 lsr r24
335 0132 8695 lsr r24
336 0134 E82F mov r30,r24
337 0136 FF27 clr r31
338 0138 E050 subi r30,lo8(-(fleds))
339 013a F040 sbci r31,hi8(-(fleds))
340 013c 2770 andi r18,lo8(7)
341 013e 81E0 ldi r24,lo8(1)
342 0140 90E0 ldi r25,hi8(1)
343 0142 02C0 rjmp 2f
344 0144 880F 1: lsl r24
345 0146 991F rol r25
346 0148 2A95 2: dec r18
347 014a E2F7 brpl 1b
348 014c 8095 com r24
349 014e 8083 st Z,r24
350 .LM48:
351 0150 71DF rcall clock_leds
352 /* epilogue: frame size=0 */
353 0152 0895 ret
354 /* epilogue end (size=1) */
355 /* function set_led size 31 (30) */
356 .LFE12:
358 .global __vector_4
360 __vector_4:
361 .LFB7:
362 .LM49:
363 /* prologue: frame size=0 */
364 0154 1F92 push __zero_reg__
365 0156 0F92 push __tmp_reg__
366 0158 0FB6 in __tmp_reg__,__SREG__
367 015a 0F92 push __tmp_reg__
368 015c 1124 clr __zero_reg__
369 015e CF92 push r12
370 0160 DF92 push r13
371 0162 EF92 push r14
372 0164 FF92 push r15
373 0166 0F93 push r16
374 0168 1F93 push r17
375 016a 2F93 push r18
376 016c 3F93 push r19
377 016e 4F93 push r20
378 0170 5F93 push r21
379 0172 6F93 push r22
380 0174 7F93 push r23
381 0176 8F93 push r24
382 0178 9F93 push r25
383 017a AF93 push r26
384 017c BF93 push r27
385 017e CF93 push r28
386 0180 DF93 push r29
387 0182 EF93 push r30
388 0184 FF93 push r31
389 /* prologue end (size=25) */
390 .LM50:
391 /* #APP */
392 0186 7894 sei
393 .LM51:
394 /* #NOAPP */
395 0188 E090 0000 lds r14,topChar
396 018c F090 0000 lds r15,(topChar)+1
397 .LM52:
398 0190 0091 0000 lds r16,botChar
399 0194 1091 0000 lds r17,(botChar)+1
400 .LM53:
401 0198 C090 0000 lds r12,charNum
402 .LM54:
403 019c D090 0000 lds r13,pixelNum
404 .LM55:
405 01a0 C091 0000 lds r28,scrollChar
406 01a4 D091 0000 lds r29,(scrollChar)+1
407 .LM56:
408 01a8 8091 0000 lds r24,sensor_timer
409 01ac 9091 0000 lds r25,(sensor_timer)+1
410 01b0 8256 subi r24,lo8(610)
411 01b2 9240 sbci r25,hi8(610)
412 01b4 08F0 brlo .+2
413 01b6 8CC0 rjmp .L26
414 .LM57:
415 01b8 D394 inc r13
416 .LM58:
417 01ba 80E1 ldi r24,lo8(16)
418 01bc D816 cp r13,r24
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -