main.lst
来自「旋转16个LED灯控制程序」· LST 代码 · 共 944 行 · 第 1/3 页
LST
944 行
663 /* #NOAPP */
664 02d8 8091 0000 lds r24,hall_debounce
665 02dc 8530 cpi r24,lo8(5)
666 02de 08F4 brsh .+2
667 02e0 73C0 rjmp .L107
668 .LM55:
669 02e2 1DBC out (76)+1-0x20,__zero_reg__
670 02e4 1CBC out 76-0x20,__zero_reg__
671 .LM56:
672 02e6 8091 0000 lds r24,sensor_timer+1
673 02ea 8823 tst r24
674 02ec 29F0 breq .L109
675 02ee 8091 0000 lds r24,sensor_timer
676 02f2 8430 cpi r24,lo8(4)
677 02f4 08F4 brsh .+2
678 02f6 56C0 rjmp .L108
679 .L109:
680 .LM57:
681 02f8 8091 0000 lds r24,sensor_timer
682 02fc 8BBD out 75-0x20,r24
683 .LM58:
684 02fe 82B7 in r24,82-0x20
685 0300 8ABD out 74-0x20,r24
686 .LM59:
687 0302 12BE out 82-0x20,__zero_reg__
688 .LM60:
689 0304 8091 0000 lds r24,line_timer
690 0308 8031 cpi r24,lo8(16)
691 030a D0F0 brlo .L110
692 .LM61:
693 030c 8091 0000 lds r24,line_timer
694 0310 8051 subi r24,lo8(-(-16))
695 0312 8093 0000 sts line_timer,r24
696 .LM62:
697 0316 8091 0000 lds r24,line_shift
698 031a 8F5F subi r24,lo8(-(1))
699 031c 8F70 andi r24,lo8(15)
700 031e 8093 0000 sts line_shift,r24
701 .LM63:
702 0322 9091 0000 lds r25,line_shift
703 0326 9923 tst r25
704 0328 59F4 brne .L110
705 .LM64:
706 032a 8091 0000 lds r24,cur_line
707 032e 8F5F subi r24,lo8(-(1))
708 0330 8093 0000 sts cur_line,r24
709 .LM65:
710 0334 8091 0000 lds r24,cur_line
711 0338 8431 cpi r24,lo8(20)
712 033a 10F0 brlo .L110
713 .LM66:
714 033c 9093 0000 sts cur_line,r25
715 .L110:
716 .LBB3:
717 .LM67:
718 0340 8091 0000 lds r24,cur_line
719 0344 E82F mov r30,r24
720 0346 FF27 clr r31
721 0348 E050 subi r30,lo8(-(lines))
722 034a F040 sbci r31,hi8(-(lines))
723 /* #APP */
724 034c C895 lpm
725 034e 802D mov r24, r0
726
727 /* #NOAPP */
728 .LBE3:
729 0350 8093 0000 sts cur_code,r24
730 .LM68:
731 0354 8091 0000 lds r24,cur_code
732 0358 87FD sbrc r24,7
733 035a 0DC0 rjmp .L113
734 .LM69:
735 035c 8091 0000 lds r24,cur_code
736 0360 9927 clr r25
737 0362 8050 subi r24,lo8(-(patterns))
738 0364 9040 sbci r25,hi8(-(patterns))
739 0366 46E0 ldi r20,lo8(6)
740 0368 50E0 ldi r21,hi8(6)
741 036a 682F mov r22,r24
742 036c 792F mov r23,r25
743 036e 80E0 ldi r24,lo8(cPattern)
744 0370 90E0 ldi r25,hi8(cPattern)
745 0372 00D0 rcall memcpy_P
746 0374 0DC0 rjmp .L114
747 .L113:
748 .LM70:
749 0376 8091 0000 lds r24,cur_code
750 037a 803F cpi r24,lo8(-16)
751 037c 48F0 brlo .L114
752 .LM71:
753 037e 8091 0000 lds r24,cur_code
754 0382 8F70 andi r24,lo8(15)
755 0384 8360 ori r24,lo8(3)
756 0386 8093 0000 sts eeprom_addr+1,r24
757 .LM72:
758 038a 8CEF ldi r24,lo8(-4)
759 038c 8093 0000 sts eeprom_addr,r24
760 .L114:
761 .LM73:
762 0390 8FEF ldi r24,lo8(-1)
763 0392 8093 0000 sts pixelNum,r24
764 .LM74:
765 0396 8EB5 in r24,78-0x20
766 0398 8160 ori r24,lo8(1)
767 039a 8EBD out 78-0x20,r24
768 .LM75:
769 039c 89B7 in r24,89-0x20
770 039e 8064 ori r24,lo8(64)
771 03a0 89BF out 89-0x20,r24
772 03a2 0EC0 rjmp .L116
773 .L108:
774 .LM76:
775 03a4 80EF ldi r24,lo8(-16)
776 03a6 8CDE rcall set_all
777 .LM77:
778 03a8 8EB5 in r24,78-0x20
779 03aa 8E7F andi r24,lo8(-2)
780 03ac 8EBD out 78-0x20,r24
781 .LM78:
782 03ae 80E1 ldi r24,lo8(16)
783 03b0 8093 0000 sts line_timer,r24
784 .LM79:
785 03b4 8FE0 ldi r24,lo8(15)
786 03b6 8093 0000 sts line_shift,r24
787 .LM80:
788 03ba 83E1 ldi r24,lo8(19)
789 03bc 8093 0000 sts cur_line,r24
790 .L116:
791 .LM81:
792 03c0 1092 0000 sts (sensor_timer)+1,__zero_reg__
793 03c4 1092 0000 sts sensor_timer,__zero_reg__
794 .L107:
795 .LM82:
796 03c8 1092 0000 sts hall_debounce,__zero_reg__
797 /* epilogue: frame size=0 */
798 03cc FF91 pop r31
799 03ce EF91 pop r30
800 03d0 BF91 pop r27
801 03d2 AF91 pop r26
802 03d4 9F91 pop r25
803 03d6 8F91 pop r24
804 03d8 7F91 pop r23
805 03da 6F91 pop r22
806 03dc 5F91 pop r21
807 03de 4F91 pop r20
808 03e0 3F91 pop r19
809 03e2 2F91 pop r18
810 03e4 0F90 pop __tmp_reg__
811 03e6 0FBE out __SREG__,__tmp_reg__
812 03e8 0F90 pop __tmp_reg__
813 03ea 1F90 pop __zero_reg__
814 03ec 1895 reti
815 /* epilogue end (size=17) */
816 /* function __vector_2 size 162 (128) */
817 .LFE7:
819 .global ioinit
821 ioinit:
822 .LFB8:
823 .LM83:
824 /* prologue: frame size=0 */
825 /* prologue end (size=0) */
826 .LM84:
827 03ee 83E7 ldi r24,lo8(115)
828 03f0 81BB out 49-0x20,r24
829 .LM85:
830 03f2 8FED ldi r24,lo8(-33)
831 03f4 87BB out 55-0x20,r24
832 .LM86:
833 03f6 80E1 ldi r24,lo8(16)
834 03f8 88BB out 56-0x20,r24
835 .LM87:
836 03fa 8CE4 ldi r24,lo8(76)
837 03fc 82BB out 50-0x20,r24
838 .LM88:
839 03fe 98E0 ldi r25,lo8(8)
840 0400 95BF out 85-0x20,r25
841 .LM89:
842 0402 80EC ldi r24,lo8(-64)
843 0404 8BBF out 91-0x20,r24
844 .LM90:
845 0406 10BE out 80-0x20,__zero_reg__
846 .LM91:
847 0408 84E0 ldi r24,lo8(4)
848 040a 83BF out 83-0x20,r24
849 .LM92:
850 040c 89B7 in r24,89-0x20
851 040e 8260 ori r24,lo8(2)
852 0410 89BF out 89-0x20,r24
853 .LM93:
854 0412 1FBC out 79-0x20,__zero_reg__
855 .LM94:
856 0414 9EBD out 78-0x20,r25
857 .LM95:
858 0416 1092 0000 sts hall_debounce,__zero_reg__
859 .LM96:
860 041a 1092 0000 sts (sensor_timer)+1,__zero_reg__
861 041e 1092 0000 sts sensor_timer,__zero_reg__
862 /* epilogue: frame size=0 */
863 0422 0895 ret
864 /* epilogue end (size=1) */
865 /* function ioinit size 27 (26) */
866 .LFE8:
868 .global main
870 main:
871 .LFB9:
872 .LM97:
873 /* prologue: frame size=0 */
874 0424 C0E0 ldi r28,lo8(__stack - 0)
875 0426 D0E0 ldi r29,hi8(__stack - 0)
876 0428 DEBF out __SP_H__,r29
877 042a CDBF out __SP_L__,r28
878 /* prologue end (size=4) */
879 .LM98:
880 042c 84B7 in r24,84-0x20
881 .LM99:
882 042e 14BE out 84-0x20,__zero_reg__
883 .LM100:
884 0430 8EE0 ldi r24,lo8(14)
885 0432 81BD out 65-0x20,r24
886 .LM101:
887 0434 DCDF rcall ioinit
888 .LM102:
889 0436 8EEF ldi r24,lo8(-2)
890 0438 43DE rcall set_all
891 .LM103:
892 /* #APP */
893 043a 7894 sei
894 /* #NOAPP */
895 .L126:
896 .LM104:
897 /* #APP */
898 043c A895 wdr
899 .LM105:
900 /* #NOAPP */
901 043e 8091 0000 lds r24,sensor_timer+1
902 0442 8F3F cpi r24,lo8(-1)
903 0444 71F4 brne .L121
904 .LM106:
905 /* #APP */
906 0446 F894 cli
907 .LM107:
908 /* #NOAPP */
909 0448 3BDE rcall set_all
910 .LM108:
911 044a 9698 cbi 50-0x20,6
912 .LM109:
913 044c C49A sbi 56-0x20,4
914 .LM110:
915 044e 81B5 in r24,65-0x20
916 0450 8861 ori r24,lo8(24)
917 0452 81BD out 65-0x20,r24
918 .LM111:
919 0454 11BC out 65-0x20,__zero_reg__
920 .LM112:
921 0456 85B7 in r24,85-0x20
922 0458 8067 ori r24,lo8(112)
923 045a 85BF out 85-0x20,r24
924 .LM113:
925 /* #APP */
926 045c 7894 sei
927 .LM114:
928 045e 8895 sleep
929 /* #NOAPP */
930 0460 EDCF rjmp .L126
931 .L121:
932 .LM115:
933 /* #APP */
934 0462 7894 sei
935 .LM116:
936 /* #NOAPP */
937 0464 EBCF rjmp .L126
938 /* epilogue: frame size=0 */
939 /* epilogue: noreturn */
940 /* epilogue end (size=0) */
941 /* function main size 39 (35) */
942 .LFE9:
944 .comm cPattern,6,1
945 .comm hall_debounce,1,1
946 .comm sensor_timer,2,1
947 .comm eeprom_addr,2,1
948 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 main.c
D:\DOCUME~1\Robert\LOCALS~1\Temp/cc0Aaaaa.s:3 *ABS*:0000003f __SREG__
D:\DOCUME~1\Robert\LOCALS~1\Temp/cc0Aaaaa.s:4 *ABS*:0000003e __SP_H__
D:\DOCUME~1\Robert\LOCALS~1\Temp/cc0Aaaaa.s:5 *ABS*:0000003d __SP_L__
D:\DOCUME~1\Robert\LOCALS~1\Temp/cc0Aaaaa.s:6 *ABS*:00000000 __tmp_reg__
D:\DOCUME~1\Robert\LOCALS~1\Temp/cc0Aaaaa.s:7 *ABS*:00000001 __zero_reg__
D:\DOCUME~1\Robert\LOCALS~1\Temp/cc0Aaaaa.s:22 .data:00000000 pixelNum
D:\DOCUME~1\Robert\LOCALS~1\Temp/cc0Aaaaa.s:27 .data:00000001 cur_code
D:\DOCUME~1\Robert\LOCALS~1\Temp/cc0Aaaaa.s:32 .data:00000002 line_shift
D:\DOCUME~1\Robert\LOCALS~1\Temp/cc0Aaaaa.s:37 .data:00000003 cur_line
D:\DOCUME~1\Robert\LOCALS~1\Temp/cc0Aaaaa.s:42 .data:00000004 line_timer
D:\DOCUME~1\Robert\LOCALS~1\Temp/cc0Aaaaa.s:48 .progmem.data:00000000 patterns
D:\DOCUME~1\Robert\LOCALS~1\Temp/cc0Aaaaa.s:148 .progmem.data:00000060 lines
D:\DOCUME~1\Robert\LOCALS~1\Temp/cc0Aaaaa.s:172 .text:00000000 clock_scroll
*COM*:00000006 cPattern
D:\DOCUME~1\Robert\LOCALS~1\Temp/cc0Aaaaa.s:305 .text:000000c0 set_all
D:\DOCUME~1\Robert\LOCALS~1\Temp/cc0Aaaaa.s:379 .text:00000118 __vector_6
*COM*:00000001 hall_debounce
*COM*:00000002 sensor_timer
D:\DOCUME~1\Robert\LOCALS~1\Temp/cc0Aaaaa.s:429 .text:0000016a __vector_4
*COM*:00000002 eeprom_addr
D:\DOCUME~1\Robert\LOCALS~1\Temp/cc0Aaaaa.s:593 .text:00000280 __vector_1
D:\DOCUME~1\Robert\LOCALS~1\Temp/cc0Aaaaa.s:637 .text:000002b4 __vector_2
D:\DOCUME~1\Robert\LOCALS~1\Temp/cc0Aaaaa.s:821 .text:000003ee ioinit
D:\DOCUME~1\Robert\LOCALS~1\Temp/cc0Aaaaa.s:870 .text:00000424 main
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
memcpy_P
__stack
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?