• <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

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

            生產實習實驗-學習BIOS中斷的使用

                  發現對匯編還是非常的生疏,可能平時程序寫少了吧,尤其是對那些寄存器可以間接尋址記的不牢,BIOS調用什么基本是現學現賣。
            原來這個BIOS調用比DOS調用還要底層,連輸出字符串的功能都沒有,輸入字符串要要用鍵盤中斷,顯示漢字要用字模,所謂字模就是一個點陣,用整數表示,用位運算去判斷是否在此處輸出點,很傻×的方法。為了能夠快速移植(--!)把所有的功能都封裝成了函數,在輕松匯編下面能夠成功運行。因為很少用匯編寫程序,如果程序寫得比較菜,還請大家多多指點。
                 程序以菜單形式實現4個功能:
            1.顯示自己的英文名字和學號,并要求輸入學號,如果匹配,啟動windows,否則重新輸入,直到正確為止.
            2.顯示中文名字,其他和1一致。
            3.用像素繪一個圖
            4.用菜單實現所有功能,并實現一個創新功能。

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

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

            ;//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)  編輯 收藏 引用

            国产精品久久久久乳精品爆| 久久婷婷五月综合97色一本一本| 狠狠综合久久综合88亚洲| 国产精品99久久精品| 99久久人妻无码精品系列蜜桃 | 国内精品久久久久影院日本 | 久久er热视频在这里精品| 久久久久女人精品毛片| 亚洲va中文字幕无码久久| 久久丫忘忧草产品| 久久久国产亚洲精品| 久久成人小视频| 亚洲αv久久久噜噜噜噜噜| 久久久国产精品亚洲一区 | 久久亚洲中文字幕精品有坂深雪| 思思久久精品在热线热| 一本久久a久久精品vr综合| 老色鬼久久亚洲AV综合| 99久久777色| 久久久久国色AV免费看图片| 午夜精品久久久内射近拍高清| 久久笫一福利免费导航 | 久久超乳爆乳中文字幕| 国产精品久久永久免费| 精品久久综合1区2区3区激情| 久久久国产精华液| 精品久久久久久国产| 久久久精品人妻一区二区三区蜜桃| a高清免费毛片久久| 久久久99精品成人片中文字幕| 久久频这里精品99香蕉久| 亚洲va久久久噜噜噜久久| 久久―日本道色综合久久| 青青草国产97免久久费观看| 狠狠色综合网站久久久久久久高清 | 久久久WWW成人免费毛片| 99精品国产综合久久久久五月天| 国产V综合V亚洲欧美久久| 久久久久久噜噜精品免费直播| 一本一道久久综合狠狠老| 色综合合久久天天综合绕视看|