📄 test.lst
字号:
655 0418 8091 0000 lds r24,NextType
656 041c 8093 0000 sts BlockType,r24
657 0420 0E94 0000 call rand
658 0424 67E0 ldi r22,lo8(7)
659 0426 70E0 ldi r23,hi8(7)
660 0428 0E94 0000 call __divmodhi4
661 042c 282F mov r18,r24
662 042e 8093 0000 sts NextType,r24
663 0432 3327 clr r19
664 0434 2330 cpi r18,3
665 0436 3105 cpc r19,__zero_reg__
666 0438 49F1 breq .L122
667 043a 2430 cpi r18,4
668 043c 3105 cpc r19,__zero_reg__
669 043e DCF4 brge .L126
670 0440 2130 cpi r18,1
671 0442 3105 cpc r19,__zero_reg__
672 0444 09F4 brne .+2
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cccXaaaa.s page 13
673 0446 5AC0 rjmp .L120
674 0448 2230 cpi r18,2
675 044a 3105 cpc r19,__zero_reg__
676 044c 0CF4 brge .+2
677 044e 40C0 rjmp .L136
678 0450 1092 0000 sts NextBlock,__zero_reg__
679 0454 1092 0000 sts NextBlock+2,__zero_reg__
680 0458 8FEF ldi r24,lo8(-1)
681 045a 8093 0000 sts NextBlock+4,r24
682 045e 81E0 ldi r24,lo8(1)
683 0460 8093 0000 sts NextBlock+6,r24
684 0464 1092 0000 sts NextBlock+1,__zero_reg__
685 0468 8093 0000 sts NextBlock+3,r24
686 .L132:
687 046c 8093 0000 sts NextBlock+5,r24
688 .L133:
689 0470 1092 0000 sts NextBlock+7,__zero_reg__
690 0474 0895 ret
691 .L126:
692 0476 2530 cpi r18,5
693 0478 3105 cpc r19,__zero_reg__
694 047a 69F1 breq .L124
695 047c 2530 cpi r18,5
696 047e 3105 cpc r19,__zero_reg__
697 0480 C4F0 brlt .L123
698 0482 2630 cpi r18,6
699 0484 3105 cpc r19,__zero_reg__
700 0486 09F4 brne .+2
701 0488 4EC0 rjmp .L125
702 048a 0895 ret
703 .L122:
704 048c 1092 0000 sts NextBlock,__zero_reg__
705 0490 8FEF ldi r24,lo8(-1)
706 0492 8093 0000 sts NextBlock+2,r24
707 0496 1092 0000 sts NextBlock+4,__zero_reg__
708 049a 81E0 ldi r24,lo8(1)
709 049c 8093 0000 sts NextBlock+6,r24
710 .L135:
711 04a0 1092 0000 sts NextBlock+1,__zero_reg__
712 04a4 1092 0000 sts NextBlock+3,__zero_reg__
713 04a8 8093 0000 sts NextBlock+5,r24
714 04ac 8093 0000 sts NextBlock+7,r24
715 04b0 0895 ret
716 .L123:
717 04b2 1092 0000 sts NextBlock,__zero_reg__
718 04b6 8FEF ldi r24,lo8(-1)
719 04b8 8093 0000 sts NextBlock+2,r24
720 04bc 8093 0000 sts NextBlock+4,r24
721 04c0 81E0 ldi r24,lo8(1)
722 04c2 8093 0000 sts NextBlock+6,r24
723 04c6 1092 0000 sts NextBlock+1,__zero_reg__
724 04ca 1092 0000 sts NextBlock+3,__zero_reg__
725 04ce CECF rjmp .L132
726 .L136:
727 04d0 232B or r18,r19
728 04d2 F9F0 breq .L119
729 04d4 0895 ret
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cccXaaaa.s page 14
730 .L124:
731 04d6 1092 0000 sts NextBlock,__zero_reg__
732 04da 8FEF ldi r24,lo8(-1)
733 04dc 8093 0000 sts NextBlock+2,r24
734 04e0 81E0 ldi r24,lo8(1)
735 04e2 8093 0000 sts NextBlock+4,r24
736 04e6 8093 0000 sts NextBlock+6,r24
737 .L134:
738 04ea 1092 0000 sts NextBlock+1,__zero_reg__
739 04ee 1092 0000 sts NextBlock+3,__zero_reg__
740 04f2 1092 0000 sts NextBlock+5,__zero_reg__
741 04f6 8093 0000 sts NextBlock+7,r24
742 04fa 0895 ret
743 .L120:
744 04fc 1092 0000 sts NextBlock,__zero_reg__
745 0500 8FEF ldi r24,lo8(-1)
746 0502 8093 0000 sts NextBlock+2,r24
747 0506 81E0 ldi r24,lo8(1)
748 0508 8093 0000 sts NextBlock+4,r24
749 050c 1092 0000 sts NextBlock+6,__zero_reg__
750 0510 ECCF rjmp .L134
751 .L119:
752 0512 1092 0000 sts NextBlock,__zero_reg__
753 0516 81E0 ldi r24,lo8(1)
754 0518 8093 0000 sts NextBlock+2,r24
755 051c 8093 0000 sts NextBlock+4,r24
756 0520 1092 0000 sts NextBlock+6,__zero_reg__
757 0524 BDCF rjmp .L135
758 .L125:
759 0526 1092 0000 sts NextBlock,__zero_reg__
760 052a 8FEF ldi r24,lo8(-1)
761 052c 8093 0000 sts NextBlock+2,r24
762 0530 8EEF ldi r24,lo8(-2)
763 0532 8093 0000 sts NextBlock+4,r24
764 0536 81E0 ldi r24,lo8(1)
765 0538 8093 0000 sts NextBlock+6,r24
766 053c 1092 0000 sts NextBlock+1,__zero_reg__
767 0540 1092 0000 sts NextBlock+3,__zero_reg__
768 0544 1092 0000 sts NextBlock+5,__zero_reg__
769 0548 93CF rjmp .L133
770 /* epilogue: frame size=0 */
771 /* epilogue: noreturn */
772 /* epilogue end (size=0) */
773 /* function CreBlock size 173 (173) */
774 .size CreBlock, .-CreBlock
775 .global DispBlock
776 .type DispBlock, @function
777 DispBlock:
778 /* prologue: frame size=8 */
779 054a EF92 push r14
780 054c FF92 push r15
781 054e 0F93 push r16
782 0550 1F93 push r17
783 0552 CF93 push r28
784 0554 DF93 push r29
785 0556 CDB7 in r28,__SP_L__
786 0558 DEB7 in r29,__SP_H__
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cccXaaaa.s page 15
787 055a 2897 sbiw r28,8
788 055c 0FB6 in __tmp_reg__,__SREG__
789 055e F894 cli
790 0560 DEBF out __SP_H__,r29
791 0562 0FBE out __SREG__,__tmp_reg__
792 0564 CDBF out __SP_L__,r28
793 /* prologue end (size=14) */
794 0566 982F mov r25,r24
795 0568 162F mov r17,r22
796 056a 042F mov r16,r20
797 056c 2230 cpi r18,lo8(2)
798 056e D9F0 breq .L146
799 0570 1886 std Y+8,__zero_reg__
800 0572 1982 std Y+1,__zero_reg__
801 0574 1F82 std Y+7,__zero_reg__
802 0576 1A82 std Y+2,__zero_reg__
803 0578 1E82 std Y+6,__zero_reg__
804 057a 1B82 std Y+3,__zero_reg__
805 057c 1D82 std Y+5,__zero_reg__
806 057e 1C82 std Y+4,__zero_reg__
807 .L139:
808 0580 110F lsl r17
809 0582 110F lsl r17
810 0584 110F lsl r17
811 0586 9854 subi r25,lo8(-(-72))
812 0588 692F mov r22,r25
813 058a 802F mov r24,r16
814 058c 0E94 0000 call WriteInstruct
815 0590 105C subi r17,lo8(-(64))
816 0592 612F mov r22,r17
817 0594 802F mov r24,r16
818 0596 0E94 0000 call WriteInstruct
819 059a 7E01 movw r14,r28
820 059c 0894 sec
821 059e E11C adc r14,__zero_reg__
822 05a0 F11C adc r15,__zero_reg__
823 05a2 17E0 ldi r17,lo8(7)
824 05a4 0CC0 rjmp .L143
825 .L146:
826 05a6 8FEF ldi r24,lo8(-1)
827 05a8 8887 std Y+8,r24
828 05aa 8983 std Y+1,r24
829 05ac 81E8 ldi r24,lo8(-127)
830 05ae 8F83 std Y+7,r24
831 05b0 8A83 std Y+2,r24
832 05b2 8E83 std Y+6,r24
833 05b4 8B83 std Y+3,r24
834 05b6 89E9 ldi r24,lo8(-103)
835 05b8 8D83 std Y+5,r24
836 05ba 8C83 std Y+4,r24
837 05bc E1CF rjmp .L139
838 .L143:
839 05be F701 movw r30,r14
840 05c0 6191 ld r22,Z+
841 05c2 7F01 movw r14,r30
842 05c4 802F mov r24,r16
843 05c6 0E94 0000 call WriteData
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cccXaaaa.s page 16
844 05ca 1150 subi r17,lo8(-(-1))
845 05cc 17FF sbrs r17,7
846 05ce F7CF rjmp .L143
847 /* epilogue: frame size=8 */
848 05d0 2896 adiw r28,8
849 05d2 0FB6 in __tmp_reg__,__SREG__
850 05d4 F894 cli
851 05d6 DEBF out __SP_H__,r29
852 05d8 0FBE out __SREG__,__tmp_reg__
853 05da CDBF out __SP_L__,r28
854 05dc DF91 pop r29
855 05de CF91 pop r28
856 05e0 1F91 pop r17
857 05e2 0F91 pop r16
858 05e4 FF90 pop r15
859 05e6 EF90 pop r14
860 05e8 0895 ret
861 /* epilogue end (size=13) */
862 /* function DispBlock size 80 (53) */
863 .size DispBlock, .-DispBlock
864 .global DrawBlock
865 .type DrawBlock, @function
866 DrawBlock:
867 /* prologue: frame size=1 */
868 05ea 0F93 push r16
869 05ec 1F93 push r17
870 05ee CF93 push r28
871 05f0 DF93 push r29
872 05f2 CDB7 in r28,__SP_L__
873 05f4 DEB7 in r29,__SP_H__
874 05f6 2197 sbiw r28,1
875 05f8 0FB6 in __tmp_reg__,__SREG__
876 05fa F894 cli
877 05fc DEBF out __SP_H__,r29
878 05fe 0FBE out __SREG__,__tmp_reg__
879 0600 CDBF out __SP_L__,r28
880 /* prologue end (size=12) */
881 0602 082F mov r16,r24
882 0604 162F mov r17,r22
883 0606 6131 cpi r22,lo8(17)
884 0608 34F5 brge .L147
885 060a AE01 movw r20,r28
886 060c 4F5F subi r20,lo8(-(1))
887 060e 5F4F sbci r21,hi8(-(1))
888 0610 60E0 ldi r22,lo8(0)
889 0612 70E0 ldi r23,hi8(0)
890 0614 8091 0000 lds r24,DrawBlockSem
891 0618 9091 0000 lds r25,(DrawBlockSem)+1
892 061c 0E94 0000 call OSSemPend
893 0620 802F mov r24,r16
894 0622 8150 subi r24,lo8(-(-1))
895 0624 8830 cpi r24,lo8(8)
896 0626 50F4 brsh .L149
897 0628 612F mov r22,r17
898 062a 6150 subi r22,lo8(-(-1))
899 062c 6131 cpi r22,lo8(17)
900 062e 30F4 brsh .L149
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cccXaaaa.s page 17
901 0630 6830 cpi r22,lo8(8)
902 0632 5CF4 brge .L151
903 0634 22E0 ldi r18,lo8(2)
904 0636 40E3 ldi r20,lo8(48)
905 0638 0E94 0000 call DispBlock
906 .L149:
907 063c 8091 0000 lds r24,DrawBlockSem
908 0640 9091 0000 lds r25,(DrawBlockSem)+1
909 0644 0E94 0000 call OSSemPost
910 0648 06C0 rjmp .L147
911 .L151:
912 064a 6850 subi r22,lo8(-(-8))
913 064c 22E0 ldi r18,lo8(2)
914 064e 41E3 ldi r20,lo8(49)
915 0650 0E94 0000 call DispBlock
916 0654 F3CF rjmp .L149
917 .L147:
918 /* epilogue: frame size=1 */
919 0656 2196 adiw r28,1
920 0658 0FB6 in __tmp_reg__,__SREG__
921 065a F894 cli
922 065c DEBF out __SP_H__,r29
923 065e 0FBE out __SREG__,__tmp_reg__
924 0660 CDBF out __SP_L__,r28
925 0662 DF91 pop r29
926 0664 CF91 pop r28
927 0666 1F91 pop r17
928 0668 0F91 pop r16
929 066a 0895 ret
930 /* epilogue end (size=11) */
931 /* function DrawBlock size 65 (42) */
932 .size DrawBlock, .-DrawBlock
933 .global FirstDraw
934 .type FirstDraw, @function
935 FirstDraw:
936 /* prologue: frame size=0 */
937 066c 1F93 push r17
938 066e CF93 push r28
939 0670 DF93 push r29
940 /* prologue end (size=3) */
941 0672 84E0 ldi r24,lo8(4)
942 0674 8093 0000 sts NewBlock,r24
943 0678 80E1 ldi r24,lo8(16)
944 067a 8093 0000 sts NewBlock+1,r24
945 067e 10E0 ldi r17,lo8(0)
946 .L162:
947 0680 812F mov r24,r17
948 0682 9927 clr r25
949 0684 EC01 movw r28,r24
950 0686 C050 subi r28,lo8(-(NewBlock))
951 0688 D040 sbci r29,hi8(-(NewBlock))
952 068a 22E0 ldi r18,lo8(2)
953 068c DE01 movw r26,r28
954 068e 1296 adiw r26,2
955 0690 FC01 movw r30,r24
956 0692 E050 subi r30,lo8(-(BlockCode+2))
957 0694 F040 sbci r31,hi8(-(BlockCode+2))
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cccXaaaa.s page 18
958 .L161:
959 0696 8881 ld r24,Y
960 0698 9081 ld r25,Z
961 069a 3296 adiw r30,2
962 069c 890F add r24,r25
963 069e 8C93 st X,r24
964 06a0 1296 adiw r26,2
965 06a2 2150 subi r18,lo8(-(-1))
966 06a4 27FF sbrs r18,7
967 06a6 F7CF rjmp .L161
968 06a8 1F5F subi r17,lo8(-(1))
969 06aa 1230 cpi r17,lo8(2)
970 06ac 48F3 brlo .L162
971 06ae 0E94 0000 call BlockCopy
972 06b2 13E0 ldi r17,lo8(3)
973 06b4 C0E0 ldi r28,lo8(NewBlock)
974 06b6 D0E0 ldi r29,hi8(NewBlock)
975 06b8 6981 ldd r22,Y+1
976 06ba 6131 cpi r22,lo8(17)
977 06bc 38F4 brsh .L165
978 06be 03C0 rjmp .L175
979 .L174:
980 06c0 6981 ldd r22,Y+1
981 06c2 6131 cpi r22,lo8(17)
982 06c4 18F4 brsh .L165
983 .L175:
984 06c6 8881 ld r24,Y
985 06c8 0E94 0000 call DrawBlock
986 .L165:
987 06cc 1150 subi r17,lo8(-(-1))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -