Logo Studenta

Comparaciones

Esta es una vista previa del archivo. Inicie sesión para ver el archivo original

STACK SEGMENT STACK
 DB 64 DUP(?)
STACK ENDS
DATA SEGMENT
 MAYOR DB ,10,13,'El primer numero es mayor $'
 MENOR DB ,10,13,'El primer numero es menor $'
 IGUAL DB ,10,13,'Los numeros son iguales $' 
 MSG1 DB 'Ingresa el primer numero: $'
 MSG2 DB ,10,13,'Ingresa el segundo numero: $' 
DATA ENDS 
CODE SEGMENT 
 
ASSUME SS:STACK, DS:DATA, CS:CODE
 
INICIO:	MOV AX,DATA
 	MOV DS,AX 
 	 
 	MOV AH,09
 	LEA DX,MSG1 ;mostramos mensaje para pedir el primer numero
 	INT 21H 
 	
 	MOV AH,01 ;ingresamos el primer numero y lo mostramos
 	INT 21H 
 	 
 	MOV BL,AL ;AL obtiene el valor y guardamos el valor del primer numero en BL 
 	
 	MOV AH,09
 	LEA DX,MSG2 ;mostramos mensaje para pedir el segundo numero
 	INT 21H 
 	
 	MOV AH,01 ;ingresamos el segundo numero y lo mostramos
 	INT 21H 
 	
 	MOV CL,AL ;AL obtiene el valor y guardamos el valor del segundo numero en CL
 	
 	CMP BL,CL ;comparamos el primer numero con el segundo 
 	
 	JA MAYORES ;hacemos un salto a mayores si el primer numero es mayor al segundo
 	JB MENORES ;hacemos un salto a menores si el primer numero es menor al segundo
 	JE IGUALES ;hacemos un salto a iguales si el primer numero es igual al segundo
 	
MAYORES:
 	MOV AH,09 ;usamos la opcion 9 para mostrar mensajes en pantalla
 	MOV DX,OFFSET MAYOR ;agarramos el valor de la cadena llamada mayor
 	INT 21H ;llamamos a la interrupcion 21h
 	JMP SALIDA ;salimos del programa
MENORES:
 	MOV AH,09
 	MOV DX,OFFSET MENOR
 	INT 21H
 	JMP SALIDA
IGUALES:
 	MOV AH,09
 	MOV DX,OFFSET IGUAL
 	INT 21H
 	JMP SALIDA
SALIDA:
 	MOV AH,4CH ;finaliza el proceso de ejecucion
 	INT 21H
CODE ENDS
END INICIO

Continuar navegando