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