⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mdesign.ls1

📁 单片机版俄罗斯方块游戏
💻 LS1
📖 第 1 页 / 共 5 页
字号:
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 + -