viernes, 5 de junio de 2020

3. Programa de calificaciones con emu8086

El siguiente programa analiza la calificación ingresada y muestra si es aprobatoria o reprobatoria.


org 100h

.model small
.stack 64

.data ;seccion de variables
  msg1 db "Dame una calificacion (seguida de un enter):$"
  aprobado db 13,10, "Aprobado$" ;13 es salto de linea y 10 es salto de carro
  reprobado db 13,10, "Reprobado$"
  var1 dw ?,"$" ;variable data write
  var2 dw ?,"$"
  var3 dw ?,"$"
  
.code ;inicia el segmento de codigo

resultado proc far ;declaracion de funcion
    mov ax, @data ;como inicio
    mov ds, ax
;------------desplegar primer mensaje 

    mov ah,09 ;inicio de mensaje
    lea dx,msg1
    int 21h
    
;------------pedir un caracter
    mov ah,01
    int 21h ;parpadea el cursor      
    mov var1,ax 
    
;------------pedir segundo caracter
    mov ah,01
    int 21h ;parpadea el cursor      
    mov var2,ax
    
;------------pedir un caracter
    mov ah,01
    int 21h ;parpadea el cursor      
    mov var3,ax        
    
;------------momento de evaluar
    cmp al,13 ;compara con el enter
    je continue ;salto si se cumple la condicion igual a 13
    jmp mayor 
    
;inicia funcion
continue:
    mov ax, var1 ;valor de var1 se va a reg ax
    cmp al,037h
    jge mayor ;salta si es mayor o igual
    jmp menor ;si no se cumplio se va a funcion 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, 4ch
    int 21h
    
resultado endp
end




No hay comentarios:

Publicar un comentario

13. Cambiar el color de la pantalla

CR EQU 13 LF EQU 10 TECLADO_8 EQU 8 IMPRIMIR_9 EQU 9 FIN_4C00H EQU 4C00H DOS_21H EQU 21H BIOS_10H EQU 10H TAB EQU 09H BELL EQU 07H ...