汇编决赛

来源:互联网 发布:akg k374u 知乎 编辑:程序博客网 时间:2024/04/29 00:00

;-------------------------数据段的定义----------------------------------   DATA_SEG    SEGMENTSCHOOL DB 'the school life$'ITEM   DB '1: STORY START$'ITEM1  DB '2: EXIT$'HELP   DB 'PLEASE INPUT 1 TO START THE STORY,INPUT 2 TO QUIT$'         STORY  DB 'sO, ONE DAY, LIU JOYFULLY TO 1 EXPERIMENT UPSTAIRS ',0AH,0DH                    ;故事情节描述        DB  0AH,0DH,'          SELF-STUDY,THE WEATHER WAS VERY COLD, EATING SWEET ',0AH,0DH       DB  0AH,0DH,'          POTATO, WHILE HAPPY WITH sHUwENjING JUST COME BACK'  ,0AH,0DH         DB  0AH,0DH,'          FROM TEACHING BUILDING, TWO PEOPLE MEET BY  CHANCE,' ,0AH,0DH       DB  0AH,0DH,'          AFTER OPEN THE FOLLOW-UP STORY...$' LIU1   DB  'HELLO,SHUWENJING,HOW ARE YOU?$'                                                ;两个人的对话内容SHU1   DB  'i AM FINE THANK YOU,i HEARED$' SHU2       DB  'THAT YOU PARCIPICATED THE asm COMPETE?$'LIU2   DB  'yES,i HAVE ACCOMPLISHED THE $'    LIU3       DB    'PROGRAM,i WILL DISPLAY IT.$'SHU3   DB  'ok,LET US SEE.$'SHU4   DB  'oh,THAT IS GREAT,YOU ARE SO CLEVER.$'LIU4   DB  'THANK YOU,dO NOT MODEST,i CONSIDER$ 'LIU5       DB         'YOUR PROGRAM MAKES BETTER THAN ME.$'SHU5   DB  'mY PROGRAM IS A MUSIC,LET US SEE.$' KO     DB  40 DUP(' '),'$'MUS_FREQ DW 330,330,349,392,392,349,330,294,262,262,294,330,330,294,294                       ;歌曲的曲谱音符对应的频率         DW 330,330,349,392,392,349,330,294,262,262,294,330,294,262,262         DW 292,294,330,262,294,330,349,330,262,294,330,349,330,262,262,294,196,330         DW 330,330,349,392,392,349,330,294,294,262,262,294,330,294,262,262          DW 330,330,349,392,392,349,330,294,262,262,294,330,330,294,294         DW 330,330,349,392,392,349,330,294,262,262,294,330,294,262,262         DW 292,294,330,262,294,330,349,330,262,294,330,349,330,262,262,294,196,330         DW 330,330,349,392,392,349,330,294,294,262,262,294,330,294,262,262         DW 330,330,349,392,392,349,330,294,262,262,294,330,330,294,294         DW 330,330,349,392,392,349,330,294,262,262,294,330,294,262,262         DW 292,294,330,262,294,330,349,330,262,294,330,349,330,262,262,294,196,330         DW 330,330,349,392,392,349,330,294,294,262,262,294,330,294,262,262         DW -1MUS_TIME DW 14 DUP(5),10                                                                      ;歌曲每个音符的延时时间         DW 14 DUP(5),10         DW 4  DUP(5),10 DUP(4),5,5,5         DW 4 DUP(5),5 DUP(4),6 DUP(5),10        DW 14 DUP(5),10         DW 14 DUP(5),10         DW 4  DUP(5),10 DUP(4),5,5,5         DW 4 DUP(5),5 DUP(4),6 DUP(5),10      DW 14 DUP(5),10         DW 14 DUP(5),10         DW 4  DUP(5),10 DUP(4),5,5,5         DW 4 DUP(5),5 DUP(4),6 DUP(5),10  BOY  DB  53                                                                                  ;男孩像素点描述     DB 7CH,01H,0,0     DB 7CH,01H,1,0     DB 7CH,01H,1,0     DB 7CH,01H,1,0     DB 2DH,01H,0,1     DB 2DH,01H,0,1     DB 2DH,01H,0,1     DB 2DH,01H,0,1     DB 2DH,01H,0,1     DB 7CH,01H,0,1     DB 7CH,01H,-1,0     DB 7CH,01H,-1,0     DB 7CH,01H,-1,0     DB 2DH,01H,0,-1     DB 2DH,01H,0,-1     DB 2DH,01H,0,-1     DB 2DH,01H,0,-1     DB 2DH,01H,0,-1        DB 2DH,01H,1,1     DB 2DH,01H,0,2     DB 5CH,01H,3,0     DB 5CH,01H,1,1     DB 5CH,01H,1,1     DB 5CH,01H,1,1     DB 2FH,01H,0,-8     DB 2FH,01H,-1,1     DB 2FH,01H,-1,1     DB 2FH,01H,-1,1     DB 7CH,01H,1,0     DB 7CH,01H,1,0     DB 7CH,01H,1,0     DB 7CH,01H,1,0     DB 7CH,01H,1,0     DB 7CH,01H,1,0     DB 7CH,01H,1,0     DB 7CH,01H,1,0     DB 2DH,01H,0,-1     DB 7CH,01H,0,-1     DB 7CH,01H,-1,0     DB 2DH,01H,0,1     DB 2DH,01H,0,4     DB 7CH,01H,0,1     DB 7CH,01H,1,0     DB 2DH,01H,0,-1     DB 7CH,01H,0,-1     DB 7CH,01H,-1,0     DB 7CH,01H,-1,0      DB 7CH,01H,-1,0     DB 7CH,01H,-1,0      DB 7CH,01H,-1,0     DB 7CH,01H,-1,0      DB 7CH,01H,-1,0     DB 4FH,01H,-3,-1 GIRL DB 38                                                                   ;女孩像素点描述     DB 7CH,0CH,0,0     DB 7CH,0CH,1,0     DB 5CH,0CH,1,1     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 2FH,0CH,0,1     DB 7CH,0CH,-1,0     DB 7CH,0CH,-1,0     DB 5CH,0CH,-1,-1     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 2FH,0CH,0,-1     DB 2DH,0CH,1,1     DB 2DH,0CH,0,2     DB 4FH,0CH,1,-1     DB 2FH,0CH,2,-1     DB 2FH,0CH,1,-1     DB 2FH,0CH,1,-1     DB 2DH,0CH,0,1     DB 7CH,0CH,1,1     DB 7CH,0CH,1,0     DB 7CH,0CH,1,0     DB 7CH,0CH,1,0     DB 7CH,0CH,1,0     DB 7CH,0CH,1,0     DB 7CH,0CH,0,3     DB 7CH,0CH,-1,0     DB 7CH,0CH,-1,0     DB 7CH,0CH,-1,0     DB 7CH,0CH,-1,0     DB 7CH,0CH,-1,0          DB 2DH,0CH,-1,1     DB 5CH,0CH,0,1     DB 5CH,0CH,-1,-1     DB 5CH,0CH,-1,-1                          OOO  DB 56                                                                   ;字母O像素点描述     DB 7CH,0CH,0,0     DB 7CH,0CH,1,0     DB 7CH,0CH,1,0     DB 7CH,0CH,1,0     DB 5CH,0CH,1,0     DB 5CH,0CH,1,1     DB 5CH,0CH,1,1     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 2FH,0CH,0,1     DB 2FH,0CH,-1,1     DB 2FH,0CH,-1,1     DB 7CH,0CH,-1,0     DB 7CH,0CH,-1,0     DB 7CH,0CH,-1,0     DB 7CH,0CH,-1,0     DB 5CH,0CH,-1,0     DB 5CH,0CH,-1,-1     DB 5CH,0CH,-1,-1     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 2FH,0CH,0,-1     DB 2FH,0CH,1,-1     DB 2FH,0CH,1,-1     DB 7CH,0CH,1,1     DB 7CH,0CH,1,0     DB 7CH,0CH,1,0     DB 7CH,0CH,1,0     DB 5CH,0CH,1,0     DB 5CH,0CH,1,1     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 2FH,0CH,0,1     DB 2FH,0CH,-1,1     DB 7CH,0CH,-1,0     DB 7CH,0CH,-1,0     DB 7CH,0CH,-1,0     DB 7CH,0CH,-1,0     DB 5CH,0CH,-1,0     DB 5CH,0CH,-1,-1     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1      DB 2DH,0CH,0,-1     DB 2FH,0CH,0,-1     DB 2FH,0CH,-1,-1     EEE  DB 106     DB 7CH,0CH,-10,0     DB 7CH,0CH,1,0     DB 7CH,0CH,1,0     DB 7CH,0CH,1,0     DB 7CH,0CH,1,0     DB 7CH,0CH,1,0     DB 7CH,0CH,1,0     DB 7CH,0CH,1,0     DB 7CH,0CH,1,0     DB 7CH,0CH,1,0     DB 7CH,0CH,1,0     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1      DB 2DH,0CH,0,1     DB 2DH,0CH,0,1      DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 7CH,0CH,0,1     DB 7CH,0CH,-1,0     DB 7CH,0CH,-1,0     DB 2DH,0CH,0,-1      DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 7CH,0CH,0,-1     DB 7CH,0CH,-1,0     DB 7CH,0CH,-1,0     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 7CH,0CH,0,1     DB 7CH,0CH,-1,0     DB 7CH,0CH,-1,0     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 7CH,0CH,0,-1     DB 7CH,0CH,-1,0     DB 7CH,0CH,-1,0     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 2DH,0CH,0,1     DB 7CH,0CH,0,1     DB 7CH,0CH,-1,0     DB 7CH,0CH,-1,0     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1    DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 2DH,0CH,0,-1     DB 2BH,0CH,1,0     DB 2BH,0CH,0,1     DB 2BH,0CH,0,1     DB 2BH,0CH,0,1     DB 2BH,0CH,0,1     DB 2BH,0CH,0,1     DB 2BH,0CH,0,1     DB 2BH,0CH,0,1     DB 2BH,0CH,0,1     DB 2BH,0CH,1,-8     DB 2BH,0CH,1,0     DB 2BH,0CH,1,0     DB 2BH,0CH,1,0     DB 2BH,0CH,0,1     DB 2BH,0CH,0,1     DB 2BH,0CH,0,1     DB 2BH,0CH,0,1     DB 2BH,0CH,0,1     DB 2BH,0CH,0,1     DB 2BH,0CH,0,1     DB 2BH,0CH,0,1     DB 2BH,0CH,1,-8     DB 2BH,0CH,1,0     DB 2BH,0CH,1,0     DB 2BH,0CH,1,0     DB 2BH,0CH,0,1     DB 2BH,0CH,0,1      DB 2BH,0CH,0,1     DB 2BH,0CH,0,1      DB 2BH,0CH,0,1     DB 2BH,0CH,0,1      DB 2BH,0CH,0,1     DB 2BH,0CH,0,1xxx  db 67                                                                    ;字母X像素点描述      DB 2FH,0CH,0,0      DB 5CH,0CH,0,1      DB 2FH,0CH,0,9      DB 5CH,0CH,0,1      DB 2FH,0CH,1,0      DB '+',0CH,0,-1      DB 2FH,0CH,0,-1      DB 5CH,0CH,0,-7      DB '+',0CH,0,-1      DB 5CH,0CH,0,-1      DB 5CH,0CH,1,1      DB '+',0CH,0,1      DB 5CH,0CH,0,1      DB 2FH,0CH,0,5      DB '+',0CH,0,1      DB 2FH,0CH,0,1       DB 2FH,0CH,1,-1      DB '+',0CH,0,-1      DB 2FH,0CH,0,-1      DB 5CH,0CH,0,-3      DB '+',0CH,0,-1      DB 5CH,0CH,0,-1      DB 5CH,0CH,1,1      DB '+',0CH,0,1      DB 5CH,0CH,0,1      DB 2FH,0CH,0,1      DB '+',0CH,0,1      DB 2FH,0CH,0,1            DB 2FH,0CH,1,-1      DB '+',0CH,0,-1      DB '+',0CH,0,-1      DB 5CH,0CH,0,-1            DB 2FH,0CH,1,0      DB '+',0CH,0,1      DB '+',0CH,0,1      DB 5CH,0CH,0,1      DB 5CH,0CH,1,1      DB '+',0CH,0,-1       DB 5CH,0CH,0,-1      DB 2FH,0CH,0,-1       DB '+',0CH,0,-1      DB 2FH,0CH,0,-1      DB 2FH,0CH,1,-1      DB '+',0CH,0,1      DB 2FH,0CH,0,1      DB 5CH,0CH,0,3       DB '+',0CH,0,1      DB 5CH,0CH,0,1            DB 5CH,0CH,1,1      DB '+',0CH,0,-1       DB 5CH,0CH,0,-1      DB 2FH,0CH,0,-5      DB '+',0CH,0,-1      DB 2FH,0CH,0,-1       DB 5CH,0CH,1,0      DB 2FH,0CH,0,1      DB 5CH,0CH,0,7             DB 2FH,0CH,0,1     ; DB 2FH,0CH,1,0    ;  DB 5CH,0CH,0,-1    ;  DB 2FH,0CH,0,-9     ;  DB 5CH,0CH,0,-1     ;    DB 2FH,0CH,1,-1    ;  DB '+',0CH,0,1     ; DB 2FH,0CH,0,1     ; DB 5CH,0CH,0,7      ; DB '+',0CH,0,1     ; DB 5CH,0CH,0,1     ; DB 2FH,0CH,1,0     ; DB 5CH,0CH,0,-1     ; DB 2FH,0CH,0,-9      ; DB 5CH,0CH,0,-1 yyy db 36                                                         ;字母Y像素点描述    DB 2Fh,0CH,0,0    DB 5CH,0CH,0,1    DB 2FH,0CH,0,9    DB 5CH,0CH,0,1    DB 2FH,0CH,1,0    DB 2FH,0CH,0,-2    DB 5CH,0CH,0,-7    DB 5CH,0CH,0,-2    DB 5CH,0CH,1,1    DB 5CH,0CH,0,2    DB 2FH,0CH,0,5    DB 2FH,0CH,0,2    DB 2FH,0CH,1,-1    DB 2FH,0CH,0,-2    DB 5CH,0CH,0,-3    DB 5CH,0CH,0,-2    DB 5CH,0CH,1,1    DB 5CH,0CH,0,2    DB 2FH,0CH,0,1    DB 2FH,0CH,0,2    DB 2FH,0CH,1,-1    DB 5CH,0CH,0,-3    DB '|',0CH,1,0    DB '|',0CH,0,2    DB '|',0CH,1,0    DB '|',0CH,0,-2    DB '|',0CH,1,0    DB '|',0CH,0,2    DB '|',0CH,1,0    DB '|',0CH,0,-2    DB '|',0CH,1,0    DB '|',0CH,0,2    DB '|',0CH,1,0    DB '|',0CH,0,-2    DB '|',0CH,1,0    DB '|',0CH,0,2     iii        DB 65                                                       ;字母I像素点描述             DB 7CH,0CH,0,0             DB '_',0CH,0,1             DB '_',0CH,-1,0             DB 7CH,0CH,-8,0             DB '_',0CH,-1,1             DB 3DH,0CH,1,0             DB '_',0CH,8,0             DB '_',0CH,1,0             DB '_',0CH,0,1             DB '_',0CH,-1,0             DB 3DH,0CH,-8,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB 3DH,0CH,1,0             DB '_',0CH,8,0             DB '_',0CH,1,0             DB '_',0CH,0,1             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 3DH,0CH,-1,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB 3DH,0CH,1,0             DB 2BH,0CH,1,0             DB 2BH,0CH,1,0             DB 2BH,0CH,1,0             DB 2BH,0CH,1,0             DB 2BH,0CH,1,0             DB 2BH,0CH,1,0             DB 2BH,0CH,1,0             DB 2BH,0CH,1,0             DB '_',0CH,1,0             DB '_',0CH,0,1             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 3DH,0CH,-1,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB 3DH,0CH,1,0             DB '_',0CH,8,0             DB '_',0CH,1,0             DB '_',0CH,0,1             DB '_',0CH,-1,0             DB 3DH,0CH,-8,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB 3DH,0CH,1,0             DB '_',0CH,8,0             DB '_',0CH,1,0             DB '_',0CH,0,1             DB '_',0CH,-1,0             DB 7CH,0CH,-8,0             DB 7CH,0CH,9,1  aaaa       DB 57                                                        ;字母A像素点描述             DB '_',0CH,0,0             DB 7CH,0CH,1,0             DB 3DH,0CH,0,1             DB 2FH,0CH,-1,0             DB 2FH,0CH,-1,1             DB 2FH,0CH,1,0             DB 3DH,0CH,1,0             DB 3DH,0CH,0,1             DB '_',0CH,-1,0             DB 2FH,0CH,-1,0             DB 2FH,0CH,-1,0             DB 2FH,0CH,-1,1             DB 2FH,0CH,1,0             DB '_',0CH,2,0             DB 7CH,0CH,1,0             DB '_',0CH,-3,1             DB 2FH,0CH,-1,0             DB 2FH,0CH,-1,0             DB 2FH,0CH,-1,1             DB 2FH,0CH,1,0             DB '_',0CH,1,0             DB '_',0CH,1,0             DB '_',0CH,0,1             DB '_',0CH,-1,0             DB 2FH,0CH,-2,0             DB 2FH,0CH,-1,0             DB '_',0CH,-1,1             DB 2FH,0CH,1,0             DB '_',0CH,3,0             DB '_',0CH,1,0             DB '_',0CH,0,1             DB '_',0CH,-1,0             DB 5CH,0CH,-2,0             DB 5CH,0CH,-1,0             DB 5CH,0CH,1,1             DB 5CH,0CH,1,0             DB '_',0CH,1,0             DB '_',0CH,1,0             DB '_',0CH,0,1             DB 5CH,0CH,-1,0             DB 5CH,0CH,-1,0             DB 5CH,0CH,1,1             DB 5CH,0CH,1,0             DB '_',0CH,2,0             DB 7CH,0CH,1,0             DB 3DH,0CH,0,1             DB '_',0CH,-1,0             DB 5CH,0CH,-1,0             DB 5CH,0CH,-1,0             DB 5CH,0CH,1,1             DB 5CH,0CH,1,0             DB 3DH,0CH,1,0             DB 3DH,0CH,0,1             DB 5CH,0CH,-1,0             DB '_',0CH,0,1             DB 3DH,0CH,1,0             DB 7CH,0CH,0,1  qqq        DB 90                                                    ;字母Q像素点描述             DB 7CH,0CH,0,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 5CH,0CH,1,1             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 2FH,0CH,-1,0             DB 2FH,0CH,-1,1             DB 2FH,0CH,1,0             DB 5CH,0CH,7,0             DB 5CH,0CH,1,0             DB 5CH,0CH,0,1             DB '_',0CH,-1,0             DB 2FH,0CH,-8,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB '_',0CH,1,0             DB 2FH,0CH,7,0             DB '_',0CH,1,0             DB '_',0CH,1,0             DB '_',0CH,0,1             DB '_',0CH,-1,0             DB 2FH,0CH,-1,0             DB 2FH,0CH,-1,0             DB '_',0CH,-6,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB '_',0CH,1,0             DB '_',0CH,5,0             DB 2FH,0CH,1,0             DB '_',0CH,2,0             DB '_',0CH,1,0             DB '_',0CH,0,1             DB '_',0CH,-1,0             DB '_',0CH,-3,0             DB '_',0CH,-5,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB '_',0CH,1,0             DB '_',0CH,5,0             DB 5CH,0CH,1,0             DB '_',0CH,2,0             DB '_',0CH,1,0             DB '_',0CH,0,1             DB '_',0CH,-1,0             DB 5CH,0CH,-2,0             DB '_',0CH,-6,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB '_',0CH,1,0             DB '_',0CH,6,0             DB 5CH,0CH,1,0             DB '_',0CH,1,0             DB '_',0CH,1,0             DB 2FH,0CH,0,1             DB '_',0CH,-1,0             DB 5CH,0CH,-1,0             DB 5CH,0CH,-7,0             DB '_',0CH,-1,0             DB 5CH,0CH,1,1             DB 5CH,0CH,1,0             DB 2FH,0CH,7,0             DB 2FH,0CH,1,0             DB 5CH,0CH,0,1             DB 2FH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 5CH,0CH,-1,0             DB 7CH,0CH,1,1             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 5CH,0CH,2,0             DB '_',0CH,0,1             DB 2FH,0CH,0,1             DB 2FH,0CH,0,1             DB '_',0CH,-1,0  nnn        DB 68                                                   ;字母N像素点描述             DB 7CH,0CH,0,0             DB 3DH,0CH,0,1             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 3DH,0CH,1,0             DB 7CH,0CH,0,1             DB 5CH,0CH,-9,0             DB '_',0CH,-1,0             DB 5CH,0CH,1,1             DB 5CH,0CH,1,0             DB 5CH,0CH,0,1             DB 5CH,0CH,1,0             DB 5CH,0CH,0,1             DB 5CH,0CH,1,0             DB 5CH,0CH,0,1             DB 5CH,0CH,1,0             DB 5CH,0CH,0,1             DB 5CH,0CH,1,0             DB 5CH,0CH,0,1             DB 5CH,0CH,1,0             DB 5CH,0CH,0,1             DB 5CH,0CH,1,0             DB 5CH,0CH,0,1             DB 5CH,0CH,1,0             DB 5CH,0CH,0,1             DB 3DH,0CH,1,0             DB '_',0CH,0,1             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 2FH,0CH,-9,1             DB '_',0CH,-1,0  ggg        DB 91                                                           ;字母G像素点描述             DB 7CH,0CH,0,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 5CH,0CH,1,1             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 2FH,0CH,-1,0             DB 2FH,0CH,-1,1             DB 2FH,0CH,1,0             DB 5CH,0CH,7,0             DB 5CH,0CH,1,0             DB 5CH,0CH,0,1             DB '_',0CH,-1,0             DB 2FH,0CH,-8,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB '_',0CH,1,0             DB '_',0CH,8,0             DB '_',0CH,1,0             DB '_',0CH,0,1             DB '_',0CH,-1,0             DB '_',0CH,-8,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB '_',0CH,1,0             DB '_',0CH,8,0             DB '_',0CH,1,0             DB '_',0CH,0,1             DB '_',0CH,-1,0             DB 7CH,0CH,-3,0             DB '_',0CH,-5,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB '_',0CH,1,0             DB '_',0CH,4,0             DB 3DH,0CH,1,0             DB '_',0CH,3,0             DB '_',0CH,1,0             DB '_',0CH,0,1             DB '_',0CH,-1,0             DB 3DH,0CH,-3,0             DB '_',0CH,-1,0             DB '_',0CH,-4,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB 5CH,0CH,1,0             DB 7CH,0CH,3,0             DB '_',0CH,1,0             DB 3DH,0CH,1,0             DB '_',0CH,3,0             DB 2FH,0CH,1,0             DB 2FH,0CH,0,1             DB 2FH,0CH,-1,0             DB 3DH,0CH,-3,0             DB '_',0CH,-1,0             DB 3DH,0CH,-1,0             DB '_',0CH,-1,0             DB 5CH,0CH,-1,0             DB 5CH,0CH,-1,0             DB 5CH,0CH,1,1             DB 7CH,0CH,1,0             DB 3DH,0CH,1,0             DB '_',0CH,1,0             DB 3DH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 2FH,0CH,1,0             DB 7CH,0CH,-1,1             DB 7CH,0CH,-1,0             DB 3DH,0CH,-1,0             DB '_',0CH,-1,0             DB 3DH,0CH,-1,0             DB 7CH,0CH,-1,0             DB '_',0CH,0,1             DB 3DH,0CH,1,0             DB '_',0CH,1,0             DB 3DH,0CH,1,0             DB 3DH,0CH,1,1             DB 5CH,0CH,-1,0             DB '_',0CH,-1,0             DB 7CH,0CH,-1,0             DB 5CH,0CH,2,1             DB 3DH,0CH,1,0             DB 3DH,0CH,0,1  jjj        DB 58                                                          ;字母J像素点描述             DB 7CH,0CH,0,0             DB 2AH,0CH,7,0             DB 5CH,0CH,1,0             DB 5CH,0CH,1,1             DB 5CH,0CH,-1,0             DB 3DH,0CH,-8,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB 3DH,0CH,1,0             DB '_',0CH,8,0             DB 3DH,0CH,1,0             DB 3DH,0CH,0,1             DB '_',0CH,-1,0             DB 3DH,0CH,-8,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB 3DH,0CH,1,0             DB '_',0CH,8,0             DB 3DH,0CH,1,0             DB 2BH,0CH,0,1             DB 2FH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 3DH,0CH,-1,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB 3DH,0CH,1,0             DB 2BH,0CH,1,0             DB 2BH,0CH,1,0             DB 2BH,0CH,1,0             DB 2BH,0CH,1,0             DB 2BH,0CH,1,0             DB 2BH,0CH,1,0             DB 2BH,0CH,1,0             DB 2BH,0CH,1,0             DB 2FH,0CH,1,0             DB 2FH,0CH,-1,1             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 3DH,0CH,-1,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB 3DH,0CH,1,0             DB 3DH,0CH,0,1             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB 3DH,0CH,1,0             DB 7CH,0CH,0,1   ddd        DB 77                                                                          ;字母D像素点描述             DB '_',0CH,0,0             DB 5CH,0CH,1,0             DB 2FH,0CH,9,0             DB 2FH,0CH,0,1             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 5CH,0CH,-1,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB 3DH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 3DH,0CH,1,0             DB 3DH,0CH,0,1             DB '_',0CH,-1,0             DB 3DH,0CH,-8,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB 3DH,0CH,1,0             DB '_',0CH,8,0             DB 3DH,0CH,1,0             DB 3DH,0CH,0,1             DB '_',0CH,-1,0             DB 3DH,0CH,-8,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB 3DH,0CH,1,0             DB '_',0CH,8,0             DB 3DH,0CH,1,0             DB 3DH,0CH,0,1             DB '_',0CH,-1,0             DB 3DH,0CH,-8,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB 3DH,0CH,1,0             DB '_',0CH,8,0             DB 3DH,0CH,1,0             DB 3DH,0CH,0,1             DB '_',0CH,-1,0             DB 3DH,0CH,-8,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB 3DH,0CH,1,0             DB '_',0CH,8,0             DB 3DH,0CH,1,0             DB 3DH,0CH,0,1             DB '_',0CH,-1,0             DB 5CH,0CH,-7,0             DB 5CH,0CH,-1,0             DB 5CH,0CH,1,1             DB 5CH,0CH,1,0             DB 2FH,0CH,6,0             DB 2AH,0CH,1,0             DB 2FH,0CH,-1,1             DB 28H,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 5CH,0CH,-1,0             DB 7CH,0CH,1,1             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 29H,0CH,1,0   uuu        DB 77                                                             ;字母U像素点描述             DB '_',0CH,0,0             DB 7CH,0CH,1,0             DB '_',0CH,-1,1             DB 3DH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 5CH,0CH,1,1             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 7CH,0CH,-1,0             DB 3DH,0CH,-1,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB 7CH,0CH,1,0                        DB 5CH,0CH,8,0             DB 5CH,0CH,1,0             DB 5CH,0CH,0,1             DB '_',0CH,-1,0              DB '_',0CH,0,1             DB '_',0CH,1,0             DB '_',0CH,0,1             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB '_',0CH,1,0             DB '_',0CH,0,1             DB '_',0CH,-1,0            ;              DB '_',0CH,0,1             DB 2FH,0CH,1,0             DB 2BH,0CH,0,1             DB 2FH,0CH,-1,0             DB 7CH,0CH,-8,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB 3DH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 2AH,0CH,1,0             DB 2FH,0CH,1,0             DB 2FH,0CH,-1,1             DB 2BH,0CH,-1,0             DB 2BH,0CH,-1,0             DB 2BH,0CH,-1,0             DB 2BH,0CH,-1,0             DB 2BH,0CH,-1,0             DB 2BH,0CH,-1,0             DB 2BH,0CH,-1,0             DB 3DH,0CH,-1,0             DB '_',0CH,-1,0             DB '_',0CH,0,1             DB 3DH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,1,0             DB 7CH,0CH,-7,1             DB '_',0CH,-1,0                CAR        DB 6             DB 3DH,0EH,0,0             DB 40H,0BH,1,0             DB 3DH,0EH,1,0             DB 3CH,0EH,0,1             DB 02AH,0BH,-1,0             DB 3CH,0EH,-1,0   JEEP       DB 6             DB 3DH,0EH,0,0             DB 40H,0BH,1,0             DB 3DH,0EH,1,0             DB 3CH,0EH,0,-1             DB 02AH,0BH,-1,0             DB 3CH,0EH,-1,0                CHAR_CNT1     DW ? POINTER1      DW ?              LINE_ON1      DB ? COL_ON1       DB ? CHAR          DW ? aCOUNT        DB ? aCOUNT0       DB ? aCOUNT1       DB ? CAR2  DB 5 DUP(20H) ;汽车图形数据       DW 0DBDBH       DB 154 DUP(20H)       DW 0DBDBH       DB 20H       DW 0DBDBH       DB 20H       DW 0DBDBH       DB 20H       DW 0DBDBH       DB 151 DUP(20H),4FH,5 DUP(20H),4FH        LENCAR  DW 330 ;汽车显示总长度        ROAD  DW 80 DUP(01616H) ;公路图形数据       LENROAD DB 80 ;公路显示总长度  DATA_SEG    ENDS ;------------------ 代码段  --------------------- CODE_SEG    SEGMENT             ASSUME CS:CODE_SEG,DS:DATA_SEG ;-----------------主函数------------------------- MAIN        PROC  FAR             PUSH  DS             SUB   AX,AX             SUB   CX,CX             PUSH  AX             PUSH  CX             MOV   AX,DATA_SEG             MOV   DS,AX             CALL  CLEAR_SCREEN  ;清屏             MOV   aCOUNT1,2             MOV   aCOUNT0,11             MOV CX,80    NEXT1:   MOV DH,1             MOV DL,0             CALL DISPLAY             MOV DH,2             MOV DL,0             CALL DISPLAY             MOV DH,22             MOV DL,0             CALL DISPLAY             MOV DH,23             MOV DL,0             CALL DISPLAY             LOOP NEXT1             LEA DI,SCHOOL ;标题             MOV DH,5             MOV DL,30             CALL DISPLAY1              MOV AH,2             MOV DH,8             MOV DL,15             INT 10H             LEA DX,ITEM      ;人机对话 第一选项             MOV AH,9             INT 21H             MOV AH,2             MOV DH,12             MOV DL,15             INT 10H             LEA DX,ITEM1       ;第二选项              MOV AH,9             INT 21H             MOV AH,2             MOV DH,21             MOV DL,15             INT 10H             LEA DX,HELP             MOV AH,9             INT 21H             MOV AH,1             INT 21H             CMP AL,'2'       ;选2退出             JE WE             CMP AL,'1'       ;选1执行             JE ME                                  ME:       CALL  CLEAR_SCREEN             MOV AH,2             MOV DH,6             MOV DL,14             INT 10H             CALL STORY1          ;调用故事描述函数             CALL DELAY3             CALL  CLEAR_SCREEN             CALL CAR1            ;调用汽车运行函数             CALL DELAY3             CALL  CLEAR_SCREEN             CALL PEOPLE1          ;调用两人第一次对话函数                       MOV CX,10000     NEXT2:  LOOP NEXT2                          CALL  CLEAR_SCREEN             CALL ZIXIANSHI          ;调用显示‘XIANYOUDIANDAXUE’函数            CALL DELAY3             CALL  PEOPLE2          ;调用两人第二次对话函数             CALL DELAY3             CALL MUSIC             ;调用歌曲  WE:        MOV AH,4CH             INT 21H             POP   CX             RET;-----------------------------MAIN        ENDP ;-------------第一次对话  ---------------PEOPLE1 PROC NEAR      PUSH AX       PUSH BX       PUSH CX       PUSH DX       PUSH SI       PUSH DI       PUSH BP       PUSH ES      CALL  CLEAR_SCREEN             LEA DI,GIRL             MOV   DH,6             MOV   DL,10             CALL  MOVE_SHAPE1             CALL  aMUST_2           LEA DI,BOY            MOV DH,6            MOV DL,70            CALL  MOVE_SHAPE1            CALL  aMUST_2            MOV  DH,2           MOV  DL,45           MOV AH,2           INT 10H            LEA DX,LIU1             MOV AH,9            INT 21H            CALL DELAY3            MOV  DH,2           MOV  DL,45           MOV AH,2           INT 10H            LEA DX,KO             MOV AH,9            INT 21H                         MOV DH,2            MOV DL,15            MOV AH,2            INT 10H             LEA DX,SHU1             MOV AH,9             INT 21H             CALL DELAY3           MOV DH,2            MOV DL,15            MOV AH,2            INT 10H             LEA DX,KO             MOV AH,9             INT 21H                        MOV DH,3            MOV DL,15            MOV AH,2            INT 10H             LEA DX,SHU2             MOV AH,9             INT 21H             CALL DELAY3            MOV DH,3            MOV DL,15            MOV AH,2            INT 10H             LEA DX,KO             MOV AH,9             INT 21H                                       MOV  DH,2           MOV  DL,45           MOV AH,2           INT 10H            LEA DX,LIU2             MOV AH,9            INT 21H           CALL DELAY3           MOV  DH,2           MOV  DL,45           MOV AH,2           INT 10H            LEA DX,KO             MOV AH,9            INT 21H             MOV  DH,3           MOV  DL,45           MOV AH,2           INT 10H            LEA DX,LIU3             MOV AH,9            INT 21H            CALL DELAY3            MOV  DH,3           MOV  DL,45           MOV AH,2           INT 10H            LEA DX,KO             MOV AH,9            INT 21H                         MOV DH,2            MOV DL,15            MOV AH,2            INT 10H             LEA DX,SHU3             MOV AH,9             INT 21H           CALL DELAY3            MOV DH,2            MOV DL,15            MOV AH,2            INT 10H             LEA DX,KO             MOV AH,9             INT 21H                                         POP ES        POP BP        POP DI        POP SI        POP DX        POP CX        POP BX        POP AX              RETPEOPLE1 ENDP;--------------第二次对话-------------PEOPLE2 PROC NEAR      PUSH AX       PUSH BX       PUSH CX       PUSH DX       PUSH SI       PUSH DI       PUSH BP       PUSH ES      CALL  CLEAR_SCREEN             LEA DI,GIRL             MOV   DH,6             MOV   DL,10             CALL  MOVE_SHAPE1             CALL  aMUST_2           LEA DI,BOY            MOV DH,6            MOV DL,70            CALL  MOVE_SHAPE1            CALL  aMUST_2            MOV  DH,2           MOV  DL,15           MOV AH,2           INT 10H            LEA DX,SHU4             MOV AH,9            INT 21H            CALL DELAY3            MOV  DH,2           MOV  DL,15           MOV AH,2           INT 10H            LEA DX,KO             MOV AH,9            INT 21H                         MOV DH,2            MOV DL,45            MOV AH,2            INT 10H             LEA DX,LIU4             MOV AH,9             INT 21H             CALL DELAY3           MOV DH,2            MOV DL,45            MOV AH,2            INT 10H             LEA DX,KO             MOV AH,9             INT 21H                        MOV DH,3            MOV DL,45            MOV AH,2            INT 10H             LEA DX,LIU5             MOV AH,9             INT 21H             CALL DELAY3            MOV DH,3            MOV DL,45            MOV AH,2            INT 10H             LEA DX,KO             MOV AH,9             INT 21H                                       MOV  DH,2           MOV  DL,15           MOV AH,2           INT 10H            LEA DX,SHU5             MOV AH,9            INT 21H           CALL DELAY3           MOV  DH,2           MOV  DL,15           MOV AH,2           INT 10H            LEA DX,KO             MOV AH,9            INT 21H                                                      POP ES        POP BP        POP DI        POP SI        POP DX        POP CX        POP BX        POP AX              RETPEOPLE2 ENDP;-----------汽车运行函数-----------------------------CAR1  PROC NEAR        PUSH AX       PUSH BX       PUSH CX       PUSH DX       PUSH SI       PUSH DI       PUSH BP       PUSH ES      MOV AX,DATA_SEG      MOV DS,AX      LEA BP,CAR2 ;将汽车数据传给显示入口       MOV ES,AX      MOV CX,69D ;69祯画面      MOV DH,6D ;第6行     MOV DL,00H ;第0列 S0:  ;动画    CALL CARDISPLAY ;画汽车    INC DL ;向后移一列   CALL DELAY2 ;停留一小段时间    LOOP S0 ;如果没到第69祯,继续画         POP ES        POP BP        POP DI        POP SI        POP DX        POP CX        POP BX        POP AX              RETCAR1  ENDP;**************************显示汽车子程序********************** CARDISPLAY PROC NEAR CALL CLEAR ;清屏 PUSH AX       PUSH BX       PUSH CX       PUSH DX       PUSH SI       PUSH DI       PUSH BP        PUSH ES  MOV CX,LENCAR  ;设置显示汽车长度   MOV BH,00H  ;第0页   MOV BL,0F9H ;白色背景(F) 蓝色前景(9)   MOV AX,1301H ;显示汽车   INT 10H  POP ES   POP BP        POP DI        POP SI        POP DX        POP CX        POP BX        POP AX RET CARDISPLAY ENDP ;**************************************************************  ;***************************清屏子程序************************* CLEAR PROC NEAR  PUSH AX       PUSH BX       PUSH CX       PUSH DX       PUSH SI       PUSH DI       PUSH BP       PUSH ES   MOV AX,0600H  ;AH=06(滚动) AL=00(全屏空白)   MOV BH,0F0H  ;黑色背景(0) 白色前景(F)   SUB CX,CX  ;左上角行:列    MOV DX,184FH  ;右下角行:列   INT 10H   MOV DH,11D ;第11行 CALL ROADDISPLAY MOV DH,12D ;第12行 CALL ROADDISPLAY  POP ESPOP BP        POP DI        POP SI        POP DX        POP CX        POP BX        POP AX  RET CLEAR ENDP ;**************************************************************   ;**************************显示子程序2*************************  ROADDISPLAY PROC NEAR     PUSH AX       PUSH BX       PUSH CX       PUSH DX       PUSH SI       PUSH DI       PUSH BP       PUSH ESMOV AX,DATA_SEG   MOV DS,AX    LEA BP,ROAD ;将公路数据传给显示入口   MOV ES,AX    MOV DL,00H ;第0列   MOV CH,00H   MOV CL,LENROAD  ;设置显示公路长度   MOV BH,00H  ;第0页   MOV BL,0F5H  ;白色背景(F) 棕色前景(9)   MOV AX,1301H ;显示公路   INT 10H POP ESPOP BP        POP DI        POP SI        POP DX        POP CX        POP BX        POP AXRET  ROADDISPLAY ENDP ;**************************************************************  ;***************************延时子程序************************* DELAY2 PROC   PUSH AX       PUSH BX       PUSH CX       PUSH DX       PUSH SI       PUSH DI       PUSH BP       PUSH ES  MOV DX,0FFFH  UP:  MOV CX,10000  ;延时   A: LOOP A   DEC DX    JNZ UP  POP ESPOP BP        POP DI        POP SI        POP DX        POP CX        POP BX        POP AX   RET ;返回 DELAY2 ENDP ;---------------故事描述函数--------------------STORY1 PROC NEAR       PUSH AX       PUSH BX       PUSH CX       PUSH DX       PUSH SI       PUSH DI       PUSH BP       LEA SI,STORY       NEXT:MOV DL,[SI]            CMP DL,'$'            JE  EXIT3            MOV AH,2            INT 21H            INC SI            MOV CX,10000     NEXT4: MOV BX,15000     NEXT3: DEC BX            JNZ NEXT3            DEC CX            JNZ NEXT4                       jmp nextEXIT3:  POP BP        POP DI        POP SI        POP DX        POP CX        POP BX        POP AX              RETSTORY1  ENDP;---------------------音乐函数--------------------------MUSIC  PROC NEAR       PUSH AX       PUSH BX       PUSH CX       PUSH DX       PUSH SI       PUSH DI       PUSH BP       LEA SI,MUS_FREQ       LEA BP,DS:MUS_TIMEFREQ:  MOV DI,[SI]       CMP DI,-1       JE END_MUS       MOV BX,DS:[BP]       CALL SOUNF       ADD SI,2       ADD BP,2       JMP FREQEND_MUS:POP BP        POP DI        POP SI        POP DX        POP CX        POP BX        POP AX              RETMUSIC  ENDP;--------------------发声函数------------------SOUNF PROC NEAR      PUSH AX      PUSH BX      PUSH CX      PUSH DX      PUSH DI      MOV AL,0B6H      OUT 43H,AL      MOV DX,12H      MOV AX,348CH      DIV DI      OUT 42H,AL      MOV AL,AH      OUT 42H,AL      IN AL,61H      MOV AH,AL      OR AL,3      OUT 61H,AL      WAIT1:CALL WAITF             DEC BX      JNZ WAIT1      MOV AL,AH      OUT 61H,AL      POP DI      POP DX      POP CX      POP BX      POP AX      RET  SOUNF ENDP;-----------延时函数--------------------WAITF PROC NEAR      PUSH AXWAITF1:      IN AL,61H      AND AL,10H      CMP AL,AH      JE WAITF1      MOV AH,AL      LOOP WAITF1      POP AX      RETWAITF ENDP            ;-----------------西安邮电大学显示函数--------------- ZIXIANSHI   PROC NEAR             PUSH AX             PUSH BX             PUSH CX             PUSH DX                      aAGAI:    LEA DI,xxx             MOV   DH,5             MOV   DL,4             CALL  MOVE_SHAPE1             CALL  aMUST_2                           LEA   DI,iii             MOV   DH,15             MOV   DL,18             CALL  MOVE_SHAPE1             CALL  aMUST_2             LEA  DI,aaaa             MOV   DH,13             MOV   DL,34             CALL  MOVE_SHAPE1             CALL  aMUST_2               LEA   DI,nnn             MOV   DH,15             MOV   DL,53             CALL  MOVE_SHAPE1             CALL  aMUST_2                                       LEA  DI,JEEP             MOV   DH,4             MOV   DL,75             CALL  MOVE_SHAPE1             CALL  aMUST_21             CMP   aCOUNT1,1             JNE   aAGAIN             POP   CX             RET  aAGAIN:             LEA   DI,yyy             MOV   DH,4             MOV   DL,10             CALL  MOVE_SHAPE1             CALL  aMUST_2                           LEA   DI,OOO             MOV   DH,8             MOV   DL,29             CALL  MOVE_SHAPE1             CALL  aMUST_2                           LEA   DI,UUU             MOV   DH,5             MOV   DL,48             CALL  MOVE_SHAPE1             CALL  aMUST_2                          LEA  DI,JEEP             MOV   DH,4             MOV   DL,75             CALL  MOVE_SHAPE1             CALL  aMUST_21             CMP   aCOUNT1,1             JNE   aAGAIN0             POP   CX             RETaAGAIN0:    LEA    DI,DDD             MOV   DH,5             MOV   DL,4             CALL  MOVE_SHAPE1             CALL  aMUST_2                        LEA   DI,III             MOV   DH,15             MOV   DL,23             CALL  MOVE_SHAPE1             CALL  aMUST_2                          LEA   DI,AAAA             MOV   DH,13             MOV   DL,38             CALL  MOVE_SHAPE1             CALL  aMUST_2                          LEA   DI,NNN             MOV   DH,15             MOV   DL,58             CALL  MOVE_SHAPE1             CALL  aMUST_2                            LEA   DI,JEEP             MOV   DH,4             MOV   DL,75             CALL  MOVE_SHAPE1             CALL  aMUST_21             CMP   aCOUNT1,1             JNE   aAGAIN1             POP   CX             RET  ;--------------------------------- aAGAIN1:             LEA   DI,ddd             MOV   DH,5             MOV   DL,3             CALL  MOVE_SHAPE1             CALL  aMUST_2              LEA   DI,AAAA             MOV   DH,13             MOV   DL,18             CALL  MOVE_SHAPE1             CALL  aMUST_2              LEA   DI,XXX             MOV   DH,5             MOV   DL,36             CALL  MOVE_SHAPE1             CALL  aMUST_2            LEA   DI,UUU             MOV   DH,5             MOV   DL,49             CALL  MOVE_SHAPE1             CALL  aMUST_2              LEA   DI,EEE             MOV   DH,15             MOV   DL,65             CALL  MOVE_SHAPE1             CALL  aMUST_2                         LEA   DI,JEEP             MOV   DH,4             MOV   DL,75             CALL  MOVE_SHAPE1             CALL  aMUST_21             POP DX             POP CX             POP BX             POP AX             RETZIXIANSHI ENDP;----------清屏函数-----------------CLEAR1   PROC NEAR       PUSH BX       PUSH CX       PUSH ES             MOV  BX,0B800H       MOV  ES,BX       MOV  BX,0       MOV  CX,2000SUB1S: MOV  BYTE PTR ES:[BX],' '       ADD  BX,2       LOOP SUB1S       POP  ES       POP  CX       POP  BX       RETCLEAR1  ENDP;----------清屏函数----------------- CLEAR_SCREEN PROC NEAR             PUSH   AX             PUSH   BX             PUSH   CX                       PUSH   DX             MOV    AH,6             MOV    AL,0             MOV    CH,0             MOV    CL,0             MOV    DH,24             MOV    DL,79             MOV    BH,7             INT    10H             POP     DX             POP     CX             POP     BX             POP     AX             RET CLEAR_SCREEN  ENDP ;------------------------------------- ;------------------------------------- MOVE_SHAPE1    PROC NEAR                PUSH AX                PUSH BX                PUSH CX                PUSH DX                PUSH DI                MOV  AH,0FH                INT  10H                SUB  CH,CH                MOV  CL,[DI]                INC  DI                MOV  CHAR_CNT1,CX                MOV  POINTER1,DI                MOV  LINE_ON1,DH                MOV  COL_ON1,DL                MOV  CHAR,CX                POP  DI                POP  DX                POP  CX                POP  BX                                  POP  AX                RET MOVE_SHAPE1    ENDP ;---------------------------- aMUST_2        PROC       NEAR                PUSH AX                PUSH BX                PUSH CX                PUSH DX                PUSH DI                MOV  AH,0FH                INT  10H               SUB  CX,CX             MOV        CX,CHAR_CNT1             MOV        DI,POINTER1             MOV        DH,LINE_ON1             MOV        DL,COL_ON1aPLOT_NEXT0:             ADD  DH,[DI+2]             ADD  DL,[DI+3]             MOV  AH,2             INT  10H             MOV  AL,[DI]             MOV  BL,[DI+1]             PUSH CX             MOV  CX,1             MOV  AH,09             INT  10H             POP  CX             ADD  DI,4             CALL DLY_QRTR             LOOP aPLOT_NEXT0  aEXIT6:                  POP  DI             POP  DX             POP  CX             POP  BX             POP  AX             RET  aMUST_2    ENDP;---------------------------------------------;***********************************************  aMUST_21       PROC       NEAR                PUSH AX                PUSH BX                PUSH CX                PUSH DX                PUSH DI                MOV  AH,0FH                INT  10H                MOV  aCOUNT,20 aEXIT1:        CALL DLY_QRTR                DEC  aCOUNT                JE   aEXIT5                JMP  aEXIT1 aEXIT5:        SUB  CX,CX                      MOV        CX,CHAR_CNT1             MOV        DI,POINTER1             MOV        DH,LINE_ON1             MOV        DL,COL_ON1aPLOT_NEXT:             ADD  DH,[DI+2]             ADD  DL,[DI+3]                          CMP  DL,2             JE   aEXIT4             MOV  AH,2             INT  10H             MOV  AL,[DI]             MOV  BL,[DI+1]             PUSH CX             MOV  CX,1             MOV  AH,09             INT  10H             POP  CX             CMP  AL,40H             JE   aEXITX0             CMP  AL,02AH             JE   aEXITX0             JMP  aEXITX1 aEXITX0:    DEC  aCOUNT0             JNE  aPLOT_NEXT              MOV  aCOUNT0,11 aEXITX1:    ADD  DI,4             LOOP aPLOT_NEXT             CALL DLY_QRTR             CALL DLY_QRTR             CALL DLY_QRTR             CALL aERASE             JMP  aEXIT5  aEXIT4:    CALL aERASE             POP  DI             POP  DX             POP  CX             POP  BX             POP  AX             RET  aMUST_21    ENDP;********************************************;-----------------------------------------   、aERASE        PROC       NEAR            MOV        CX,CHAR_CNT1            MOV        DI,POINTER1            MOV        DH,LINE_ON1            MOV        DL,COL_ON1 aERASE_NEXT:             ADD        DH,[DI+2]             ADD        DL,[DI+3]             CMP        DL,2             JE         aLEFT             MOV        AH,2             INT        10H             MOV        AH,8             INT        10H             CMP        AL,40H             JE         aEXITX2             CMP        AL,02AH             JE         aEXITX2             JMP        aEXITX3 aEXITX2:    DEC        aCOUNT0             JNE        aEXITX3              MOV        aCOUNT0,11 aEXITX3:    CMP        aCOUNT1,1             JE         aEXIT0             MOV        AL,'*'             MOV        BL,03H             JMP        aEXIT7 aEXIT0:     MOV        AL,'*'             MOV        BL,0 aEXIT7:     PUSH       CX             MOV        CX,1             MOV        AH,9             INT        10H             POP        CX             CMP        aCOUNT0,11             JNE        aERASE_NEXT             ADD        DI,4             LOOP       aERASE_NEXT             DEC        COL_ON1             MOV        CX,CHAR_CNT1             MOV        DI,POINTER1             MOV        DH,LINE_ON1             MOV        DL,COL_ON1 aLEFT:       RET aERASE        ENDP;-----------------------------------------    ;------------------------------------------ DLY_QRTR    PROC       NEAR             PUSH       CX             PUSH       DX             MOV        DX,40 DLL:        MOV        CX,65535 DL2:        LOOP       DL2             DEC        DX             JNZ        DLL             POP        DX             POP        CX             RET DLY_QRTR    ENDP;-----------------------------------------------   ;--------------------------------------------------    DISPLAY  PROC NEAR         PUSH CX         PUSH DX         PUSH AX         MOV AH,0FH         INT 10H         MOV AH,2         INT 10H         MOV AH,9         MOV AL,'*'         MOV BL,02H         INT 10H         POP AX         POP DX         POP CX          RETDISPLAY ENDP  DISPLAY1 PROC NEAR         PUSH CX         PUSH DX         PUSH AX         MOV AH,2         INT 10H         LEA DX,[DI]         MOV AH,9         INT 21H         POP AX         POP DX         POP CX         RET DISPLAY1 ENDP     DELAY3 PROC   PUSH AX       PUSH BX       PUSH CX       PUSH DX       PUSH SI       PUSH DI       PUSH BP       PUSH ES  MOV DX,40000 UP1:  MOV CX,30000  ;延时   A1: LOOP A1   DEC DX    JNZ UP1  POP ESPOP BP        POP DI        POP SI        POP DX        POP CX        POP BX        POP AX   RET ;返回 DELAY3 ENDP                 ;---------------------------------- CODE_SEG    ENDS             END    MAIN 


0 0
原创粉丝点击