📄 push_box.lst
字号:
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 + -