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


            亚洲国产精品综合久久一线| 97精品伊人久久大香线蕉app| 久久精品无码一区二区app| 国产巨作麻豆欧美亚洲综合久久 | 婷婷五月深深久久精品| 亚洲精品蜜桃久久久久久| 久久久精品免费国产四虎| 久久笫一福利免费导航| 久久不见久久见免费视频7| 久久精品国产亚洲5555| 久久Av无码精品人妻系列| 久久久久久久久久久免费精品| 久久综合亚洲色一区二区三区| 久久―日本道色综合久久| 一级女性全黄久久生活片免费 | 亚洲精品国产自在久久| 国产精品99精品久久免费| 性做久久久久久久久老女人| 久久免费的精品国产V∧| 欧美性猛交xxxx免费看久久久| 99久久久精品| 国产精品一区二区久久不卡| 日韩欧美亚洲国产精品字幕久久久 | 国内精品久久久久久久亚洲| 久久狠狠高潮亚洲精品| 久久无码专区国产精品发布| 久久福利片| 久久国产福利免费| 91久久福利国产成人精品| 狠狠色丁香久久综合婷婷| 久久国产精品无码HDAV| 久久综合88熟人妻| 日日躁夜夜躁狠狠久久AV| 久久久久成人精品无码中文字幕 | 精品国产99久久久久久麻豆 | 久久久国产一区二区三区| 91久久福利国产成人精品| 国产精品免费久久| 久久精品亚洲乱码伦伦中文| 精品久久久无码中文字幕天天| 久久国产成人|