main.lst
来自「旋转16个LED灯控制程序」· LST 代码 · 共 1,175 行 · 第 1/3 页
LST
1,175 行
428 01f8 E82F mov r30,r24
429 01fa FF27 clr r31
430 01fc E050 subi r30,lo8(-(botLine))
431 01fe F040 sbci r31,hi8(-(botLine))
432 0200 8081 ld r24,Z
433 0202 9927 clr r25
434 0204 8097 sbiw r24,32
435 0206 880F lsl r24
436 0208 991F rol r25
437 020a 10C0 rjmp .L23
438 .L20:
439 .LM59:
440 020c 8091 0000 lds r24,topChar
441 0210 9091 0000 lds r25,(topChar)+1
442 0214 8054 subi r24,lo8(-(192))
443 0216 9F4F sbci r25,hi8(-(192))
444 0218 9093 0000 sts (topChar)+1,r25
445 021c 8093 0000 sts topChar,r24
446 .LM60:
447 0220 8091 0000 lds r24,botChar
448 0224 9091 0000 lds r25,(botChar)+1
449 0228 8054 subi r24,lo8(-(192))
450 022a 9F4F sbci r25,hi8(-(192))
451 .L23:
452 022c 9093 0000 sts (botChar)+1,r25
453 0230 8093 0000 sts botChar,r24
454 .LM61:
455 0234 42E0 ldi r20,lo8(2)
456 0236 60E0 ldi r22,lo8(fleds)
457 0238 70E0 ldi r23,hi8(fleds)
458 023a 8091 0000 lds r24,topChar
459 023e 9091 0000 lds r25,(topChar)+1
460 0242 00D0 rcall spieeprom_read
461 .LM62:
462 0244 42E0 ldi r20,lo8(2)
463 0246 60E0 ldi r22,lo8(fleds+2)
464 0248 70E0 ldi r23,hi8(fleds+2)
465 024a 8091 0000 lds r24,botChar
466 024e 9091 0000 lds r25,(botChar)+1
467 0252 00D0 rcall spieeprom_read
468 .LM63:
469 0254 80E0 ldi r24,lo8(0)
470 0256 D4DE rcall clock_scroll
471 .L18:
472 /* epilogue: frame size=0 */
473 0258 FF91 pop r31
474 025a EF91 pop r30
475 025c BF91 pop r27
476 025e AF91 pop r26
477 0260 9F91 pop r25
478 0262 8F91 pop r24
479 0264 7F91 pop r23
480 0266 6F91 pop r22
481 0268 5F91 pop r21
482 026a 4F91 pop r20
483 026c 3F91 pop r19
484 026e 2F91 pop r18
485 0270 0F90 pop __tmp_reg__
486 0272 0FBE out __SREG__,__tmp_reg__
487 0274 0F90 pop __tmp_reg__
488 0276 1F90 pop __zero_reg__
489 0278 1895 reti
490 /* epilogue end (size=17) */
491 /* function __vector_4 size 131 (97) */
492 .LFE4:
494 .global __vector_1
496 __vector_1:
497 .LFB5:
498 .LM64:
499 /* prologue: frame size=0 */
500 027a 1F92 push __zero_reg__
501 027c 0F92 push __tmp_reg__
502 027e 0FB6 in __tmp_reg__,__SREG__
503 0280 0F92 push __tmp_reg__
504 0282 1124 clr __zero_reg__
505 0284 8F93 push r24
506 /* prologue end (size=6) */
507 .L25:
508 .LM65:
509 0286 829B sbis 48-0x20,2
510 0288 FECF rjmp .L25
511 .LM66:
512 028a 8091 0000 lds r24,sensor_timer+1
513 028e 8F3F cpi r24,lo8(-1)
514 0290 29F4 brne .L28
515 .LM67:
516 0292 1092 0000 sts sensor_timer+1,__zero_reg__
517 .LM68:
518 0296 88E0 ldi r24,lo8(8)
519 0298 81BD out 65-0x20,r24
520 .L29:
521 .LM69:
522 029a FFCF rjmp .L29
523 .L28:
524 .LM70:
525 029c 8FEF ldi r24,lo8(-1)
526 029e 8093 0000 sts sensor_timer+1,r24
527 /* epilogue: frame size=0 */
528 02a2 8F91 pop r24
529 02a4 0F90 pop __tmp_reg__
530 02a6 0FBE out __SREG__,__tmp_reg__
531 02a8 0F90 pop __tmp_reg__
532 02aa 1F90 pop __zero_reg__
533 02ac 1895 reti
534 /* epilogue end (size=6) */
535 /* function __vector_1 size 26 (14) */
536 .LFE5:
538 .global __vector_2
540 __vector_2:
541 .LFB6:
542 .LM71:
543 /* prologue: frame size=0 */
544 02ae 1F92 push __zero_reg__
545 02b0 0F92 push __tmp_reg__
546 02b2 0FB6 in __tmp_reg__,__SREG__
547 02b4 0F92 push __tmp_reg__
548 02b6 1124 clr __zero_reg__
549 02b8 0F93 push r16
550 02ba 1F93 push r17
551 02bc 2F93 push r18
552 02be 3F93 push r19
553 02c0 4F93 push r20
554 02c2 5F93 push r21
555 02c4 6F93 push r22
556 02c6 7F93 push r23
557 02c8 8F93 push r24
558 02ca 9F93 push r25
559 02cc AF93 push r26
560 02ce BF93 push r27
561 02d0 EF93 push r30
562 02d2 FF93 push r31
563 /* prologue end (size=19) */
564 .LM72:
565 /* #APP */
566 02d4 A895 wdr
567 .LM73:
568 /* #NOAPP */
569 02d6 8091 0000 lds r24,hall_debounce
570 02da 8530 cpi r24,lo8(5)
571 02dc 08F4 brsh .+2
572 02de C6C0 rjmp .L33
573 .LM74:
574 02e0 1DBC out (76)+1-0x20,__zero_reg__
575 02e2 1CBC out 76-0x20,__zero_reg__
576 .LM75:
577 02e4 8091 0000 lds r24,sensor_timer+1
578 02e8 8823 tst r24
579 02ea 29F0 breq .L35
580 02ec 8091 0000 lds r24,sensor_timer
581 02f0 8430 cpi r24,lo8(4)
582 02f2 08F4 brsh .+2
583 02f4 A9C0 rjmp .L34
584 .L35:
585 .LM76:
586 02f6 8091 0000 lds r24,sensor_timer
587 02fa 8BBD out 75-0x20,r24
588 .LM77:
589 02fc 82B7 in r24,82-0x20
590 02fe 8ABD out 74-0x20,r24
591 .LM78:
592 0300 12BE out 82-0x20,__zero_reg__
593 .LM79:
594 0302 8091 0000 lds r24,dynamicREV
595 0306 8F5F subi r24,lo8(-(1))
596 0308 8093 0000 sts dynamicREV,r24
597 .LM80:
598 030c 20E0 ldi r18,lo8(0)
599 .LM81:
600 030e 8091 0000 lds r24,dynamicREV
601 0312 8A33 cpi r24,lo8(58)
602 0314 B8F0 brlo .L47
603 0316 90E3 ldi r25,lo8(48)
604 .L39:
605 .LM82:
606 0318 E22F mov r30,r18
607 031a FF27 clr r31
608 031c E050 subi r30,lo8(-(dynamicREV))
609 031e F040 sbci r31,hi8(-(dynamicREV))
610 0320 9083 st Z,r25
611 .LM83:
612 0322 2330 cpi r18,lo8(3)
613 0324 41F0 breq .L36
614 .LM84:
615 0326 2F5F subi r18,lo8(-(1))
616 0328 E22F mov r30,r18
617 032a FF27 clr r31
618 032c E050 subi r30,lo8(-(dynamicREV))
619 032e F040 sbci r31,hi8(-(dynamicREV))
620 0330 8081 ld r24,Z
621 0332 8F5F subi r24,lo8(-(1))
622 0334 8083 st Z,r24
623 .L36:
624 0336 E22F mov r30,r18
625 0338 FF27 clr r31
626 033a E050 subi r30,lo8(-(dynamicREV))
627 033c F040 sbci r31,hi8(-(dynamicREV))
628 033e 8081 ld r24,Z
629 0340 8A33 cpi r24,lo8(58)
630 0342 50F7 brsh .L39
631 .L47:
632 .LM85:
633 0344 8091 0000 lds r24,line_timer
634 0348 8031 cpi r24,lo8(16)
635 034a 08F4 brsh .+2
636 034c 70C0 rjmp .L40
637 .LM86:
638 034e 8091 0000 lds r24,line_timer
639 0352 8051 subi r24,lo8(-(-16))
640 0354 8093 0000 sts line_timer,r24
641 .LM87:
642 0358 8091 0000 lds r24,line_shift
643 035c 8F5F subi r24,lo8(-(1))
644 035e 8F70 andi r24,lo8(15)
645 0360 8093 0000 sts line_shift,r24
646 .LM88:
647 0364 0091 0000 lds r16,line_shift
648 0368 0023 tst r16
649 036a 09F0 breq .+2
650 036c 60C0 rjmp .L40
651 .LM89:
652 036e 8091 0000 lds r24,cur_line
653 0372 8E5F subi r24,lo8(-(2))
654 0374 8093 0000 sts cur_line,r24
655 .LM90:
656 0378 8091 0000 lds r24,cur_line
657 037c 8630 cpi r24,lo8(6)
658 037e 10F0 brlo .L42
659 .LM91:
660 0380 0093 0000 sts cur_line,r16
661 .L42:
662 .LBB2:
663 .LM92:
664 0384 8091 0000 lds r24,cur_line
665 0388 E82F mov r30,r24
666 038a FF27 clr r31
667 038c E050 subi r30,lo8(-(lineOffsets))
668 038e F040 sbci r31,hi8(-(lineOffsets))
669 .LBE2:
670 /* #APP */
671 0390 C895 lpm
672 0392 202D mov r18, r0
673
674 .LM93:
675 /* #NOAPP */
676 0394 822F mov r24,r18
677 0396 9927 clr r25
678 0398 8050 subi r24,lo8(-(lines))
679 039a 9040 sbci r25,hi8(-(lines))
680 039c 40E1 ldi r20,lo8(16)
681 039e 50E0 ldi r21,hi8(16)
682 03a0 682F mov r22,r24
683 03a2 792F mov r23,r25
684 03a4 80E0 ldi r24,lo8(topLine)
685 03a6 90E0 ldi r25,hi8(topLine)
686 03a8 00D0 rcall memcpy_P
687 .LM94:
688 03aa 0093 0000 sts dynamicType,r16
689 .LBB3:
690 .LM95:
691 03ae 8091 0000 lds r24,cur_line
692 03b2 E82F mov r30,r24
693 03b4 FF27 clr r31
694 03b6 E050 subi r30,lo8(-(dInfo))
695 03b8 F040 sbci r31,hi8(-(dInfo))
696 .LBE3:
697 /* #APP */
698 03ba C895 lpm
699 03bc 202D mov r18, r0
700
701 .LM96:
702 /* #NOAPP */
703 03be 2223 tst r18
704 03c0 61F0 breq .L43
705 .LM97:
706 03c2 822F mov r24,r18
707 03c4 9927 clr r25
708 03c6 8F70 andi r24,lo8(15)
709 03c8 9070 andi r25,hi8(15)
710 03ca 8050 subi r24,lo8(-(topLine))
711 03cc 9040 sbci r25,hi8(-(topLine))
712 03ce 9093 0000 sts (dynamicPtr)+1,r25
713 03d2 8093 0000 sts dynamicPtr,r24
714 .LM98:
715 03d6 2093 0000 sts dynamicType,r18
716 .L43:
717 .LM99:
718 03da 8091 0000 lds r24,cur_line
719 03de 8F5F subi r24,lo8(-(1))
720 .LBB4:
721 .LM100:
722 03e0 082F mov r16,r24
723 03e2 1127 clr r17
724 03e4 F12F mov r31,r17
725 03e6 E02F mov r30,r16
726 03e8 E050 subi r30,lo8(-(lineOffsets))
727 03ea F040 sbci r31,hi8(-(lineOffsets))
728 .LBE4:
729 /* #APP */
730 03ec C895 lpm
731 03ee 202D mov r18, r0
732
733 .LM101:
734 /* #NOAPP */
735 03f0 822F mov r24,r18
736 03f2 9927 clr r25
737 03f4 8050 subi r24,lo8(-(lines))
738 03f6 9040 sbci r25,hi8(-(lines))
739 03f8 40E1 ldi r20,lo8(16)
740 03fa 50E0 ldi r21,hi8(16)
741 03fc 682F mov r22,r24
742 03fe 792F mov r23,r25
743 0400 80E0 ldi r24,lo8(botLine)
744 0402 90E0 ldi r25,hi8(botLine)
745 0404 00D0 rcall memcpy_P
746 .LBB5:
747 .LM102:
748 0406 0050 subi r16,lo8(-(dInfo))
749 0408 1040 sbci r17,hi8(-(dInfo))
750 040a F12F mov r31,r17
751 040c E02F mov r30,r16
752 /* #APP */
753 040e C895 lpm
754 0410 202D mov r18, r0
755
756 /* #NOAPP */
757 .LBE5:
758 .LM103:
759 0412 2223 tst r18
760 0414 61F0 breq .L40
761 .LM104:
762 0416 822F mov r24,r18
763 0418 9927 clr r25
764 041a 8F70 andi r24,lo8(15)
765 041c 9070 andi r25,hi8(15)
766 041e 8050 subi r24,lo8(-(botLine))
767 0420 9040 sbci r25,hi8(-(botLine))
768 0422 9093 0000 sts (dynamicPtr)+1,r25
769 0426 8093 0000 sts dynamicPtr,r24
770 .LM105:
771 042a 2093 0000 sts dynamicType,r18
772 .L40:
773 .LM106:
774 042e 8FE1 ldi r24,lo8(31)
775 0430 8093 0000 sts charNum,r24
776 .LM107:
777 0434 8FE0 ldi r24,lo8(15)
778 0436 8093 0000 sts pixelNum,r24
779 .LM108:
780 043a 8EB5 in r24,78-0x20
781 043c 8160 ori r24,lo8(1)
782 043e 8EBD out 78-0x20,r24
783 .LM109:
784 0440 89B7 in r24,89-0x20
785 0442 8064 ori r24,lo8(64)
786 0444 89BF out 89-0x20,r24
787 0446 0EC0 rjmp .L45
788 .L34:
789 .LM110:
790 0448 8CEF ldi r24,lo8(-4)
791 044a 89DE rcall set_all
792 .LM111:
793 044c 8EB5 in r24,78-0x20
794 044e 8E7F andi r24,lo8(-2)
795 0450 8EBD out 78-0x20,r24
796 .LM112:
797 0452 80E1 ldi r24,lo8(16)
798 0454 8093 0000 sts line_timer,r24
799 .LM113:
800 0458 8FE0 ldi r24,lo8(15)
801 045a 8093 0000 sts line_shift,r24
802 .LM114:
803 045e 85E0 ldi r24,lo8(5)
804 0460 8093 0000 sts cur_line,r24
805 .L45:
806 .LM115:
807 0464 1092 0000 sts (sensor_timer)+1,__zero_reg__
808 0468 1092 0000 sts sensor_timer,__zero_reg__
809 .L33:
810 .LM116:
811 046c 1092 0000 sts hall_debounce,__zero_reg__
812 /* epilogue: frame size=0 */
813 0470 FF91 pop r31
814 0472 EF91 pop r30
815 0474 BF91 pop r27
816 0476 AF91 pop r26
817 0478 9F91 pop r25
818 047a 8F91 pop r24
819 047c 7F91 pop r23
820 047e 6F91 pop r22
821 0480 5F91 pop r21
822 0482 4F91 pop r20
823 0484 3F91 pop r19
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?