Ensamblador - Almacenar dato de teclado

 
Vista:

Almacenar dato de teclado

Publicado por Alejandro (2 intervenciones) el 15/06/2006 15:49:53
Hola, que tal ? Wueria saber como haer para mostrar un mensaje en pantalla, esperar a que se ingrese un dato, validar si es numérico o no, y almacenarlo. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Almacenar dato de teclado

Publicado por Ankriman (6 intervenciones) el 18/06/2006 11:55:13
Este pequeño programa se encarga de Imprimir una cadena, leer diez caracteres del teclado, deducir si lo ingresado es cadena o números y guardarlo en un vector. Ensamblar con masm.

.model small
.data
texto db 10d,13d,'Escribir:$'
texto2 db 10d,13d,'La cadena es $'
texto3 db 10d,13d,'El numero es $'
NoNumero db 0h
Guardar db 11 dup('$')
.stack
.code
programa:
mov ax,@data
mov ds,ax
mov dx,offset Guardar
mov bp,dx
mov NoNumero,0h
mov dx,offset texto
call Imprimir ;Llama para imprimir en
mov cx,10d ;pantalla.
Leer:
mov ah,01h
int 21h ;lee caracter del teclado
cmp al,30h
jae Parece
Parece:
cmp al,40h
jae FalsaAlarma
jmp Seguir
FalsaAlarma:
mov NoNumero,1d
Seguir:
mov ds:[bp],al ;Graba en vector.
inc bp
loop Leer
cmp NoNumero,0d
jz Numero
mov dx,offset texto2 ;Es cadena.
call Imprimir
jmp Ver
Numero:
mov dx,offset texto3 ;Es numero.
call Imprimir
jmp Ver
Ver:
mov dx,offset Guardar
mov ah,09h ;Función que despliega
int 21h ;cadena por pantalla.
jmp Programa
Imprimir:
mov ah,09h
int 21h
ret
Salir:
mov ax,4c00h
int 21h ;Sale.
end programa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Almacenar dato de teclado

Publicado por mary (1 intervención) el 16/10/2013 00:34:34
Amigo y como te sales del programa?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Almacenar dato de teclado

Publicado por Andrés Escobosa (1 intervención) el 15/11/2018 08:35:13
En la parte inferior, arriba de "Imprimir:", debería ser: "jmp Salir" en lugar de: "jmp Programa". Te dejo aquí la corrección:

Ver:
1
2
3
4
5
6
7
8
9
10
11
12
mov	dx,offset Guardar
mov	ah,09h	;Función que despliega
int	21h	;cadena por pantalla.
jmp	Salir
Imprimir:
mov ah,09h
int 21h
ret
Salir:
mov ax,4c00h
int 21h	;Sale.
end programa

Espero haber respondido tu duda sobre cómo salir del programa.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar