Poet_Gothic
Bovino adolescente
- Desde
- 24 Feb 2009
- Mensajes
- 64
- Tema Autor
- #1
Hola buenas noches...
Quisiera hacer una pregunta a ver si alguien puede orientarme en lenguaje ensamblador.
Tengo este código que es sobre validar una cadena de caracteres y lo único que me falta es agregarle un pequeño contador para que este se cicle 3 veces en caso de que la respuesta no sea correcta a la ya establecida y también debo agregar macros
¿Alguien puede orientarme?
.dosseg
.model small
.stack 64
.data
;Simples mensajes
msj2 db 0ah,0dh, 'Bienvenido, por favor ingrese su password: ', '$'
msj3 db 0ah,0dh, 'Su password es correcto ', '$'
msj4 db 0ah,0dh, 'Su password es incorrecto, por favor intentelo nuevamente ', '$'
vec db ('isael'), '$' ;Vector 1
vec2 db 7 dup(' '), '$' ;Vector 2
.code
inicio:
mov ax,@data
mov ds,ax
mov ah,09
mov dx,offset msj1 ;Imprimimos el msj1
int 21h
lea si,vec ;Cargamos en el registro si al primer vector
lea si,vec2 ; Se carga en SI el vector2
pedir2: ;
mov ah,01h
int 21h
mov [si],al
inc si
cmp al,0dh
ja pedir2
jb pedir2
mov cx,7 ;Determinamos la cantidad de datos a leer/comparar
mov AX,DS ;mueve el segmento datos a AX
mov ES,AX ;Mueve los datos al segmento extra
compara:
lea si,vec ;cargamos en si la cadena que contiene vec
lea di,vec2 ;cargamos en di la cadena que contiene vec2
repe cmpsb ;compara las dos cadenas
Jne diferente ;si no fueron igual
je iguales ;Si fueron iguales
iguales:
mov dx,offset msj3 ;Imprime que son iguales y finaliza el programa.
int 21h
diferente:
mov dx,offset msj4 ; Imprime que son diferentes y finaliza el programa.
int 21h
mov ah,04ch
int 21h
end
Quisiera hacer una pregunta a ver si alguien puede orientarme en lenguaje ensamblador.
Tengo este código que es sobre validar una cadena de caracteres y lo único que me falta es agregarle un pequeño contador para que este se cicle 3 veces en caso de que la respuesta no sea correcta a la ya establecida y también debo agregar macros
¿Alguien puede orientarme?
.dosseg
.model small
.stack 64
.data
;Simples mensajes
msj2 db 0ah,0dh, 'Bienvenido, por favor ingrese su password: ', '$'
msj3 db 0ah,0dh, 'Su password es correcto ', '$'
msj4 db 0ah,0dh, 'Su password es incorrecto, por favor intentelo nuevamente ', '$'
vec db ('isael'), '$' ;Vector 1
vec2 db 7 dup(' '), '$' ;Vector 2
.code
inicio:
mov ax,@data
mov ds,ax
mov ah,09
mov dx,offset msj1 ;Imprimimos el msj1
int 21h
lea si,vec ;Cargamos en el registro si al primer vector
lea si,vec2 ; Se carga en SI el vector2
pedir2: ;
mov ah,01h
int 21h
mov [si],al
inc si
cmp al,0dh
ja pedir2
jb pedir2
mov cx,7 ;Determinamos la cantidad de datos a leer/comparar
mov AX,DS ;mueve el segmento datos a AX
mov ES,AX ;Mueve los datos al segmento extra
compara:
lea si,vec ;cargamos en si la cadena que contiene vec
lea di,vec2 ;cargamos en di la cadena que contiene vec2
repe cmpsb ;compara las dos cadenas
Jne diferente ;si no fueron igual
je iguales ;Si fueron iguales
iguales:
mov dx,offset msj3 ;Imprime que son iguales y finaliza el programa.
int 21h
diferente:
mov dx,offset msj4 ; Imprime que son diferentes y finaliza el programa.
int 21h
mov ah,04ch
int 21h
end