RE:Almacenar dato de teclado
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