Foro de elhacker.net

Programación => ASM => Mensaje iniciado por: mister101591 en 22 Noviembre 2011, 18:06 pm



Título: ASM!! Ayuda con un programa D:
Publicado por: mister101591 en 22 Noviembre 2011, 18:06 pm
Tengo el siguiente programa, lo que hace o haria el programa es determinar si el alumno esta aprobado o reprobado, mediante una calificacion que introdujo el alumno.

.model small
.stack
.data

   var1 db ? 
   msg1 db 13,10, '++ APROBADO ++ $'
   msg2 db 13,10, '++ REPROBADO ++$'
   msg3 db 10,13, 'INTRODUCE TU CALIFICACION (seguido de un ENTER): $'
   
.code
.startup

   
   mov ah,09h      ;
   lea dx,msg3      ;--------> Muestra el mensaje en pantalla "INTRODUCE TU CALIFICACION"
   int 21h      ;

  Mov CX,3      ;--------> Se crea un ciclo para leer mas de 1 caracter

  Repetir:      ;
    Mov AH,1      ;--------> Espera 3 caracteres
    Int 21h      ;
  Loop Repetir      ;
         
;-------------------------------------HASTA AQUI CREO ESTA BIEN----------------------

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   mov ah, 02h
   mov dl,al
   int 21h
   mov  var1,al

   cmp var1,70    ;---->   ;POR ESTA SOLA INSTRUCCION NO FUNCIONA!!!!!!
         ;AQUI compara lo que hay en var1 que es el num introducido
         ;con el 70 que es la calificacion minima
   jge aprobado      ;si var1 es mayor a 70 salta hacia "aprobado:"
   jl reprobado      ;si es menor que 70 salta hacia "reprobado:"
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
      
;-----------------------------------------------------------------------------------
aprobado: 

   mov ah,09h
   lea dx,msg1   
   int 21h
   jmp salir

reprobado:

   mov ah,09h
   lea dx,msg2
   int 21h
   jmp salir

salir:

  .exit
   end

La verdad nose si esta correcto el programa, pero quisiera saber como se haria este tipo de programa.

Les agradeceria muchisimo si me ayudan.