Comparación si es mayor o menor a 18

org 100h
;comparacion si es mayor o menor a 18

.model small
.stack 64 ;segmento de pila

.data   
diez db 10;variable para poder imprimir dos caracteres(se multiplica por el primer valor para sacar decimales)
num1 db 0 ;variable para la edad
msg db 'Ingrese su edad: $'
msg1 db 'Eres mayor de Edad $'
msg2 db 'Eres menor de Edad $'

.code
    inicio proc Far
        mov ax,@data ; direccionamiento del seg
        mov ds,ax ;Los datos se muevan al registro ax 
        ;poner el primer letrero
        mov ah,09 
        lea dx,msg
        int 21h 
        
        mov ah,01
        int 21h
        sub al,30h;Convierte a valor  
        mul diez; se mult el numero ingresado para las decenas 
        mov num1,al
        
        mov ah,01
        int 21h
        sub al,30h
        add num1,al; se suma a las decenas obtenidas 
        mov al,num1
        
        cmp al,18 ;compara si el registro es = 18
        Jge mayor ; en caso de que sea mayor 
        Jmp menor 
        
        mayor:
            mov ah,09 
            lea dx,msg1
            int 21h    
            Jmp fin 
            
        menor:
            mov ah,09 
            lea dx,msg2
            int 21h    
            Jmp fin      
            
            
        fin:
          mov ax,4c00h
        
    inicio endp

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)