Programa: Calificación
Al ingresar una calificación, muestra si has aprobado o reprobado
Al ingresar un calificación al sistema, se mostrara un mensaje aprobado o reprobado, al introducir uno y dos dígitos.Código:
org 100h
.model small
.stack 64
.data ;seccion de variables
msg1 db 'Dame una calificacion(seguida de un enter): $'
aprobado db 13,10, 'APROBADO.$'
reprobado db 13,10, 'REPROBADO$'
VAR1 dw ?, '$'
VAR2 dw ?, '$'
VAR3 dw ?, '$'
.code ;inicia el segmento de codigo
Resultado PROC FAR ;procedimiento
mov ax,@DATA ; como inicio
mov ds, ax
;----------------desplegar primer mensaje
mov ah, 09
lea dx, msg1
int 21h
;----------------pedir un caracter
mov ah, 01
int 21h
mov VAR1,ax
;----------------pedir segundo caracter
mov ah, 01
int 21h
mov VAR2,ax
;----------------tercer caracter
mov ah, 01
int 21h
mov VAR3,ax
;-----momento de evaluar la calificacion
CMP al, 13 ; para comparar
JE CONTINUE ;salta si es iguala 13
JMP MAYOR ;salta
;----INICIA FUNCION
CONTINUE: ;
mov ax, VAR1 ;valor tomado para comparar
CMP AL, 037h ;7 es 37 en ASCII
JGE MAYOR ; salta si es mayor o igual a 7 va a 'mayor'
JMP MENOR
MAYOR:
mov ah, 09
lea dx,aprobado
int 21h
JMP SALIR
MENOR:
mov ah, 09
lea dx,reprobado
int 21h
JMP SALIR
SALIR:
mov ax, 4c00h ; o 4ch
int 21h
RESULTADO endp
end RESULTADO
ret
En el código, estamos guardando tres valores en nuestras variables. Al ingresar la calificación (80), guardamos el 8 en código ascii en una variable (var1), el 0 en otra variable(tambien en ascii, var2) y finalmente el enter en la ultima variable(var3), en cambio si ingresamos solo un dígito nos funciona el programa, ya que se compara lo que se encuentra en var1.
Ejecución 1:
No hay comentarios:
Publicar un comentario