Foro de elhacker.net

Programación => ASM => Mensaje iniciado por: capiil4d en 14 Junio 2013, 22:27 pm



Título: Salto de linea luego de escribir
Publicado por: capiil4d en 14 Junio 2013, 22:27 pm
Buenas tardes.

Declare codigo para que se pueda ingresar por teclado 10 caracteres.

Lo que ando buscando es que cuando termino de escribir mi palabra y no llego a los 10 caracteres, al apretar enter , de por finalizado mi frase y haga un salgo de linea para que pueda escribir otra frase.

No se si me explico ?

Código:
org 100h

jmp inicio        ; salto a inicio


ingresar_texto db "Ingresar un mensaje para cifrar" ,13,10, '$'
salto db 13, 10, '$'

cant_letras equ 10,              ; cantidad de letras del texto a ingresar
max_long equ 10                  ; longitud maxima de letras
texto db max_long+1 dup (?)      ; reserva lugar para la longitud del texto en memoria

inicio: 
mov dx, offset salto             ; salto de linea
mov ah, 9
int 21h                          ; etiqueta inicio
mov dx, offset ingresar_texto    ; mueve el offset para mostrar

mov ah, 9                        ; sub funcion 9 de la int 21h para ver
int 21h                          ; por pantalla

mov cl, 0                        ; inicio contador en 0

ciclo:                           ; etiqueta ciclo
 
                               
cmp cl, cant_letras              ; comparo cl con el texto ingresado por usuario
je inicio                        ; si cl = 10 , se vuelve para ingresar texto
                                 ; nuevo
                               
mov ah, 1
mov dx, offset ingresar_texto    ; permite ingresar texto por pantalla
int 21h
inc cl                           ; incremento contador   

jmp ciclo                        ; salto a ciclo


fin:                             ; etiqueta fin

ret                              ; ret

Aca cuando apreto enter, me lo toma como un caracter mas.

Saludos!