Declaración de ensamblaje: buffer db 10,?, 10 dup(' ') ¿Por qué solo se pueden ingresar 10 caracteres? ¡Explique en detalle!
El área de datos que diseñó de esta manera obviamente está destinada a usarse con la llamada de función numérica 0AH de DOS (entrada de cadena).
La llamada a la función 0AH de DOS especifica la estructura de su búfer de datos:
1. El valor del primer byte se determina durante el diseño del programa, lo que determina los caracteres que se pueden ingresar. longitud máxima de la cadena (incluidos los retornos de carro).
2. DOS completa el segundo byte después de completar la llamada a la función, registrando el número real de caracteres ingresados (excluidos los retornos de carro).
3. El área que comienza desde el tercer byte hacia atrás se utiliza para almacenar el contenido real de la cadena de entrada durante la ejecución del programa.
Tomando sus datos como ejemplo, durante la ejecución del programa, al llamar a la función 0AH, puede ingresar hasta 9 caracteres, y luego el sistema DOS ignorará estos caracteres y esperará a que presione Enter. Después de presionar la tecla Enter, el segundo byte registrará los caracteres que ingresó, hasta 9 caracteres. Los caracteres aceptados por el sistema más el carácter de retorno de carro se almacenarán en el tercer byte comenzando desde el final del área de datos.