CALIFICACION

rg 100h

.model small 
.stack 64

.data ;Seccion de variables

   msg 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 del codigo
Resultado PROC FAR 
    MOV AX,@DATA ;Como inicio
    MOV DS,AX
;--------------DESPLEGAR PRIMER MENSAJE
    MOV AH,09
    lea dx,msg
    int 21h  
;--------------PEDIR UN CARACTER
    MOV AH,01
    int 21h
    MOV VAR1,AX
;--------------PEDIR SEGUNDO CARACTER
    MOV AH,01
    int 21h
    MOV VAR2,AX   
;--------------PEDIR TERCER CARACTER
    MOV AH,01
    int 21h
    MOV VAR3,AX  
;--------------MOMENTO DE EVALUAR LA CALIFICACION
    CMP AL,13
    JE CONTINUE ; salta si es igual a 13
    JMP MAYOR
;-----INICIA FUNCION
CONTINUE: 
    MOV AX,VAR1
    CMP AL,55   ;7 es 37 en ascii
    JGE MAYOR  ; salta si es mayor o igual a 7
    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 
   int 21h
   
RESULTADO ENDP
END RESULTADO
   
   
ret





Comentarios

Entradas populares de este blog

Programas usando la documentación y libreria emu8086

Instrucción CMP, JE, JNE, LOOP

Unidad 3(15 programas TASM)