SoloCodigo

Programación General => ASM (Ensamblador) => Mensaje iniciado por: kingofmetal en Martes 26 de Mayo de 2009, 01:19

Título: Capturar Datos y Visualizacion en Assembler
Publicado por: kingofmetal en Martes 26 de Mayo de 2009, 01:19
Hola a todos, lo que pasa es que necesito saber las instrucciones para un programa en Assembler de Captura y Visualizacion de datos en Assembler, el programa que uso para ejecutar esto es el Debug y pues he averiguado que con la Int 21 puedo hacer eso y con el servicio 0A para leer cadena de simbolos o caracteres y con el 09 para visualizar cadena de caracteres pero no me funciona..... en debug pongo :

mov ah,0a
int 21
mov ah, 09
int 21

cuando ejecuto con G ...pongo una palabra y le doy enter y saca error, entonces quisiera saber como hago para que el usuario ingrese por teclado una palabra o numeros y los pueda visualizar

Saludos :ouch:
Título: Re: Capturar Datos y Visualizacion en Assembler
Publicado por: Eternal Idol en Martes 26 de Mayo de 2009, 08:13
Fijate aca (http://www.ctyme.com/rbrown.htm) como se usan esos servicios.
Título: Re: Capturar Datos y Visualizacion en Assembler
Publicado por: Toph en Miércoles 27 de Mayo de 2009, 01:17
Cita de: "kingofmetal"
cuando ejecuto con G ...pongo una palabra y le doy enter y saca error, entonces quisiera saber como hago para que el usuario ingrese por teclado una palabra o numeros y los pueda visualizar

Saludos :ouch:
Si te leiste como funciona la interrupcion 21h (AH=09 y Ah=0A) del link que te puso Eternal Idol veras que el error ocurre cuando se va a mostrar la cadena, ya que el programa para saber donde termina esta cadena (que empieza donde apunta DS:DX) busca un signo "$" , como en tu caso la cadena que vas a mostrar es la que introdujo el usuario, al menos que él en la cadena que digito haya puesto un signo de $ no va a dar error, de lo contrario si lo hará, ahora eso no es todo agregandole el $ al final de la cadena ya no da error el debug pero la cadena mostrara datos basura antes ya que como seguramente debe decir en el link cuando se lee una cadena del usuario esta se guarda en la direccion donde apunta DS:DX pero a partir del tercer byte, por eso a la hora de imprimir la cadena siempre mostrará dos caracteres basura antes.