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

📄 push_box.lst

📁 使用PROTEUS仿真的推箱子游戏,全汇编格式,通过按钮操作,1602显示
💻 LST
📖 第 1 页 / 共 5 页
字号:
06D8 F6         +1   781             MOV @R0,A
06D9 8837       +1   782             MOV MAN_POSITION,R0
06DB 08         +1   783             INC R0
06DC E6         +1   784             MOV A,@R0
06DD 54F0       +1   785             ANL A,#0F0H
06DF C4         +1   786             SWAP A
06E0 F6         +1   787             MOV @R0,A
06E1 D202       +1   788             SETB DISPLAY_FLAG 
06E3            +1   789     NORMAL_KEY2_RET:
06E3 22         +1   790             RET
                +1   791     ;===============================================
                +1   792     ;;向右键子程序
06E4            +1   793     NORMAL_KEY3:
06E4 A205       +1   794             MOV  C,START_GAME_FLAG
06E6 5047       +1   795             JNC  NORMAL_KEY3_RET
                +1   796     
06E8 A837       +1   797             MOV R0,MAN_POSITION
06EA 08         +1   798     GORIGHT:INC  R0
06EB E6         +1   799             MOV  A,@R0
06EC 540F       +1   800             ANL  A,#0FH
06EE B40103     +1   801             CJNE A,#wall_code,R111
06F1 02072F     +1   802             LJMP NORMAL_KEY3_RET  
                +1   803            
06F4 B4032A     +1   804       R111: CJNE A,#box_code,R222
06F7 08         +1   805             INC  R0
06F8 E6         +1   806             MOV  A,@R0
06F9 540F       +1   807             ANL  A,#0FH
06FB B40103     +1   808             CJNE A,#wall_code,R11
06FE 02072F     +1   809             LJMP NORMAL_KEY3_RET  
                +1   810            
0701 B40303     +1   811        R11: CJNE A,#box_code,R12
0704 02072F     +1   812             LJMP NORMAL_KEY3_RET  
                +1   813            
0707 C4         +1   814        R12: SWAP A
0708 4403       +1   815             ORL A,#box_code
070A F6         +1   816             MOV @R0,A
070B 18         +1   817             DEC R0
070C 8837       +1   818             MOV MAN_POSITION,R0
070E E6         +1   819             MOV A,@R0
070F 54F0       +1   820             ANL A,#0F0H
0711 4404       +1   821             ORL A,#man_code
0713 F6         +1   822             MOV @R0,A
0714 18         +1   823             DEC R0
0715 E6         +1   824             MOV A,@R0
0716 54F0       +1   825             ANL A,#0F0H
0718 C4         +1   826             SWAP A
0719 F6         +1   827             MOV @R0,A
                +1   828     
071A D202       +1   829             SETB DISPLAY_FLAG
071C D203       +1   830             SETB CHECK_UPGRADE       
071E 02072F     +1   831             LJMP NORMAL_KEY3_RET   
                +1   832     
0721 C4         +1   833       R222: SWAP A
0722 4404       +1   834             ORL A,#man_code
0724 F6         +1   835             MOV @R0,A
0725 8837       +1   836             MOV MAN_POSITION,R0
0727 18         +1   837             DEC R0
0728 E6         +1   838             MOV A,@R0
0729 54F0       +1   839             ANL A,#0F0H
A51 MACRO ASSEMBLER  PUSH_BOX                                                             12/01/2007 13:29:27 PAGE    16

072B C4         +1   840             SWAP A
072C F6         +1   841             MOV @R0,A
072D D202       +1   842             SETB DISPLAY_FLAG 
072F            +1   843     NORMAL_KEY3_RET:
072F 22         +1   844             RET
                +1   845     ;===============================================
                +1   846     ;;向下键子程序
0730            +1   847     NORMAL_KEY4:
0730 A205       +1   848             MOV  C,START_GAME_FLAG
0732 5058       +1   849             JNC  NORMAL_KEY4_RET
                +1   850             
0734 A837       +1   851             MOV  R0,MAN_POSITION
0736 C3         +1   852     GODOWN: CLR  C
0737 E8         +1   853             MOV  A,R0
0738 2408       +1   854             ADD  A,#08H
073A F8         +1   855             MOV  R0,A
073B E6         +1   856             MOV  A,@R0
073C 540F       +1   857             ANL  A,#0FH
073E B40103     +1   858             CJNE A,#wall_code,D111
0741 02078C     +1   859             LJMP NORMAL_KEY4_RET
                +1   860            
0744 B40333     +1   861       D111: CJNE A,#box_code,D222
0747 E8         +1   862             MOV  A,R0
0748 2408       +1   863             ADD  A,#08H
074A F8         +1   864             MOV  R0,A
074B E6         +1   865             MOV  A,@R0
074C 540F       +1   866             ANL  A,#0FH
074E B40103     +1   867             CJNE A,#wall_code,D11
0751 02078C     +1   868             LJMP NORMAL_KEY4_RET
                +1   869            
0754 B40302     +1   870        D11: CJNE A,#box_code,D12
0757 E18C       +1   871             AJMP NORMAL_KEY4_RET
                +1   872            
0759 C4         +1   873        D12: SWAP A
075A 4403       +1   874             ORL A,#box_code
075C F6         +1   875             MOV @R0,A
075D E8         +1   876             MOV A,R0
075E C3         +1   877             CLR C
075F 9408       +1   878             SUBB A,#08H
0761 F8         +1   879             MOV R0,A
0762 8837       +1   880             MOV MAN_POSITION,R0
0764 E6         +1   881             MOV A,@R0
0765 54F0       +1   882             ANL A,#0F0H
0767 4404       +1   883             ORL A,#man_code
0769 F6         +1   884             MOV @R0,A
076A E8         +1   885             MOV A,R0
076B C3         +1   886             CLR C
076C 9408       +1   887             SUBB A,#08H
076E F8         +1   888             MOV R0,A
076F E6         +1   889             MOV A,@R0
0770 54F0       +1   890             ANL A,#0F0H
0772 C4         +1   891             SWAP A
0773 F6         +1   892             MOV @R0,A
                +1   893     
0774 D202       +1   894             SETB DISPLAY_FLAG
0776 D203       +1   895             SETB CHECK_UPGRADE
0778 E18C       +1   896             AJMP NORMAL_KEY4_RET
                +1   897     
077A C4         +1   898       D222: SWAP A
077B 4404       +1   899             ORL A,#man_code
077D F6         +1   900             MOV @R0,A
077E 8837       +1   901             MOV MAN_POSITION,R0
0780 E8         +1   902             MOV A,R0
0781 C3         +1   903             CLR C
0782 9408       +1   904             SUBB A,#08H
0784 F8         +1   905             MOV R0,A
A51 MACRO ASSEMBLER  PUSH_BOX                                                             12/01/2007 13:29:27 PAGE    17

0785 E6         +1   906             MOV A,@R0
0786 54F0       +1   907             ANL A,#0F0H
0788 C4         +1   908             SWAP A
0789 F6         +1   909             MOV @R0,A
078A D202       +1   910             SETB DISPLAY_FLAG 
078C            +1   911     NORMAL_KEY4_RET:
078C 22         +1   912             RET
                +1   913     ;===============================================
                +1   914     ;enter key
078D            +1   915     NORMAL_KEY5:
078D A204       +1   916             MOV C,ENTER_KEY_FLAG
078F 4006       +1   917             JC NORMAL_KEY5_RET
                +1   918     
0791 D204       +1   919             SETB ENTER_KEY_FLAG
0793 D205       +1   920             SETB START_GAME_FLAG
0795 D201       +1   921             SETB STAGE_UPGRADE
                +1   922     
0797            +1   923     NORMAL_KEY5_RET:
0797 22         +1   924             RET
                +1   925     ;===============================================
                +1   926     ;restart key
0798            +1   927     NORMAL_KEY6:
0798 D201       +1   928             SETB STAGE_UPGRADE
079A            +1   929     NORMAL_KEY6_RET:
079A 22         +1   930             RET
                +1   931     ;===============================================
079B            +1   932     NORMAL_KEY7:
                +1   933     
                +1   934     
079B            +1   935     NORMAL_KEY7_RET:
079B 22         +1   936             RET
                +1   937     ;===============================================
079C            +1   938     NORMAL_KEY8:
                +1   939     
                +1   940     
079C            +1   941     NORMAL_KEY8_RET:
079C 22         +1   942             RET
                +1   943     ;===============================================
079D            +1   944     NORMAL_KEY9:
                +1   945     
079D            +1   946     NORMAL_KEY9_RET:
079D 22         +1   947             RET
                +1   948     ;===============================================
079E            +1   949     NORMAL_KEY10:
                +1   950     
079E            +1   951     NORMAL_KEY10_RET:
079E 22         +1   952             RET
                +1   953     ;===============================================
079F            +1   954     NORMAL_KEY11:
                +1   955     
079F            +1   956     NORMAL_KEY11_RET:
079F 22         +1   957             RET
                +1   958     ;===============================================
07A0            +1   959     NORMAL_KEY12:
                +1   960     
07A0            +1   961     NORMAL_KEY12_RET:
07A0 22         +1   962             RET
                +1   963     ;===============================================
07A1            +1   964     NORMAL_KEY13:
                +1   965     
07A1            +1   966     NORMAL_KEY13_RET:
07A1 22         +1   967             RET
                +1   968     ;===============================================
07A2            +1   969     NORMAL_KEY14:
                +1   970     
07A2            +1   971     NORMAL_KEY14_RET:
A51 MACRO ASSEMBLER  PUSH_BOX                                                             12/01/2007 13:29:27 PAGE    18

07A2 22         +1   972             RET
                +1   973     ;===============================================
07A3            +1   974     NORMAL_KEY15:
                +1   975     
07A3            +1   976     NORMAL_KEY15_RET:
07A3 22         +1   977             RET
                +1   978     ;===============================================
07A4            +1   979     SEG_DATA_TAB:
07A4 3F065B4F   +1   980        DB   03FH,006H,05BH,04FH,066H,06DH,07DH,007H,07FH,06FH
07A8 666D7D07                
07AC 7F6F                    
                     981     
                     982             ;#include <_TG12864B.a51>
                +1   983     ;===========================================================
                +1   984     ;;----初始化子程序---------------------------- 
07AE            +1   985     LCD_INITIAL: 
07AE C2B3       +1   986             CLR   E
07B0 C2B7       +1   987             CLR   RW 
07B2 C2B2       +1   988             CLR   RST 
07B4 1205F6     +1   989             LCALL DELAY40MS
07B7 D2B2       +1   990             SETB  RST 
07B9 753C3F     +1   991             MOV   LCD_DATA,#3FH 
07BC 1208CC     +1   992             LCALL WRITE_INST 
07BF 753CC0     +1   993             MOV   LCD_DATA,#start_line
07C2 1208CC     +1   994             LCALL WRITE_INST 
07C5 22         +1   995             RET 
                +1   996     ;===========================================================
                +1   997     ;;-----显示子程序-------------------
07C6            +1   998     DISPLAY:
07C6 A202       +1   999             MOV   C,DISPLAY_FLAG
07C8 5062       +1  1000             JNC   DISPLAY_RTN
07CA C3         +1  1001             CLR   C
07CB C202       +1  1002             CLR   DISPLAY_FLAG
                +1  1003     
07CD 1205F1     +1  1004             LCALL DISABLE_TIMER1
07D0 C2B5       +1  1005             CLR   CS2
07D2 D2B4       +1  1006             SETB  CS1 
07D4 753CC0     +1  1007             MOV   LCD_DATA,#start_line 
07D7 1208CC     +1  1008             LCALL WRITE_INST
07DA 7880       +1  1009             MOV   R0,#lcd_ram_addr
07DC 753808     +1  1010             MOV   PAGE_INDEX,#8H            ;
07DF 753AB8     +1  1011 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -