You are on page 1of 7

MATERIA:

NOMBRE DEL PROFESOR: HERNANDEZ ARANDA JESUS EMMANUEL

ALUMNOS: RAMIRRO RAMIREZ SANCHEZ AIDEE GUADALUPE HERNANDEZ MANZANO

.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

aux db 3 dup('0'),'$' .code .startup call clrScr ;1ero

;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

.exit leerNombre proc c *supone* leer un nombre ;Procedimiento se

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

;Convertirmos cadena a su valor numrico decimal

call nl ;salto de lnea ret del programa ;Retornamos el control al flujo

leerCalificacion endp

clrScr proc c limpiar la pantalla

;Procedimiento que permite ;Definimos modo de video ;Seteamos el modo

mov ah,00h mov al,03h int 10h ret flujo del programa clrScr endp

;Ejecutamos interrupcin ;Retornamos el control al

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

int 21h ret promedio endp

;Ejecutamos la interrupcin

end

You might also like