• <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é)號,如果匹配,啟動(dòng)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 閱讀(404) 評論(0)  編輯 收藏 引用


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


            开心久久婷婷综合中文字幕| 国产欧美久久久精品| 久久影视综合亚洲| 久久久亚洲AV波多野结衣| 性做久久久久久免费观看| 亚洲国产精品综合久久一线| 亚洲人成网站999久久久综合| 久久久无码精品亚洲日韩京东传媒 | 国产精品青草久久久久婷婷| 成人精品一区二区久久久| 国产精品美女久久福利网站| 日本人妻丰满熟妇久久久久久| 国产成人久久精品二区三区| 亚洲?V乱码久久精品蜜桃| jizzjizz国产精品久久| 久久久这里有精品中文字幕| 狼狼综合久久久久综合网| 久久青青国产| 国产亚洲婷婷香蕉久久精品| 亚洲国产高清精品线久久 | 亚洲国产成人精品久久久国产成人一区二区三区综 | 国产成人精品综合久久久 | 一本色道久久综合亚洲精品| 麻豆精品久久精品色综合| 97精品伊人久久久大香线蕉| 精品久久久久久久久久久久久久久 | 91精品国产综合久久婷婷| 伊人久久成人成综合网222| 婷婷综合久久狠狠色99h| 久久香综合精品久久伊人| 精品久久久久久无码不卡| 久久久不卡国产精品一区二区| 久久久久久狠狠丁香| 久久精品亚洲精品国产色婷| 波多野结衣AV无码久久一区| 久久久久久久精品妇女99| 99久久香蕉国产线看观香| 无码八A片人妻少妇久久| 人人狠狠综合久久亚洲高清| 久久久久久亚洲精品不卡| 美女写真久久影院|