Professional Documents
Culture Documents
.model small .stack .data nom db 50 dup(' '),'$' nombre cal db 2 dup('0'),'$' sum db 3 dup('0'),'$' promedio ;Calificacin ;Sumatoria para el ;Variable para leer el
;auxiliar
call leerNombre ;Obtenemos los datos de un usuario call leerCalificacion primero usuario call sumar ;Leemos calificacin de
;2do call leerNombre ;Obtenemos los datos de un usuario call leerCalificacion primero usuario call sumar ;Leemos calificacin de
;3ero call leerNombre ;Obtenemos los datos de un usuario call leerCalificacion primero usuario call sumar ;Leemos calificacin de
;4to call leerNombre ;Obtenemos los datos de un usuario call leerCalificacion primero usuario call sumar ;Leemos calificacin de
;5to call leerNombre ;Obtenemos los datos de un usuario call leerCalificacion primero usuario call sumar ;Leemos calificacin de
call promedio
mov cx,0 mov si,0 .repeat mov ah,01h int 21h interrupcion para leer carcter cmp al,13 je continuar mov nom[si],al cadena el caracter ledo inc cx comparar cuando llegue a 0 inc si .until cx==50 continuar: mov nom[si],'$' ;Terminamos cadena de caracteres call nl ;Salto de lnea ret programa leerNombre endp ;Retornamos el control al flujo del ;Incrementamos CX, para ;Incrementamos tambin si ;Movemos a la ;Leemos caracter
;Ejecutamos la
leerCalificacion proc c ;Procedimiento para leer la calificacin mov cx,0 mov si,0 .repeat
otro: mov ah,07h sin eco int 21h interrupcion para leer carcter ;Ejecutamos la ;Leemos caracter
cmp al,13 je continuar cmp al,30h jl otro cmp al,39h jg otro mov ah,02h introducido mov dl,al caracter a mostrar int 21h cadena el caracter ledo inc cx para comparar cuando llegue a 0 inc si .until cx==2 continuar: mov cal[si],'$' ;Terminamos la cadena de caracteres ;Incrementamos CX, ;Lo mostramos ;Movemos a la ;Movemos ;Mostramos digito
mov cal[si],al
leerCalificacion endp
mov ah,00h mov al,03h int 10h ret flujo del programa clrScr endp
nl proc c lnea
;Procedimiento para ir a nueva ;Mostrar caracter ;LF ;Mostramos caracter ;CR ;Mostramos caracter
mov ah,02h en pantalla mov dl,10 int 21h mov dl,13 int 21h
ret nl endp
sumar proc c ;Procedimiento que permite llevar el control de la suma para evaluar el promedio sub cal,30h mov al,cal add sum,al add cal,30h ret sumar endp ;48 ;48
promedio proc c ;Evalua el promedio ;Procedimiento que **se supone** **debera** evaluar el promedio en base a sum/5 mov al,5 div sum ;Movemos el divisor ;Dividimos por AL
mov ah,02h
;imprimir caracter
mov dl,al ;Caracter a imprimir Caracter? ja Estoy enviando cadena :-S add dl,30h
;Ejecutamos la interrupcin
end