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 + -
显示快捷键?