Sintaxis 1
org 100h include 'emu8086.inc' mov al, 25 ; asigna 25 a al mov bl, 10 ; asigna 10 a bl cmp al, bl ; compara al con bl je equal ; salta si al = bl (zf = 1). putc 'n' ; si llega aqui, entonces bl y al no son iguales jmp stop ; asi que imprime 'n' y salta a stop equal: ; si llega aqui, putc 'y' ; entonces al=bl e imprime y stop: ret ; llega aqui sin importar nada
Se asignan los valores a los registros
Como los numeros son diferentes, nos imprime la letra n
En caso de modificar y hacer a ambos numeros iguales
Nos mandara a pantalla la letra "y"
Sintaxis 2
include 'emu8086.inc'
.model small
.stack
.data
num1 db 8
num2 db 8
msg1 db 'Numeros iguales','$'
msg2 db 'Numero 1 mayor','$'
msg3 db 'Numero 2 mayor','$'
.code
main:
mov ax, @data
mov ds,ax
mov al,num1
cmp al,num2
jc Mayor2 ;Brinca si es mayor el numero 2
jz igual ;Salta si es igual
jnz Mayor1 ;Brinca si es mayor el numero 1
.exit
igual:
mov ah,09h
lea dx ,msg1
int 21h
;printn 'Los numeros son iguales'
.exit
Mayor1:
mov ah,09h
lea dx, msg2
int 21h
;printn 'El numero 1 es mayor'
.exit
Mayor2:
mov ah,09h
lea dx, msg3
int 21h
;print 'El numero 2 es mayor'
.exit
end
En si, lo que realiza este ultimo programa es la comparación de dos números mediante la instrucción cmp, al momento de compararlos tenemos tres lineas de brincos condicionales; jc,jz y jnz. Cada una dará un salto hacia la etiqueta que se le tiene asignada siempre y cuando cumpla con la condición que tiene cada una de ellas.
Finalmente, aqui muestro los tres posibles mensajes que puede darte el programa cuando se cumplan las condiciones de las instrucciones;Si los números son iguales, si el primer numero es mayor que el segundo o si el segundo numero es mayor al primer numero.







No hay comentarios.:
Publicar un comentario