📄 main.lst
字号:
348 .L28:
349 .LM53:
350 0158 C0E0 ldi r28,lo8(bleds)
351 015a D0E0 ldi r29,hi8(bleds)
352 .L29:
353 .LM54:
354 015c 8B81 ldd r24,Y+3
355 015e E7DF rcall spi_transfer
356 .LM55:
357 0160 8A81 ldd r24,Y+2
358 0162 E5DF rcall spi_transfer
359 .LM56:
360 0164 8981 ldd r24,Y+1
361 0166 E3DF rcall spi_transfer
362 .LM57:
363 0168 8881 ld r24,Y
364 016a E1DF rcall spi_transfer
365 .LM58:
366 016c 21E0 ldi r18,lo8(1)
367 016e 30E0 ldi r19,hi8(1)
368 0170 02C0 rjmp 2f
369 0172 220F 1: lsl r18
370 0174 331F rol r19
371 0176 1A95 2: dec r17
372 0178 E2F7 brpl 1b
373 017a 82B3 in r24,50-0x20
374 017c 822B or r24,r18
375 017e 82BB out 50-0x20,r24
376 .LM59:
377 /* #APP */
378 0180 0000 nop
379 0182 0000 nop
380 0184 0000 nop
381 0186 0000 nop
382 .LM60:
383 /* #NOAPP */
384 0188 922F mov r25,r18
385 018a 9095 com r25
386 018c 82B3 in r24,50-0x20
387 018e 8923 and r24,r25
388 0190 82BB out 50-0x20,r24
389 /* epilogue: frame size=0 */
390 0192 DF91 pop r29
391 0194 CF91 pop r28
392 0196 1F91 pop r17
393 0198 0895 ret
394 /* epilogue end (size=4) */
395 /* function clock_leds size 47 (40) */
396 .LFE8:
398 .global set_led
400 set_led:
401 .LFB9:
402 .LM61:
403 /* prologue: frame size=0 */
404 /* prologue end (size=0) */
405 019a 282F mov r18,r24
406 .LM62:
407 019c 6430 cpi r22,lo8(4)
408 019e 19F4 brne .L31
409 .LM63:
410 01a0 E0E0 ldi r30,lo8(fleds)
411 01a2 F0E0 ldi r31,hi8(fleds)
412 01a4 02C0 rjmp .L32
413 .L31:
414 .LM64:
415 01a6 E0E0 ldi r30,lo8(bleds)
416 01a8 F0E0 ldi r31,hi8(bleds)
417 .L32:
418 .LM65:
419 01aa 8FEF ldi r24,lo8(-1)
420 01ac 8383 std Z+3,r24
421 01ae 8283 std Z+2,r24
422 01b0 8183 std Z+1,r24
423 01b2 8083 st Z,r24
424 .LM66:
425 01b4 822F mov r24,r18
426 01b6 8695 lsr r24
427 01b8 8695 lsr r24
428 01ba 8695 lsr r24
429 01bc E80F add r30,r24
430 01be F11D adc r31,__zero_reg__
431 01c0 2770 andi r18,lo8(7)
432 01c2 81E0 ldi r24,lo8(1)
433 01c4 90E0 ldi r25,hi8(1)
434 01c6 02C0 rjmp 2f
435 01c8 880F 1: lsl r24
436 01ca 991F rol r25
437 01cc 2A95 2: dec r18
438 01ce E2F7 brpl 1b
439 01d0 8095 com r24
440 01d2 8083 st Z,r24
441 .LM67:
442 01d4 862F mov r24,r22
443 01d6 B7DF rcall clock_leds
444 /* epilogue: frame size=0 */
445 01d8 0895 ret
446 /* epilogue end (size=1) */
447 /* function set_led size 33 (32) */
448 .LFE9:
450 .global __vector_2
452 __vector_2:
453 .LFB5:
454 .LM68:
455 /* prologue: frame size=0 */
456 01da 1F92 push __zero_reg__
457 01dc 0F92 push __tmp_reg__
458 01de 0FB6 in __tmp_reg__,__SREG__
459 01e0 0F92 push __tmp_reg__
460 01e2 1124 clr __zero_reg__
461 01e4 2F93 push r18
462 01e6 3F93 push r19
463 01e8 4F93 push r20
464 01ea 5F93 push r21
465 01ec 6F93 push r22
466 01ee 7F93 push r23
467 01f0 8F93 push r24
468 01f2 9F93 push r25
469 01f4 AF93 push r26
470 01f6 BF93 push r27
471 01f8 EF93 push r30
472 01fa FF93 push r31
473 /* prologue end (size=17) */
474 .LM69:
475 01fc C39A sbi 56-0x20,3
476 .LM70:
477 01fe 8091 0000 lds r24,hall_debounce
478 0202 8530 cpi r24,lo8(5)
479 0204 08F4 brsh .+2
480 0206 6BC0 rjmp .L34
481 .LM71:
482 0208 81E0 ldi r24,lo8(1)
483 020a 8093 0000 sts stopcomputertx,r24
484 .LM72:
485 020e 8091 0000 lds r24,animation_time
486 0212 282F mov r18,r24
487 0214 3327 clr r19
488 0216 8091 0000 lds r24,anim_timer
489 021a 9091 0000 lds r25,(anim_timer)+1
490 021e 8217 cp r24,r18
491 0220 9307 cpc r25,r19
492 0222 51F0 breq .L35
493 .LM73:
494 0224 8091 0000 lds r24,anim_timer
495 0228 9091 0000 lds r25,(anim_timer)+1
496 022c 0196 adiw r24,1
497 022e 9093 0000 sts (anim_timer)+1,r25
498 0232 8093 0000 sts anim_timer,r24
499 0236 0EC0 rjmp .L36
500 .L35:
501 .LM74:
502 0238 1092 0000 sts (anim_timer)+1,__zero_reg__
503 023c 1092 0000 sts anim_timer,__zero_reg__
504 .LM75:
505 0240 8091 0000 lds r24,anim_eeprom_offset
506 0244 9091 0000 lds r25,(anim_eeprom_offset)+1
507 0248 8050 subi r24,lo8(-(1024))
508 024a 9C4F sbci r25,hi8(-(1024))
509 024c 9093 0000 sts (anim_eeprom_offset)+1,r25
510 0250 8093 0000 sts anim_eeprom_offset,r24
511 .L36:
512 .LM76:
513 0254 1DBC out (76)+1-0x20,__zero_reg__
514 0256 1CBC out 76-0x20,__zero_reg__
515 .LM77:
516 0258 8091 0000 lds r24,sensor_timer
517 025c 9091 0000 lds r25,(sensor_timer)+1
518 0260 8F3F cpi r24,255
519 0262 9105 cpc r25,__zero_reg__
520 0264 78F5 brsh .L37
521 0266 8091 0000 lds r24,sensor_timer
522 026a 9091 0000 lds r25,(sensor_timer)+1
523 026e 0497 sbiw r24,4
524 0270 48F1 brlo .L37
525 .LM78:
526 0272 8091 0000 lds r24,sensor_timer
527 0276 9091 0000 lds r25,(sensor_timer)+1
528 027a 982F mov r25,r24
529 027c 8827 clr r24
530 027e 22B7 in r18,82-0x20
531 0280 3327 clr r19
532 0282 822B or r24,r18
533 0284 932B or r25,r19
534 0286 9BBD out (74)+1-0x20,r25
535 0288 8ABD out 74-0x20,r24
536 .LM79:
537 028a 12BE out 82-0x20,__zero_reg__
538 .LM80:
539 028c 80E0 ldi r24,lo8(0)
540 028e 2DDF rcall internal_eeprom_read
541 0290 9927 clr r25
542 0292 282F mov r18,r24
543 0294 392F mov r19,r25
544 0296 2070 andi r18,lo8(256)
545 0298 3170 andi r19,hi8(256)
546 029a 821B sub r24,r18
547 029c 930B sbc r25,r19
548 029e 880F lsl r24
549 02a0 991F rol r25
550 02a2 880F lsl r24
551 02a4 991F rol r25
552 02a6 9093 0000 sts (curr_eeprom_addr)+1,r25
553 02aa 8093 0000 sts curr_eeprom_addr,r24
554 .LM81:
555 02ae 81E0 ldi r24,lo8(1)
556 02b0 1CDF rcall internal_eeprom_read
557 02b2 8093 0000 sts mirror,r24
558 .LM82:
559 02b6 8EB5 in r24,78-0x20
560 02b8 8160 ori r24,lo8(1)
561 02ba 8EBD out 78-0x20,r24
562 .LM83:
563 02bc 89B7 in r24,89-0x20
564 02be 8064 ori r24,lo8(64)
565 02c0 89BF out 89-0x20,r24
566 02c2 09C0 rjmp .L39
567 .L37:
568 .LM84:
569 02c4 64E0 ldi r22,lo8(4)
570 02c6 82E0 ldi r24,lo8(2)
571 02c8 68DF rcall set_led
572 .LM85:
573 02ca 65E0 ldi r22,lo8(5)
574 02cc 82E0 ldi r24,lo8(2)
575 02ce 65DF rcall set_led
576 .LM86:
577 02d0 8EB5 in r24,78-0x20
578 02d2 8E7F andi r24,lo8(-2)
579 02d4 8EBD out 78-0x20,r24
580 .L39:
581 .LM87:
582 02d6 1092 0000 sts (sensor_timer)+1,__zero_reg__
583 02da 1092 0000 sts sensor_timer,__zero_reg__
584 .L34:
585 .LM88:
586 02de 1092 0000 sts hall_debounce,__zero_reg__
587 .LM89:
588 02e2 C398 cbi 56-0x20,3
589 /* epilogue: frame size=0 */
590 02e4 FF91 pop r31
591 02e6 EF91 pop r30
592 02e8 BF91 pop r27
593 02ea AF91 pop r26
594 02ec 9F91 pop r25
595 02ee 8F91 pop r24
596 02f0 7F91 pop r23
597 02f2 6F91 pop r22
598 02f4 5F91 pop r21
599 02f6 4F91 pop r20
600 02f8 3F91 pop r19
601 02fa 2F91 pop r18
602 02fc 0F90 pop __tmp_reg__
603 02fe 0FBE out __SREG__,__tmp_reg__
604 0300 0F90 pop __tmp_reg__
605 0302 1F90 pop __zero_reg__
606 0304 1895 reti
607 /* epilogue end (size=17) */
608 /* function __vector_2 size 151 (117) */
609 .LFE5:
611 .global __vector_4
613 __vector_4:
614 .LFB3:
615 .LM90:
616 /* prologue: frame size=0 */
617 0306 1F92 push __zero_reg__
618 0308 0F92 push __tmp_reg__
619 030a 0FB6 in __tmp_reg__,__SREG__
620 030c 0F92 push __tmp_reg__
621 030e 1124 clr __zero_reg__
622 0310 2F93 push r18
623 0312 3F93 push r19
624 0314 4F93 push r20
625 0316 5F93 push r21
626 0318 6F93 push r22
627 031a 7F93 push r23
628 031c 8F93 push r24
629 031e 9F93 push r25
630 0320 AF93 push r26
631 0322 BF93 push r27
632 0324 CF93 push r28
633 0326 DF93 push r29
634 0328 EF93 push r30
635 032a FF93 push r31
636 /* prologue end (size=19) */
637 .LM91:
638 /* #APP */
639 032c 7894 sei
640 .LM92:
641 /* #NOAPP */
642 032e C19A sbi 56-0x20,1
643 .LM93:
644 0330 2091 0000 lds r18,curr_eeprom_addr
645 0334 3091 0000 lds r19,(curr_eeprom_addr)+1
646 .LM94:
647 0338 8091 0000 lds r24,sensor_timer
648 033c 9091 0000 lds r25,(sensor_timer)+1
649 0340 8256 subi r24,lo8(610)
650 0342 9240 sbci r25,hi8(610)
651 0344 90F5 brsh .L41
652 .LM95:
653 0346 D89A sbi 59-0x20,0
654 .LM96:
655 0348 D32F mov r29,r19
656 034a C22F mov r28,r18
657 034c D370 andi r29,hi8(1023)
658 .LM97:
659 034e 8091 0000 lds r24,anim_eeprom_offset
660 0352 9091 0000 lds r25,(anim_eeprom_offset)+1
661 0356 64E0 ldi r22,lo8(4)
662 0358 8C0F add r24,r28
663 035a 9D1F adc r25,r29
664 035c 00D0 rcall spieeprom_read_into_leds
665 .LM98:
666 035e 8091 0000 lds r24,mirror
667 0362 8823 tst r24
668 0364 59F0 breq .L42
669 .LM99:
670 0366 8091 0000 lds r24,anim_eeprom_offset
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -