📄 well1.lst
字号:
624 ;*********************************************************************************
625
626 PLACECURSOR MACRO OP1,OP2 ;zhi guang biao weizhi
627 ;PUSH AX
Turbo Assembler Version 4.1 04/11/30 17:45:01 Page 12
F:\编程\汇编\汇编作业\拼图游戏\拼图游戏\well1.ASM
628 MOV AH,02H
629 MOV BH,00H
630 MOV DH,OP1
631 MOV DL,OP2
632 ;POP AX
633 INT 10H
634 ENDM
635
636
637 CLEARSCREENH MACRO OP1,OP2,OP3,OP4 ;qingping zuo you
638 PUSHJCQ
639
640 MOV AH,06H
641 MOV AL,00H
642 MOV BH,00H
643 MOV CH,OP1
644 MOV CL,OP2
645 MOV DH,OP3
646 MOV DL,OP4
647 INT 10H
648 POPJCQ
649 ENDM
650
651
652 SUIJI MACRO ADR
653 LOCAL CONTINE
654 CONTINE:
655
656 CALL FAR PTR READ_8
657 ADD AH,AH
658 MOV AL,AH
659 MOV AH,0
660 ;LEA DI,NUMBERS
661 MOV SI,AX
662 CMP NUMBERS1[SI],0
663 JNZ CONTINE
664 LEA DI,ADR
665 MOV NUMBERS1[SI],DI
666 ENDM
667
668 SUIJI2 MACRO ADR
669 LOCAL CONTINE
670
671 CONTINE:
672 CALL FAR PTR READ_15
673 ADD AH,AH
674 MOV AL,AH
675 MOV AH,0
676 ;LEA DI,NUMBERS
677 MOV SI,AX
678 CMP NUMBERS2[SI],0
679 JNZ CONTINE
680 LEA DI,ADR
681 MOV NUMBERS2[SI],DI
682 ENDM
683
684
Turbo Assembler Version 4.1 04/11/30 17:45:01 Page 13
F:\编程\汇编\汇编作业\拼图游戏\拼图游戏\well1.ASM
685
686 PLAY_ALLNUM MACRO ID,HANG,LEI ;输出一个数字
687
688
689 MOV DI, ID
690 MOV DH,HANG
691 MOV DL,LEI
692 CALL FAR PTR DISPLAY_NUMBER
693
694
695
696 ENDM
697
698
699 DISP_STRING_TEXT MACRO ADRESS,HANG,LEI,LEN,SHUXING +
700 ;在某行某列上输出一个字符串
701 PUSH BP
702 PUSH DX
703 PUSH CX
704 PUSH BX
705 PUSH AX
706
707 MOV BP,SEG ADRESS
708 MOV ES,BP
709 MOV BP,OFFSET ADRESS
710 MOV CX,LEN
711 MOV DH,HANG
712 MOV DL,LEI
713 MOV BL,SHUXING
714 MOV AL,1
715 MOV AH,13H
716 INT 10H
717
718 POP AX
719 POP BX
720 POP CX
721 POP DX
722 POP BP
723
724 ENDM
725
726 PUSHJCQ MACRO
727 PUSH AX
728 PUSH BX
729 PUSH CX
730 PUSH DX
731 PUSH DI
732 PUSH SI
733 ENDM
734 POPJCQ MACRO
735 POP SI
736 POP DI
737 POP DX
738 POP CX
739 POP BX
740 POP AX
741 ENDM
Turbo Assembler Version 4.1 04/11/30 17:45:01 Page 14
F:\编程\汇编\汇编作业\拼图游戏\拼图游戏\well1.ASM
742
743
744 0000 STACK1 SEGMENT PARA STACK
745 0000 0400*(??) DB 1024 DUP(?)
746 0400 STACK1 ENDS
747 ;**************************************************************************************
748 ;code代码段,主程序段
749 ;***************************************************************************************
750 0000 CODE SEGMENT
751 ASSUME CS:CODE,DS:DATA
752
753 0000 B8 0000s START: MOV AX,DATA
754 0003 8E D8 MOV DS,AX
755
756 0005 B4 00 MOV AH,0
757 0007 B0 03 MOV AL,3
758 0009 CD 10 INT 10H
759
760 000B B4 01 MOV AH,1
761 000D B5 10 MOV CH,10H
762 000F CD 10 INT 10H
763
764
765 0011 9A 000002ADsr FIRST: CALL FAR PTR CLEAR_SCREEN
766 DISP_STRING_TEXT MADE 0,65,12,01H
1 767 0016 55 PUSH BP
1 768 0017 52 PUSH DX
1 769 0018 51 PUSH CX
1 770 0019 53 PUSH BX
1 771 001A 50 PUSH AX
1 772
1 773 001B BD 0000s MOV BP,SEG MADE
1 774 001E 8E C5 MOV ES,BP
1 775 0020 BD 066Dr MOV BP,OFFSET MADE
1 776 0023 B9 000C MOV CX,12
1 777 0026 B6 00 MOV DH,0
1 778 0028 B2 41 MOV DL,65
1 779 002A B3 01 MOV BL,01H
1 780 002C B0 01 MOV AL,1
1 781 002E B4 13 MOV AH,13H
1 782 0030 CD 10 INT 10H
1 783
1 784 0032 58 POP AX
1 785 0033 5B POP BX
1 786 0034 59 POP CX
1 787 0035 5A POP DX
1 788 0036 5D POP BP
1 789
790 DISP_STRING_TEXT WELL,9,33 13,03H
1 791 0037 55 PUSH BP
1 792 0038 52 PUSH DX
1 793 0039 51 PUSH CX
1 794 003A 53 PUSH BX
1 795 003B 50 PUSH AX
1 796
1 797 003C BD 0000s MOV BP,SEG WELL
1 798 003F 8E C5 MOV ES,BP
Turbo Assembler Version 4.1 04/11/30 17:45:01 Page 15
F:\编程\汇编\汇编作业\拼图游戏\拼图游戏\well1.ASM
1 799 0041 BD 0679r MOV BP,OFFSET WELL
1 800 0044 B9 000D MOV CX,13
1 801 0047 B6 09 MOV DH,9
1 802 0049 B2 21 MOV DL,33
1 803 004B B3 03 MOV BL,03H
1 804 004D B0 01 MOV AL,1
1 805 004F B4 13 MOV AH,13H
1 806 0051 CD 10 INT 10H
1 807
1 808 0053 58 POP AX
1 809 0054 5B POP BX
1 810 0055 59 POP CX
1 811 0056 5A POP DX
1 812 0057 5D POP BP
1 813
814 DISP_STRING_TEXT STR0,11,20,STR1-STR0,03H
1 815 0058 55 PUSH BP
1 816 0059 52 PUSH DX
1 817 005A 51 PUSH CX
1 818 005B 53 PUSH BX
1 819 005C 50 PUSH AX
1 820
1 821 005D BD 0000s MOV BP,SEG STR0
1 822 0060 8E C5 MOV ES,BP
1 823 0062 BD 0688r MOV BP,OFFSET STR0
1 824 0065 B9 0028 MOV CX,STR1-STR0
1 825 0068 B6 0B MOV DH,11
1 826 006A B2 14 MOV DL,20
1 827 006C B3 03 MOV BL,03H
1 828 006E B0 01 MOV AL,1
1 829 0070 B4 13 MOV AH,13H
1 830 0072 CD 10 INT 10H
1 831
1 832 0074 58 POP AX
1 833 0075 5B POP BX
1 834 0076 59 POP CX
1 835 0077 5A POP DX
1 836 0078 5D POP BP
1 837
838 DISP_STRING_TEXT GAM1,13,35,GAM2-GAM1,03H
1 839 0079 55 PUSH BP
1 840 007A 52 PUSH DX
1 841 007B 51 PUSH CX
1 842 007C 53 PUSH BX
1 843 007D 50 PUSH AX
1 844
1 845 007E BD 0000s MOV BP,SEG GAM1
1 846 0081 8E C5 MOV ES,BP
1 847 0083 BD 06C9r MOV BP,OFFSET GAM1
1 848 0086 B9 000B MOV CX,GAM2-GAM1
1 849 0089 B6 0D MOV DH,13
1 850 008B B2 23 MOV DL,35
1 851 008D B3 03 MOV BL,03H
1 852 008F B0 01 MOV AL,1
1 853 0091 B4 13 MOV AH,13H
1 854 0093 CD 10 INT 10H
1 855
Turbo Assembler Version 4.1 04/11/30 17:45:01 Page 16
F:\编程\汇编\汇编作业\拼图游戏\拼图游戏\well1.ASM
1 856 0095 58 POP AX
1 857 0096 5B POP BX
1 858 0097 59 POP CX
1 859 0098 5A POP DX
1 860 0099 5D POP BP
1 861
862 DISP_STRING_TEXT GAM2,15,35,QUI-GAM2,03H
1 863 009A 55 PUSH BP
1 864 009B 52 PUSH DX
1 865 009C 51 PUSH CX
1 866 009D 53 PUSH BX
1 867 009E 50 PUSH AX
1 868
1 869 009F BD 0000s MOV BP,SEG GAM2
1 870 00A2 8E C5 MOV ES,BP
1 871 00A4 BD 06D4r MOV BP,OFFSET GAM2
1 872 00A7 B9 000B MOV CX,QUI-GAM2
1 873 00AA B6 0F MOV DH,15
1 874 00AC B2 23 MOV DL,35
1 875 00AE B3 03 MOV BL,03H
1 876 00B0 B0 01 MOV AL,1
1 877 00B2 B4 13 MOV AH,13H
1 878 00B4 CD 10 INT 10H
1 879
1 880 00B6 58 POP AX
1 881 00B7 5B POP BX
1 882 00B8 59 POP CX
1 883 00B9 5A POP DX
1 884 00BA 5D POP BP
1 885
886 DISP_STRING_TEXT QUI,17,35,XING-QUI,03H
1 887 00BB 55 PUSH BP
1 888 00BC 52 PUSH DX
1 889 00BD 51 PUSH CX
1 890 00BE 53 PUSH BX
1 891 00BF 50 PUSH AX
1 892
1 893 00C0 BD 0000s MOV BP,SEG QUI
1 894 00C3 8E C5 MOV ES,BP
1 895 00C5 BD 06DFr MOV BP,OFFSET QUI
1 896 00C8 B9 0007 MOV CX,XING-QUI
1 897 00CB B6 11 MOV DH,17
1 898 00CD B2 23 MOV DL,35
1 899 00CF B3 03 MOV BL,03H
1 900 00D1 B0 01 MOV AL,1
1 901 00D3 B4 13 MOV AH,13H
1 902 00D5 CD 10 INT 10H
1 903
1 904 00D7 58 POP AX
1 905 00D8 5B POP BX
1 906 00D9 59 POP CX
1 907 00DA 5A POP DX
1 908 00DB 5D POP BP
1 909
910 ; DISP_STRING_TEXT STR1,20,0,25,0EH ;显示首页信息
911
912 00DC GETCHAR:
Turbo Assembler Version 4.1 04/11/30 17:45:01 Page 17
F:\编程\汇编\汇编作业\拼图游戏\拼图游戏\well1.ASM
913
914
915
916 00DC B4 07 MOV AH,07H ;从键盘输入一个字符,不回显
917 00DE CD 21 INT 21H
918
919
920 00E0 3C 71 CMP AL,'q'
921 00E2 74 22 JZ QUIT
922
923 00E4 3C 31 CMP AL,'1'
924 00E6 75 0D JNZ NET ;若选择GAME则清屏,转GAME
925 00E8 9A 000002ADsr CALL FAR PTR CLEAR_SCREEN
926 00ED 9A 00000000sr CALL FAR PTR GAME1
927 00F2 E9 FF1C JMP FIRST
928
929 00F5 3C 32 NET: CMP AL,'2'
930 00F7 75 E3 JNZ GETCHAR
931 00F9 9A 000002ADsr CALL FAR PTR CLEAR_SCREEN
932 00FE 9A 00000000sr CALL FAR PTR GAME2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -