PAGE 60,132
TITLE EXAMBLE1 (EXE) ENTER NAME AND DISPLAY IN BOX
;---------------------------------------------------------------------
        .MODEL  SMALL
        .STACK  64
        .DATA
;---------------------------------------------------------------------
;                       INPUT AREA
PROMPT  DB      'Enter Your Name Hear : '

ROW     DB      ?
COLUMN  DB      ?

NAMEPAR LABEL   BYTE
ACTNAME DB      ?
MAXNAME DB      67
NAMEFLD DB      67 DUP (' ')
;---------------------------------------------------------------------
        .CODE
MAIN    PROC    FAR
        MOV     AX,@DATA
        MOV     DS,AX
        CALL    PCLEAR
M10:
        MOV     DX,0000
        CALL    PPOINT
        LEA     DX,PROMPT
        MOV     CX,23
        CALL    PPRINT
        CALL    PREAD
        CALL    PCLEAR
        CMP     ACTNAME,00
        JE      EXIT
        CALL    PCENTER
        CALL    PSCWEER
        MOV     DH,12
        MOV     DL,COLUMN
        CALL    PPOINT
        CALL    PCODE
        CALL    PPRINT2
        JMP     M10
EXIT:
        MOV     AH,4CH
        INT     21H
MAIN    ENDP
;---------------------------------------------------------------------
PPRINT2 PROC    NEAR
        MOV     AH,09
        LEA     DX,NAMEPAR
        INT     21H
        RET
PPRINT2 ENDP
;---------------------------------------------------------------------
PCODE   PROC    NEAR
        MOV     BH,00
        MOV     BL,ACTNAME
        MOV     NAMEFLD[BX],'$'
        RET
PCODE   ENDP
;---------------------------------------------------------------------
PPOINT  PROC    NEAR
        MOV     AH,02
        MOV     BH,00
        INT     10H
        RET
PPOINT  ENDP
;---------------------------------------------------------------------
PSCWEER PROC    NEAR
        MOV     BH,17H
        MOV     CH,12
        MOV     CL,COLUMN
        DEC     CL
        DEC     CL
        MOV     DH,14
        MOV     DL,CL
        ADD     DL,ROW
        PUSH    DX
        MOV     DH,CH
        MOV     DL,CL
        CALL    PPOINT
        POP     DX
        MOV     AH,06
        MOV     AL,03
        INT     10H
        RET
PSCWEER ENDP
;---------------------------------------------------------------------
PCENTER PROC    NEAR
        MOV     AL,ACTNAME
        MOV     COLUMN,AL
        MOV     AL,COLUMN
        MOV     ROW,AL
        ADD     ROW,00000100B
        SHR     COLUMN,1
        NEG     COLUMN
        ADD     COLUMN,40
        RET
PCENTER ENDP
;---------------------------------------------------------------------
PREAD   PROC    NEAR
        MOV     AH,0AH
        LEA     DX,NAMEPAR
        INT     21H
        RET
PREAD   ENDP
;---------------------------------------------------------------------
PPRINT  PROC    NEAR
        MOV     AH,40H
        MOV     BX,01
        INT     21H
        RET
PPRINT  ENDP
;---------------------------------------------------------------------
PCLEAR  PROC    NEAR
        MOV     AH,06
        MOV     AL,00
        MOV     BH,07
        MOV     CX,0000
        MOV     DX,184FH
        INT     10H
        RET
PCLEAR  ENDP
;---------------------------------------------------------------------
        END     MAIN
