Programas: Turbo Assembler [Parte 2]

Tarea 9. Programa de calificación

El día de hoy tenemos un programa que utiliza las comparaciones en el lenguaje ensamblador, y funciona para sacar el promedio de unas calificaciones, y dependiendo de ella, calcula si es que estas "Aprobado" o "Reprobado".

Código:

.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 del programa
RESULTADO PROC FAR
    MOV AX,@DATA ;Inicio del programa
    MOV DS,AX
    ;Desplegar primer mensaje
     
    MOV AH,09
    lea DX,msg1
    int 21h
    ;Pedir un numero
    MOV AH,01
    int 21h
    MOV VAR1,AX
    ;Pedir un segundo numero
    MOV AH,01
    int 21h
    MOV VAR2,AX
    ;Pedir un tercer numero
    MOV AH,01
    int 21h
    MOV VAR3,AX
    ;Momento de evaluar la calificacion
     
    CMP AL,13           ;Comparacion
    JE CONTINUE   ;Salta si es igual
    JMP MAYOR      ;salto incondicional
    ;Inicia funcion
    CONTINUE:
        MOV AX,VAR1
        CMP AL,037h  ;7 es 37 en ascii
        JGE MAYOR   ;salta si es mayor o igual
        JMP MENOR   ;salto incondicional
         
    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,4CH
        int 21h
         
    RESULTADO ENDP
END RESULTADO

Comments