En esta entrada les dejo un programa que dice si el primer número digitado es mayor o menor que un segundo número digitado.
El programa no tiene mayor dificultad que los anteriores, funciona comparando el primer número con el segundo y asi se activa una bandera (CF) el cual la usamos para hacer un salto si es mayor (ja), menor (jb) o si es igual (je).
a
jmp 160
e 0103 " Son iguales " 0a 0d "$"
e 0120 " Es Menor " 0a 0d "$"
e 0140 " Es Mayor " 0a 0d "$"
a 160
mov ah,01 ;Digita el primer número
int 21
mov bl,al
mov ah,01 ;Digita el segundo número
int 21
cmp al,bl ;compara el segundo numero con el primero
je 172 ;si son iguales salta
ja 017B ;si el segundo es mayor
jb 184 ;Si el segundo es menor
mov ah,09
mov dx,0103 ;imprime que son iguales
int 21
int 20
mov ah,09
mov dx,0120 ;imprime que es menor
int 21
int 20
mov ah,09
mov dx,0140 ;imprime que es mayor
int 21
int 20
Programa en ejecución:
Programa en MASM
.model small
.stack 64
.data
mayor1 Db 'Es mayor','$'
menor1 Db 'Es menor','$'
igual1 Db 'Son iguales','$'
.code
inicio:
mov ah,01
int 21h
mov bl,al
mov ah,01
int 21h
mov cl,al
cmp bl,cl
ja mayor
jb menor
je igual
mayor:
mov ax,@data
mov ds,ax
mov ah,09
mov dx,offset mayor1
int 21h
jmp salir
menor:
mov ax,@data
mov ds,ax
mov ah,09
mov dx,offset menor1
int 21h
jmp salir
igual:
mov ax,@data
mov ds,ax
mov ah,09
mov dx,offset igual1
int 21h
jmp salir
salir:
mov ah,4ch
int 21h
end inicio
Captura de ejecución del programa:
De ahora en adelante postearé los programas sólo en el compilador de MASM, suerte y hasta la próxima.
para agregar mas variables??, digamos 7 numeros ?
ResponderEliminar