martes, 3 de octubre de 2017

condicionales

.model small ; programa de tama?o small
.stack 64
.data ; seccion de Datos
     msg1 db 'introduce tu calificacion (seguido de un enter): $'; variable de tipo byte
     aprobado db 13,10,'APROBASTE$'
     reprobado db 13,10, 'Reprobaste$'
     VAR1 dw ?,'$' ; de tipo write
     VAR2 dw ?, '$'
     var3 DW ?,'$'

   
.code ; inicia el segmento del programa

RESUL PROC FAR
    MOV AX,@DATA  ; inciar
    MOV DS,AX
;------------------------
    lea dx, msg1
    mov ah,09h
    int 21h

;----------------------------
    mov ah,01   ; nos permiten introducir un caracter dede ;el teclado
    int 21h
    mov var1,ax
;-------------------------------
    mov ah,01   ; introducir un caracter desde el teclado
    int 21h
    mov var2,ax   
;---------------------------------
;-------------------------------
    mov ah,01
    int 21h
    mov var3,ax   
;---------------------------------

    CMP al,13    ; se indican las comparaciones
    JE CONTINUE   ; salto condicional en casode q la calif ;no sea 100, saltara a mayor
    JMP MAYOR
   
CONTINUE:
    MOV AX,VAR1
    CMP AL,55 ; compara 55 q es e? 7 DECIMAL EN CODIGO ASCII
    JGE MAYOR ; un salto a la etiqueta mayor en caso de ;mayor
    JMP MENOR ; en caso cpntrario

MAYOR:
   lea dx, aprobado
   mov ah,09h
   int 21h
   JMP SALIR ; un salto ncondicional para ir a la etiqueta ;salir
 
MENOR:
    lea dx,reprobado
    mov ah,09h
    int 21h    ; mostrar el mensaje en pantalla
    JMP SALIR

   

SALIR:
    MOV AX,4C00H
    INT 21H  ; indica al regreso al MS DOS
   
RESUL ENDP ; fin del procedimiento
END RESUL   ; no olvidar copiar esta linea...

No hay comentarios:

Publicar un comentario