• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            The Fourth Dimension Space

            枯葉北風(fēng)寒,忽然年以殘,念往昔,語默心酸。二十光陰無一物,韶光賤,寐難安; 不畏形影單,道途阻且慢,哪曲折,如渡飛湍。斬浪劈波酬壯志,同把酒,共言歡! -如夢令

            生產(chǎn)實(shí)習(xí)實(shí)驗(yàn)-學(xué)習(xí)BIOS中斷的使用

                  發(fā)現(xiàn)對匯編還是非常的生疏,可能平時(shí)程序?qū)懮倭税桑绕涫菍δ切┘拇嫫骺梢蚤g接尋址記的不牢,BIOS調(diào)用什么基本是現(xiàn)學(xué)現(xiàn)賣。
            原來這個(gè)BIOS調(diào)用比DOS調(diào)用還要底層,連輸出字符串的功能都沒有,輸入字符串要要用鍵盤中斷,顯示漢字要用字模,所謂字模就是一個(gè)點(diǎn)陣,用整數(shù)表示,用位運(yùn)算去判斷是否在此處輸出點(diǎn),很傻×的方法。為了能夠快速移植(--!)把所有的功能都封裝成了函數(shù),在輕松匯編下面能夠成功運(yùn)行。因?yàn)楹苌儆脜R編寫程序,如果程序?qū)懙帽容^菜,還請大家多多指點(diǎn)。
                 程序以菜單形式實(shí)現(xiàn)4個(gè)功能:
            1.顯示自己的英文名字和學(xué)號,并要求輸入學(xué)號,如果匹配,啟動windows,否則重新輸入,直到正確為止.
            2.顯示中文名字,其他和1一致。
            3.用像素繪一個(gè)圖
            4.用菜單實(shí)現(xiàn)所有功能,并實(shí)現(xiàn)一個(gè)創(chuàng)新功能。

            額,這個(gè)創(chuàng)新功能實(shí)在是沒什么想法,就隨便輸出幾句電影的經(jīng)典臺詞,就當(dāng)娛樂一下吧:-P
            注意:BIOS不能使用DOS中斷,而且所有的數(shù)據(jù)必須處于代碼段中。

            PS:老師竟然說我的程序是抄襲的,給了個(gè)三分。。。。無語。。。。

            ;//Bios
            ;//2010.8.27.
            ;//coded by abilitytao

            .MODEL        TINY,C
            .386P
            .DATA
            .CODE
            .STACK

            ;
            //////////////The code following can not be modified////////////////////////

                  START:
                          DB        0100H DUP(00H)
                          ORG       0000H
                          DB        55H,0AAH
                          DB        40H
                          JMP       MAIN_ENTRY
                          ORG       0018H
                          DB        1CH,00H,00H,00H
                          DB        50H,43H,49H,52H
                          DW        4348H,5031H,0000H,0018H,0000H,0180H,0040H,0000H
                          DW        8000H,0000H,0000H,0FFFFH,0000H,0003H
                          ORG       0100H
             MAIN_ENTRY:
                          NOP
                          PUSH      DX
                          PUSH      BX
                          PUSH      AX
                          CALL      SHOW_MAIN   ;THIS FUNCTION IS WHAT WE WANT
                          XOR       AX,AX
                          INT       16H
                          JMP       MAIN_EXIT
              MAIN_EXIT:
                          POP       AX
                          POP       BX
                          POP       DX
            RETF
            ;
            ///////////////////////////////////////////////////////////////////////////

             DATASEGMENT  PROC      NEAR
            ;
            //main order
                 WELCOME  DB        'Welcome To My Programme!',0DH,0AH
                     OP1  DB        
            '1.Simple',0DH,0AH
                     OP2  DB        
            '2.Normal',0DH,0AH
                     OP3  DB        
            '3.Good',0DH,0AH
                     OP4  DB        
            '4.Excellent',0DH,0AH
                      RE  DW        
            '??'
                     CNT  DB        
            '?'
                     TEM  DB        
            '?'




            ;
            ///////////////////////////////////////////////////////////////
                STR_NAME  DB        'WeiTao Luo'
                  STR_ID  DB        
            'ID:0706230226',0DH,0AH
                    STR1  DB        
            '0706230226',00H
                    STR2  DB        
            '????????????????????'
                   ERROR  DB        
            'Your input is invalid,plase input your id again,please press anykey to continue',0DH,0AH
                   RIGHT  DB        
            'Your input is valid,please press anykey to boot the windows',0DH,0AH
                     CH1  DB        00H,04H,7FH,0FEH,44H,44H,44H,44H,44H,44H,7FH,0FCH,42H,04H,02H,00H,07H,0F0H,08H,10H,14H,20H,62H,0C0H,01H,00H,06H,00H,18H,00H,0E0H,00H
                     CH2  DB        08H,40H,08H,40H,08H,44H,17H,0FEH,10H,40H,30H,48H,57H,0FCH,90H,40H,10H,44H,1FH,0FEH,10H,44H,10H,44H,10H,54H,10H,48H,10H,40H,10H,40H
                     CH3  DB        00H,80H,40H,88H,37H,0FCH,10H,80H,83H,0F8H,60H,80H,2FH,0FEH,09H,08H,11H,08H,23H,0FEH,0E2H,08H,25H,08H,28H,88H,30H,88H,20H,28H,20H,10H
                          RET
             ;
            //////////////////////////////////////////////////////////////
            ;Forrest Gump
               STARTWORD  DB        
            'Forrest Gump !',0DH,0AH
                   WORD1  DB        
            '1.Life was like a box of chocolates, you never know what you’re gonna get.',0DH,0AH
                   WORD2  DB        
            '2.Stupid is as stupid does',0DH,0AH
                   WORD3  DB        
            '3.It made me look like a duck in water',0DH,0AH
                   WORD4  DB        
            '4.Jenny and I was like peas and carrots.',0DH,0AH
                   WORD5  DB        
            '5.You just stay away from me please.',0DH,0AH



             DATASEGMENT  ENDP






            ;
            //SHOW NAME                                                              `
               SHOW_NAME  PROC      NEAR
                          PUSH      AX
                          PUSH      BX
                          PUSH      CX
                          PUSH      DX

                          MOV       AX,CS
                          MOV       ES,AX

                          MOV       AL,01H
                          MOV       BH,
            0
                          MOV       BL,74H
                          MOV       CH,
            0
                          MOV       CL,
            10       ;lenth
                          MOV       DH,
            0
                          MOV       DL,
            0
                          MOV       BP,OFFSET STR_NAME

                          MOV       AH,13H
                          INT       10H

                          POP       DX
                          POP       CX
                          POP       BX
                          POP       AX


                          RET



               SHOW_NAME  ENDP
            ;
            //////////////////////////////////////////////////////////////////////////////////////////////

            ;
            //SHOW STUDENT ID                                                              `
                 SHOW_ID  PROC      NEAR
                          PUSH      AX
                          PUSH      BX
                          PUSH      CX
                          PUSH      DX

                          MOV       AX,CS
                          MOV       ES,AX

                          MOV       AL,01H
                          MOV       BH,
            0
                          MOV       BL,74H
                          MOV       CH,
            0
                          MOV       CL,
            15       ;
                          MOV       DH,
            1
                          MOV       DL,
            0
                          MOV       BP,OFFSET STR_ID

                          MOV       AH,13H
                          INT       10H

                          POP       DX
                          POP       CX
                          POP       BX
                          POP       AX
                          RET


                 SHOW_ID  ENDP
            ;
            //////////////////////////////////////////////////////////////////////////////////////////////////

            ;SHOW FOR DEBUG
            ;
            ******************************************************************************************************                                                        `
              SHOW_DEBUG  PROC      NEAR
                          PUSH      AX
                          PUSH      BX
                          PUSH      CX
                          PUSH      DX

                          MOV       AX,CS
                          MOV       ES,AX

                          MOV       AL,01H
                          MOV       BH,
            0
                          MOV       BL,74H
                          MOV       CH,
            0
                          MOV       CL,
            10       ;
                          MOV       DH,
            10
                          MOV       DL,
            10
                          MOV       BP,OFFSET ERROR

                          MOV       AH,13H
                          INT       10H

                          POP       DX
                          POP       CX
                          POP       BX
                          POP       AX

              SHOW_DEBUG  ENDP

            ;
            //////////////////////////////////////////////////////////////////////////////////////////////
            ;******************************************************************************************************



            ;input your id
              INPUT_STR2  PROC      NEAR
                          PUSH      DI
                          PUSH      AX
                          MOV       DI ,OFFSET STR2

                   NEXT:
                          MOV       AH,
            0
                          INT       16H
                          CMP       AL,
            13
                          JZ        ENDPOINT

                          MOV       AH,
            14
                          INT       10H

                          MOV       [DI],AL
                          INC       DI
                          JMP       NEXT
               ENDPOINT:
                          MOV       AL,
            0
                          MOV       [DI],AL

                          MOV       AH,
            14
                          MOV       AL,0AH
                          INT       10H
                          MOV       AL,0DH
                          INT       10H
                          POP       AX
                          POP       DI
                          RET


              INPUT_STR2  ENDP
            ;
            /////////////////////////////////////////////////////////////////////////////////////////////////

            ;output one 
            string after the cursor,this is the most important use just like the cout.
             SHOW_STRING  PROC      NEAR        ;CX:lenth CS:[si]  ,the lenth include enter character
                          PUSH      AX

                  AGAIN:
                          MOV       AH,
            14
                          MOV       AL,[SI]
                          INT       10H
                          INC       SI
                          LOOP      AGAIN

                          POP       AX
                          RET
             SHOW_STRING  ENDP
            ;
            ////////////////////////////////////////////////////////////////////////////////////////////


            ;
            //Cmp STR1 and STR2 which end with 0,if they are the same ,ZF = 0,else ZF = 1
                        CMP_STR1AND2  PROC      NEAR
                          PUSH      ES
                          PUSH      AX
                          PUSH      BX
                          PUSH      DI
                          PUSH      SI
                          MOV       AX,CS
                          MOV       ES,AX

                          MOV       SI,OFFSET STR1
                          MOV       DI,OFFSET STR2
                 AGAIN2:
                          CMPSB
                          JNZ       NOTTHESAME
                          LOOP      AGAIN2
                          JMP       ISTHESAME   ;

             NOTTHESAME:
                          PUSHF
                          POP       AX
                          MOV       BX,0FFBFH
                          AND       AX,BX
                          PUSH      AX
                          POPF
                          JMP       DONE


              ISTHESAME:
                          PUSHF
                          POP       AX
                          MOV       BX,0FFFFH
                          AND       AX,BX

                          PUSH      AX
                          POPF
                   DONE:

                          POP       SI
                          POP       DI
                          POP       BX
                          POP       AX
                          POP       ES
                          RET
                        CMP_STR1AND2  ENDP
            ;
            ////////////////////////////////////////////////////////////////////////////////////////////////


            ;CLR THE SCREEN
                     CLR  PROC      NEAR
                          PUSH      AX
                          MOV       AX,03H
                          INT       10H
                          POP       AX
                          RET
                     CLR  ENDP
            ;
            ///////////////////////////////////////////////////////////////////////////////////////


                    CLR2  PROC      NEAR
                          PUSHA
                          PUSH      DX
                          PUSH      BX
                          MOV       AL,
            0
                          MOV       AH,06H
                          MOV       BH,07H
                          MOV       CH,
            0
                          MOV       CL,
            0
                          MOV       DH, 
            100
                          MOV       DL,
            100
                          INT       10H
                          POP       BX
                          POP       DX
                          POPA
                          RET
                    CLR2  ENDP

              START_MENU  PROC      NEAR
                          PUSH      CX
                          PUSH      SI

                          MOV       CX,
            26
                          MOV       SI,OFFSET WELCOME
                          CALL      SHOW_STRING


                          MOV       CX,
            10
                          MOV       SI,OFFSET OP1
                          CALL      SHOW_STRING

                          MOV       CX,
            10
                          MOV       SI,OFFSET OP2
                          CALL      SHOW_STRING

                          MOV       CX,
            8
                          MOV       SI,OFFSET OP3
                          CALL      SHOW_STRING

                          MOV       CX,
            13
                          MOV       SI,OFFSET OP4
                          CALL      SHOW_STRING
                          POP       SI
                          POP       CX

                          RET
              START_MENU  ENDP


                   OUTPUTCHINESENAME  PROC      NEAR        ;
            interface DX: row ,CX Col,cs:[si] POINT THE HEAD OF THE ARRAY
                          PUSH      ES
                          PUSH      AX
                          PUSH      BX
                          PUSH      DI
                          PUSH      BP


                          MOV       AL,
            7
                          MOV       BH,
            1
                          MOV       AH,0CH






                          MOV       CNT,
            16
                          MOV       RE ,CX


                     L1:
                          PUSH      BX
                          MOV       BX,[SI]
                          MOV       TEM,BH
                          MOV       BH,BL
                          MOV       BL,TEM
                          MOV       [SI],BX
                          POP       BX




                          MOV       CX,RE

                          MOV       DI,0001H
                     L2:
                          ROR       DI,
            1
                          TEST      [SI],DI
                          JZ        L2END
                          INT       10H
                  L2END:
                          INC       CX
                          CMP       DI,0001H
                          JZ        L1END
                          JMP       L2

                  L1END:
                          INC       SI
                          INC       SI
                          INC       DX
                          DEC       CNT
                          CMP       CNT,
            0
                          JZ        THEEND
                          JMP       L1

                 THEEND:


                          POP       BP
                          POP       DI
                          POP       BX
                          POP       AX
                          POP       ES

                          RET
                   OUTPUTCHINESENAME  ENDP


                 PICTURE  PROC      NEAR
                          PUSHA
                          PUSH      ES
                          PUSH      DS
                          MOV       AX,CS
                          MOV       ES,AX

                          MOV       AX,0013H
                          INT       10H
                          MOV       AL,
            7
                          MOV       BH,
            1
                          MOV       AH,0CH

                          MOV       CX,
            1
                          MOV       DX,
            19
                          INT       10H
                          MOV       DX,
            20
                          INT       10H
                          MOV       DX,
            21
                          INT       10H
                          MOV       DX,
            22
                          INT       10H
                          MOV       DX,
            23
                          INT       10H
                          MOV       DX,
            24
                          INT       10H
                          MOV       CX,
            2
                          MOV       DX,
            18
                          INT       10H
                          MOV       DX,
            15
                          INT       10H
                          MOV       DX,
            16
                          INT       10H
                          MOV       DX,
            17
                          INT       10H
                          MOV       DX,
            28
                          INT       10H
                          MOV       DX,
            25
                          INT       10H
                          MOV       DX,
            26
                          INT       10H
                          MOV       DX,
            27
                          INT       10H
                          MOV       CX,
            3
                          MOV       DX,
            13
                          INT       10H
                          MOV       DX,
            12
                          INT       10H
                          MOV       DX,
            14
                          INT       10H
                          MOV       DX,
            31
                          INT       10H
                          MOV       DX,
            29
                          INT       10H
                          MOV       DX,
            30
                          INT       10H
                          MOV       CX,
            4
                          MOV       DX,
            11
                          INT       10H
                          MOV       DX,
            32
                          INT       10H
                          MOV       CX,
            5
                          MOV       DX,
            9
                          INT       10H
                          MOV       DX,
            10
                          INT       10H
                          MOV       DX,
            34
                          INT       10H
                          MOV       DX,
            33
                          MOV       CX,
            6
                          MOV       DX,
            35
                          INT       10H
                          MOV       DX,
            8
                          INT       10H
                          MOV       CX,
            7
                          MOV       DX,
            7
                          INT       10H
                          MOV       DX,
            36
                          INT       10H
                          MOV       CX,
            8
                          MOV       DX,
            6
                          INT       10H
                          MOV       DX,
            37
                          INT       10H
                          MOV       CX,
            9
                          MOV       DX,
            5
                          INT       10H
                          MOV       DX,
            38
                          INT       10H
                          MOV       CX,
            10
                          MOV       DX,
            4
                          INT       10H
                          MOV       DX,
            39
                          INT       10H
                          MOV       CX,
            11
                          MOV       DX,
            4
                          INT       10H
                          MOV       DX,
            39
                          INT       10H
                          MOV       DX,
            10
                          INT       10H
                          MOV       DX,
            11
                          INT       10H
                          MOV       DX,
            12
                          INT       10H
                          MOV       CX,
            12
                          MOV       DX,
            3
                          INT       10H
                          MOV       DX,
            40
                          INT       10H
                          MOV       DX,
            8
                          INT       10H
                          MOV       DX,
            9
                          INT       10H
                          MOV       DX,
            10
                          INT       10H
                          MOV       DX,
            14
                          INT       10H
                          MOV       CX,
            13
                          MOV       DX,
            3
                          INT       10H
                          MOV       DX,
            40
                          INT       10H
                          MOV       DX,
            6
                          INT       10H
                          MOV       DX,
            7
                          INT       10H
                          MOV       DX,
            15
                          INT       10H
                          MOV       DX,
            16
                          INT       10H
                          MOV       CX,
            14
                          MOV       DX,
            2
                          INT       10H
                          MOV       DX,
            41
                          INT       10H
                          MOV       DX,
            5
                          INT       10H
                          MOV       DX,
            17
                          INT       10H
                          MOV       DX,
            18
                          INT       10H
                          MOV       CX,
            15
                          MOV       DX,
            2
                          INT       10H
                          MOV       DX,
            41
                          INT       10H
                          MOV       DX,
            4
                          INT       10H
                          MOV       DX,
            19
                          INT       10H
                          MOV       CX,
            16
                          MOV       DX,
            2
                          INT       10H
                          MOV       DX,
            3
                          INT       10H
                          MOV       DX,
            20
                          INT       10H
                          MOV       DX,
            41
                          INT       10H
                          MOV       CX,
            17
                          MOV       DX,
            2
                          INT       10H
                          MOV       DX,
            20
                          INT       10H
                          MOV       DX,
            41
                          INT       10H
                          MOV       CX,
            18
                          MOV       DX,
            1
                          INT       10H
                          MOV       DX,
            42
                          INT       10H
                          MOV       DX,
            11
                          INT       10H
                          MOV       DX,
            20
                          INT       10H
                          MOV       DX,
            32
                          INT       10H
                          MOV       CX,
            19
                          MOV       DX,
            1
                          INT       10H
                          MOV       DX,
            42
                          INT       10H
                          MOV       DX,
            10
                          INT       10H
                          MOV       DX,
            12
                          INT       10H
                          MOV       DX,
            31
                          INT       10H
                          MOV       DX,
            33
                          INT       10H
                          MOV       DX,
            21
                          INT       10H
                          MOV       CX,
            20
                          MOV       DX,
            1
                          INT       10H
                          MOV       DX,
            42
                          INT       10H
                          MOV       DX,
            9
                          INT       10H
                          MOV       DX,
            13
                          INT       10H
                          MOV       DX,
            30
                          INT       10H
                          MOV       DX,
            34
                          INT       10H
                          MOV       DX,
            21
                          INT       10H
                          MOV       CX,
            21
                          MOV       DX,
            1
                          INT       10H
                          MOV       DX,
            42
                          INT       10H
                          MOV       DX,
            8
                          INT       10H
                          MOV       DX,
            14
                          INT       10H
                          MOV       DX,
            29
                          INT       10H
                          MOV       DX,
            35
                          INT       10H
                          MOV       DX,
            21
                          INT       10H

                          MOV       CX,
            42
                          MOV       DX,
            19
                          INT       10H
                          MOV       DX,
            20
                          INT       10H
                          MOV       DX,
            21
                          INT       10H
                          MOV       DX,
            22
                          INT       10H
                          MOV       DX,
            23
                          INT       10H
                          MOV       DX,
            24
                          INT       10H
                          MOV       CX,
            41
                          MOV       DX,
            18
                          INT       10H
                          MOV       DX,
            15
                          INT       10H
                          MOV       DX,
            16
                          INT       10H
                          MOV       DX,
            17
                          INT       10H
                          MOV       DX,
            28
                          INT       10H
                          MOV       DX,
            25
                          INT       10H
                          MOV       DX,
            26
                          INT       10H
                          MOV       DX,
            27
                          INT       10H
                          MOV       CX,
            40
                          MOV       DX,
            13
                          INT       10H
                          MOV       DX,
            12
                          INT       10H
                          MOV       DX,
            14
                          INT       10H
                          MOV       DX,
            31
                          INT       10H
                          MOV       DX,
            29
                          INT       10H
                          MOV       DX,
            30
                          INT       10H
                          MOV       CX,
            39
                          MOV       DX,
            11
                          INT       10H
                          MOV       DX,
            32
                          INT       10H
                          MOV       CX,
            38
                          MOV       DX,
            9
                          INT       10H
                          MOV       DX,
            10
                          INT       10H
                          MOV       DX,
            34
                          INT       10H
                          MOV       DX,
            33
                          MOV       CX,
            37
                          MOV       DX,
            35
                          INT       10H
                          MOV       DX,
            8
                          INT       10H
                          MOV       CX,
            36
                          MOV       DX,
            7
                          INT       10H
                          MOV       DX,
            36
                          INT       10H
                          MOV       CX,
            35
                          MOV       DX,
            6
                          INT       10H
                          MOV       DX,
            37
                          INT       10H
                          MOV       CX,
            34
                          MOV       DX,
            5
                          INT       10H
                          MOV       DX,
            38
                          INT       10H
                          MOV       CX,
            33
                          MOV       DX,
            4
                          INT       10H
                          MOV       DX,
            39
                          INT       10H
                          MOV       DX,
            31
                          INT       10H
                          MOV       DX,
            32
                          INT       10H
                          MOV       DX,
            33
                          INT       10H
                          MOV       CX,
            32
                          MOV       DX,
            4
                          INT       10H
                          MOV       DX,
            39
                          INT       10H
                          MOV       DX,
            29
                          INT       10H
                          MOV       DX,
            30
                          INT       10H
                          MOV       DX,
            34
                          INT       10H
                          MOV       DX,
            35
                          INT       10H
                          MOV       CX,
            31
                          MOV       DX,
            3
                          INT       10H
                          MOV       DX,
            40
                          INT       10H
                          MOV       DX,
            27
                          INT       10H
                          MOV       DX,
            28
                          INT       10H
                          MOV       DX,
            35
                          INT       10H
                          MOV       CX,
            30
                          MOV       DX,
            3
                          INT       10H
                          MOV       DX,
            40
                          INT       10H
                          MOV       DX,
            26
                          INT       10H
                          MOV       DX,
            37
                          INT       10H
                          MOV       CX,
            29
                          MOV       DX,
            2
                          INT       10H
                          MOV       DX,
            41
                          INT       10H
                          MOV       DX,
            24
                          INT       10H
                          MOV       DX,
            25
                          INT       10H
                          MOV       DX,
            38
                          INT       10H
                          MOV       CX,
            28
                          MOV       DX,
            2
                          INT       10H
                          MOV       DX,
            41
                          INT       10H
                          MOV       DX,
            23
                          INT       10H
                          MOV       DX,
            39
                          INT       10H
                          MOV       CX,
            27
                          MOV       DX,
            2
                          INT       10H
                          MOV       DX,
            40
                          INT       10H
                          MOV       DX,
            22
                          INT       10H
                          MOV       DX,
            41
                          INT       10H
                          MOV       CX,
            26
                          MOV       DX,
            2
                          INT       10H
                          MOV       DX,
            22
                          INT       10H
                          MOV       DX,
            41
                          INT       10H
                          MOV       CX,
            25
                          MOV       DX,
            1
                          INT       10H
                          MOV       DX,
            42
                          INT       10H
                          MOV       DX,
            11
                          INT       10H
                          MOV       DX,
            22
                          INT       10H
                          MOV       DX,
            32
                          INT       10H
                          MOV       CX,
            24
                          MOV       DX,
            1
                          INT       10H
                          MOV       DX,
            42
                          INT       10H
                          MOV       DX,
            10
                          INT       10H
                          MOV       DX,
            12
                          INT       10H
                          MOV       DX,
            31
                          INT       10H
                          MOV       DX,
            33
                          INT       10H
                          MOV       DX,
            22
                          INT       10H
                          MOV       CX,
            23
                          MOV       DX,
            1
                          INT       10H
                          MOV       DX,
            42
                          INT       10H
                          MOV       DX,
            9
                          INT       10H
                          MOV       DX,
            13
                          INT       10H
                          MOV       DX,
            30
                          INT       10H
                          MOV       DX,
            34
                          INT       10H
                          MOV       DX,
            21
                          INT       10H
                          MOV       CX,
            22
                          MOV       DX,
            1
                          INT       10H
                          MOV       DX,
            42
                          INT       10H
                          MOV       DX,
            8
                          INT       10H
                          MOV       DX,
            14
                          INT       10H
                          MOV       DX,
            29
                          INT       10H
                          MOV       DX,
            35
                          INT       10H
                          MOV       DX,
            21
                          INT       10H

                          MOV       AH,
            0
                          INT       16H
                          MOV       AX,0003H
                          INT       10H

                          POP       DS
                          POP       ES
                          POPA
                          RET
                 PICTURE  ENDP




            ;
            //Main Function
               SHOW_MAIN  PROC      NEAR
                          MOV       AX,CS
                          MOV       DS,AX
                          MOV       AX,CS
                          MOV       ES,AX

                          CALL      START_MENU
                          MOV       AH,
            0
                          INT       16H
                          CMP       AL,31H
                          JZ        OPTION1

                          CMP       AL,32H
                          JZ        OPTION2

                          CMP       AL,33H
                          JZ        OPTION3

                          CMP       AL,34H
                          JZ        OPTION4

            ;
            /this is for OPTION1
            ;
            ///////////////////////////////////////////////////////////////////////////////
                OPTION1:
                          CALL      CLR

                          CALL      SHOW_NAME   ;output your english name
                          CALL      SHOW_ID     ;
            out put your student id
                          MOV       CX,
            10       ;
                          CALL      INPUT_STR2  ;input your id
                          CALL      CMP_STR1AND2
                          JZ        CORRECT

                  WORNG:
                          MOV       CX,
            81
                          MOV       SI,OFFSET ERROR
                          CALL      SHOW_STRING
                          MOV       AH,
            0
                          INT       16H
                          JMP       OPTION1



                CORRECT:
                          MOV       CX,
            61
                          MOV       SI,OFFSET RIGHT
                          CALL      SHOW_STRING
                         ; MOV       AH,
            0
                         ; INT       16H
                          JMP       FINALEND

            ;
            ////////////////////////////////////////////////////////////////////////////////////

                OPTION2:

                          CALL      CLR
                          MOV       AX,0013H
                          INT       10H
                          MOV       CX,
            0
                          MOV       DX,
            0
                          MOV       SI,OFFSET CH1
                          CALL      OUTPUTCHINESENAME

                          MOV       CX,
            16
                          MOV       DX,
            0
                          MOV       SI,OFFSET CH2
                          CALL      OUTPUTCHINESENAME

                          MOV       CX,
            32
                          MOV       DX,
            0
                          MOV       SI,OFFSET CH3
                          CALL      OUTPUTCHINESENAME

                          MOV       AH,0H       ;
                          INT       16H

                          JMP       OPTION1
                          JMP       FINALEND



                OPTION3:
                          CALL      PICTURE
                          MOV       AH,0H
                          INT       16H
                          JMP       FINALEND




                OPTION4:
                          CALL      CLR
                          MOV       SI,OFFSET STARTWORD
                          MOV       CX,
            16
                          CALL      SHOW_STRING
                          MOV       AL ,0AH
                          MOV       AH,
            14
                          INT       10H
                          MOV       AL ,0DH
                          MOV       AH,
            14
                          INT       10H



                          MOV       SI,OFFSET WORD1
                          MOV       CX,
            77
                          CALL      SHOW_STRING
                          MOV       SI,OFFSET WORD2
                          MOV       CX,
            38
                          CALL      SHOW_STRING
                          MOV       SI,OFFSET WORD3
                          MOV       CX,
            40
                          CALL      SHOW_STRING
                          MOV       SI,OFFSET WORD4
                          MOV       CX,
            42
                          CALL      SHOW_STRING
                          MOV       SI,OFFSET WORD5
                          MOV       CX,
            38
                          CALL      SHOW_STRING




               FINALEND:

                          RET
               SHOW_MAIN  ENDP
                          END       START

            posted on 2010-08-28 00:23 abilitytao 閱讀(401) 評論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            精品无码久久久久久尤物| 少妇被又大又粗又爽毛片久久黑人 | 精品久久久中文字幕人妻| 色播久久人人爽人人爽人人片AV| 怡红院日本一道日本久久 | 色成年激情久久综合| 国产综合精品久久亚洲| 日日狠狠久久偷偷色综合96蜜桃| 午夜精品久久久久| 久久亚洲精品视频| 国产精品一区二区久久精品涩爱| 精品久久久久久成人AV| 久久一区二区三区99| 久久这里只精品国产99热| 久久www免费人成看片| 久久精品这里只有精99品| 久久99久久99精品免视看动漫| 久久最新免费视频| 国产精品99久久久久久董美香| 久久精品国产色蜜蜜麻豆| 狠狠精品干练久久久无码中文字幕| 午夜天堂av天堂久久久| 久久这里的只有是精品23| 久久99国产一区二区三区| 99re久久精品国产首页2020| 综合人妻久久一区二区精品| 性做久久久久久久久| 国产日韩久久久精品影院首页| 久久福利青草精品资源站| 久久久亚洲欧洲日产国码二区| 无码任你躁久久久久久老妇App| 国产精久久一区二区三区| 国产成人精品综合久久久| 成人国内精品久久久久影院VR| 久久99国产精品99久久| 久久99国产精品久久99| 久久久综合九色合综国产| 91久久精品国产91性色也| 一级做a爱片久久毛片| 香蕉久久夜色精品国产小说| 国产真实乱对白精彩久久|