Obtener entradas de cadena y mostrar entradas con DOS interrumpe MASM

En MASM, creé una variable de búfer para contener la entrada de cadena de usuario desde el teclado. Estoy atascado en cómo mantener la entrada de cadena en esa variable de búfer. No tengo ninguna biblioteca vinculada como las irvine y quiero hacer esto con las interrupciones de DOS. Hasta ahora tengo algo en la línea de

            .model small

            .stack 100h

            .data
buff        db  25 dup(0), 10, 13
lbuff       EQU ($ - buff)              ; bytes in a string

            .code
main:
            mov ax, @data
            mov ds, ax              

            mov ah, 0Ah         ; doesn't work
            mov buff, ah        ; doesn't seem right
            int 21h                 


            mov     ax, 4000h       ; display to screen
            mov     bx, 1           
            mov     cx, lbuff           
            mov     dx, OFFSET buff     
            int     21h 

            mov ah, 4ch
            int 21h

            end main

Supongo que usar 0Ah es correcto, ya que es para leer la matriz de entrada de caracteres almacenados en búfer.

Respuestas a la pregunta(3)

Su respuesta a la pregunta