📄 mdesign.ls1
字号:
0053 EF 685 MOV A,R7
0054 5D 686 ANL A,R5
0055 4E 687 ORL A,R6
0056 702C 688 JNZ ?C0017
0058 689 ?C0008:
690 ; &(0==LastPoint[1][0] &&0==LastPoint[1][1])
691 ; &(0==LastPoint[2][0] &&0==LastPoint[2][1])
692 ; &(0==LastPoint[3][0] &&0==LastPoint[3][1])
693 ; ) return;
694 ;
695 ; for(i=0;i<4;i++)
696 ; SOURCE LINE # 57
0058 E4 697 CLR A
0059 F500 F 698 MOV i?242,A
005B 699 ?C0018:
700 ; {
701 ; SOURCE LINE # 58
702 ; DrawRect(LastPoint[i][0],LastPoint[i][1],
703 ; SOURCE LINE # 59
005B E500 F 704 MOV A,i?242
005D 25E0 705 ADD A,ACC
005F 2400 F 706 ADD A,#LOW (LastPoint)
0061 F8 707 MOV R0,A
0062 E6 708 MOV A,@R0
0063 FF 709 MOV R7,A
0064 E500 F 710 MOV A,i?242
0066 25E0 711 ADD A,ACC
0068 2400 F 712 ADD A,#LOW (LastPoint+01H)
006A F8 713 MOV R0,A
006B E6 714 MOV A,@R0
006C FD 715 MOV R5,A
006D EF 716 MOV A,R7
006E 2404 717 ADD A,#04H
A51 MACRO ASSEMBLER MDESIGN 04/12/2008 10:44:53 PAGE 12
0070 FB 718 MOV R3,A
0071 ED 719 MOV A,R5
0072 2404 720 ADD A,#04H
0074 F500 F 721 MOV ?_DrawRect?BYTE+03H,A
0076 C200 F 722 CLR ?_DrawRect?BIT
0078 120000 F 723 LCALL _DrawRect
724 ; LastPoint[i][0]+BLOCKSIZE,
725 ; LastPoint[i][1]+BLOCKSIZE,0);
726 ; }
727 ; SOURCE LINE # 62
007B 0500 F 728 INC i?242
007D E500 F 729 MOV A,i?242
007F C3 730 CLR C
0080 9404 731 SUBB A,#04H
0082 40D7 732 JC ?C0018
733 ; }
734 ; SOURCE LINE # 63
0084 735 ?C0017:
0084 22 736 RET
737 ; END OF ClrLastBlock
738
739 ;
740 ; void DrawCurBlock(void)
741
---- 742 RSEG ?PR?DrawCurBlock?MDESIGN
0000 743 DrawCurBlock:
744 USING 0
745 ; SOURCE LINE # 65
746 ; {
747 ; SOURCE LINE # 66
748 ; UINT8 i,j,r,c,nCount;
749 ; nCount=0;
750 ; SOURCE LINE # 68
0000 E4 751 CLR A
0001 F500 F 752 MOV nCount?347,A
753 ; for(i=0;i<4;i++)
754 ; SOURCE LINE # 69
0003 F500 F 755 MOV i?343,A
0005 756 ?C0021:
757 ; {
758 ; SOURCE LINE # 70
759 ; r=6*(myGame.GameBlock.nFirstBlockRow+i-GAME_FIRST_ROW)+1;
760 ; SOURCE LINE # 71
0005 7800 F 761 MOV R0,#LOW (myGame+02EH)
0007 E6 762 MOV A,@R0
0008 2500 F 763 ADD A,i?343
000A 75F006 764 MOV B,#06H
000D A4 765 MUL AB
000E 24EF 766 ADD A,#0EFH
0010 F500 F 767 MOV r?345,A
768 ; for(j=0;j<4;j++)
769 ; SOURCE LINE # 72
0012 E4 770 CLR A
0013 F500 F 771 MOV j?344,A
0015 772 ?C0024:
773 ; {
774 ; SOURCE LINE # 73
775 ; c=6*(myGame.GameBlock.nFirstBlockCol+j-GAME_FIRST_COL)+2;
776 ; SOURCE LINE # 74
0015 7800 F 777 MOV R0,#LOW (myGame+02DH)
0017 E6 778 MOV A,@R0
0018 C4 779 SWAP A
0019 540F 780 ANL A,#0FH
001B 2500 F 781 ADD A,j?344
001D 75F006 782 MOV B,#06H
0020 A4 783 MUL AB
A51 MACRO ASSEMBLER MDESIGN 04/12/2008 10:44:53 PAGE 13
0021 24F0 784 ADD A,#0F0H
785 ;---- Variable 'c?346' assigned to Register 'R5' ----
0023 FD 786 MOV R5,A
787 ; if((myGame.GameBlock.BlocksInfo>>(i*4+j))&0x0001)
788 ; SOURCE LINE # 75
0024 E500 F 789 MOV A,i?343
0026 25E0 790 ADD A,ACC
0028 25E0 791 ADD A,ACC
002A 2500 F 792 ADD A,j?344
002C FF 793 MOV R7,A
002D 7800 F 794 MOV R0,#LOW (myGame+02FH)
002F E6 795 MOV A,@R0
0030 FE 796 MOV R6,A
0031 08 797 INC R0
0032 E6 798 MOV A,@R0
0033 A807 799 MOV R0,AR7
0035 08 800 INC R0
0036 8005 801 SJMP ?C0108
0038 802 ?C0107:
0038 CE 803 XCH A,R6
0039 C3 804 CLR C
003A 13 805 RRC A
003B CE 806 XCH A,R6
003C 13 807 RRC A
003D 808 ?C0108:
003D D8F9 809 DJNZ R0,?C0107
003F 30E026 810 JNB ACC.0,?C0026
811 ; {
812 ; SOURCE LINE # 76
813 ; LastPoint[nCount][0]=r;
814 ; SOURCE LINE # 77
0042 E500 F 815 MOV A,nCount?347
0044 25E0 816 ADD A,ACC
0046 2400 F 817 ADD A,#LOW (LastPoint)
0048 F8 818 MOV R0,A
0049 A600 F 819 MOV @R0,r?345
820 ; LastPoint[nCount++][1]=c;
821 ; SOURCE LINE # 78
004B AF00 F 822 MOV R7,nCount?347
004D 0500 F 823 INC nCount?347
004F EF 824 MOV A,R7
0050 25E0 825 ADD A,ACC
0052 2400 F 826 ADD A,#LOW (LastPoint+01H)
0054 F8 827 MOV R0,A
0055 A605 828 MOV @R0,AR5
829 ; DrawRect(r,c,r+BLOCKSIZE,c+BLOCKSIZE,1);
830 ; SOURCE LINE # 79
0057 E500 F 831 MOV A,r?345
0059 2404 832 ADD A,#04H
005B FB 833 MOV R3,A
005C ED 834 MOV A,R5
005D 2404 835 ADD A,#04H
005F F500 F 836 MOV ?_DrawRect?BYTE+03H,A
0061 D200 F 837 SETB ?_DrawRect?BIT
0063 AF00 F 838 MOV R7,r?345
0065 120000 F 839 LCALL _DrawRect
840 ; }
841 ; SOURCE LINE # 80
842 ; }
843 ; SOURCE LINE # 81
0068 844 ?C0026:
0068 0500 F 845 INC j?344
006A E500 F 846 MOV A,j?344
006C C3 847 CLR C
006D 9404 848 SUBB A,#04H
006F 40A4 849 JC ?C0024
A51 MACRO ASSEMBLER MDESIGN 04/12/2008 10:44:53 PAGE 14
850 ; }
851 ; SOURCE LINE # 82
0071 852 ?C0023:
0071 0500 F 853 INC i?343
0073 E500 F 854 MOV A,i?343
0075 C3 855 CLR C
0076 9404 856 SUBB A,#04H
0078 408B 857 JC ?C0021
858 ; }
859 ; SOURCE LINE # 83
007A 860 ?C0028:
007A 22 861 RET
862 ; END OF DrawCurBlock
863
864 ;
865 ; void DrawBackGrid(void)
866
---- 867 RSEG ?PR?DrawBackGrid?MDESIGN
0000 868 DrawBackGrid:
869 USING 0
870 ; SOURCE LINE # 85
871 ; {
872 ; SOURCE LINE # 86
873 ; UINT8 i,j,r,c;
874 ; for(i=GAME_FIRST_ROW;i<=GAME_LAST_ROW;i++)
875 ; SOURCE LINE # 88
0000 750003 F 876 MOV i?448,#03H
0003 877 ?C0029:
878 ; {
879 ; SOURCE LINE # 89
880 ; r=6*(i-GAME_FIRST_ROW)+1;
881 ; SOURCE LINE # 90
0003 E500 F 882 MOV A,i?448
0005 75F006 883 MOV B,#06H
0008 A4 884 MUL AB
0009 24EF 885 ADD A,#0EFH
000B F500 F 886 MOV r?450,A
887 ; for(j=GAME_FIRST_COL;j<=GAME_LAST_COL;j++)
888 ; SOURCE LINE # 91
000D 750003 F 889 MOV j?449,#03H
0010 890 ?C0032:
891 ; {
892 ; SOURCE LINE # 92
893 ; c=6*(j-GAME_FIRST_COL)+2;
894 ; SOURCE LINE # 93
0010 E500 F 895 MOV A,j?449
0012 75F006 896 MOV B,#06H
0015 A4 897 MUL AB
0016 24F0 898 ADD A,#0F0H
0018 F500 F 899 MOV c?451,A
900 ; if((myGame.GameGrid.Grid[i]>>j)&0x0001)
901 ; SOURCE LINE # 94
001A E500 F 902 MOV A,i?448
001C 25E0 903 ADD A,ACC
001E 2400 F 904 ADD A,#LOW (myGame)
0020 F9 905 MOV R1,A
0021 E7 906 MOV A,@R1
0022 FE 907 MOV R6,A
0023 09 908 INC R1
0024 E7 909 MOV A,@R1
0025 A800 F 910 MOV R0,j?449
0027 08 911 INC R0
0028 8005 912 SJMP ?C0110
002A 913 ?C0109:
002A CE 914 XCH A,R6
002B C3 915 CLR C
A51 MACRO ASSEMBLER MDESIGN 04/12/2008 10:44:53 PAGE 15
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -