PAGE 60,132
TITLE NAMEINF3 (EXE) ENTER YOUR NAME IN THE MEDIL OF SQUEER FULL BOX
;---------------------------------------------------------------------
        .MODEL  SMALL
        .STACK  64
        .DATA
;---------------------------------------------------------------------
NAMEPAR LABEL   BYTE
MAXNAME DB      64
ACTNAME DB      ?
NAMEFLD DB      64 DUP  (?)

BACK    DB      'Û'

SCOL    DB      ?
NCOL    DB      ?
ROW     DB      ?

MPROMPT DB      '< ENTER > TO EXIT ', 0DH, 0AH
        DB      'Enter Your Name Hear : '    ;  43
;---------------------------------------------------------------------
        .CODE
MAIN    PROC    NEAR
        MOV     AX,@DATA
        MOV     DS,AX
        MOV     ES,AX
        CALL    PCLEAR
M10:
        MOV     DX,0000
        CALL    PPOINT
        MOV     CX,43
        LEA     DX,MPROMPT
        CALL    PPRINT
        CALL    PREAD
        CMP     ACTNAME,00
        JE      EXIT
        CALL    PCLEAR
        CALL    PGETDAT
D10:
        CALL    PDROW
        CMP     ROW,14
        JBE     D10

        MOV     DH,12
        MOV     DL,NCOL
        CALL    PPOINT

        MOV     CL,ACTNAME
        MOV     CH,00
        LEA     DX,NAMEFLD
        CALL    PPRINT

        JMP     M10
EXIT:
        CALL    PCLEAR
        MOV     AH,4CH
        INT     21H
MAIN    ENDP
;---------------------------------------------------------------------
PDROW   PROC    NEAR
        MOV     DH,ROW
        MOV     DL,SCOL
        CALL    PPOINT

        MOV     AH,0AH
        MOV     AL,BACK
        MOV     BH,00
        MOV     CH,00
        MOV     CL,ACTNAME
        ADD     CX,16
        INT     10H

        INC     ROW
        RET
PDROW   ENDP
;---------------------------------------------------------------------
PREAD   PROC    NEAR
        MOV     AH,0AH
        LEA     DX,NAMEPAR
        INT     21H
        RET
PREAD   ENDP
;---------------------------------------------------------------------
PGETDAT PROC    NEAR
        MOV     DL,ACTNAME
        SHR     DL,1
        NEG     DL
        ADD     DL,40
        MOV     NCOL,DL

        MOV     DH,8
        NEG     DH
        ADD     DL,DH
        MOV     SCOL,DL
        MOV     ROW,10

        RET
PGETDAT ENDP
;---------------------------------------------------------------------
PPRINT  PROC    NEAR
        MOV     AH,40H
        MOV     BX,01
        INT     21H
        RET
PPRINT  ENDP
;---------------------------------------------------------------------
PPOINT  PROC    NEAR
        MOV     AH,02
        MOV     BH,00
        INT     10H
        RET
PPOINT  ENDP
;---------------------------------------------------------------------
PCLEAR  PROC    NEAR
        MOV     AH,06
        MOV     AL,00
        MOV     BH,07H
        MOV     CX,0000
        MOV     DX,184FH
        INT     10H
        RET
PCLEAR  ENDP
;---------------------------------------------------------------------
        END     MAIN
