Cheyanne
¿Es esa la pregunta completa? Si es así, siga este código
TITLE escriba un programa que acepte n números enteros del usuario y sume los números y muestre la suma del
promedio de los n números
INCLUDE Irvine32.inc
WriteString PROTO;
ReadInt PROTO opcional
; opcional
.data
mess1 BYTE "Ingrese 10 números enteros:", 0
mess2 BYTE "la suma de diez números enteros:", 0
myarray SDWORD 10 DUP (?)
.code
main PROC
mov esi, OFFSET myarray
mov ecx, LENGTHOF myarray
llamada inputfornum ; Llame al procedimiento para ingresar los números
mov esi, OFFSET myarray
mov ecx, LENGTHOF myarray
call arraysum; procedimiento de llamada para agregar los números
Llamada displayum; procedimiento de llamada para mostrar la suma
salida
principal ENDP
inputfornum PROC; inicio del procedimiento
inputfornum pushad; guardar los registros
mov edx, OFFSET mess1; "Ingrese los números"
; ====== INICIO del bucle
L1:
Llamada WriteString
llamada ReadInt; ingrese el número número
Llamar Crlf
mov [esi], eax
agregar esi, TYPE myarray
loop L1; retroceder si ECX no es igual a cero
popad; restaurar los registros
ret; volver al procedimiento que hace la llamada
inputfornum ENDP; Fin de PROC
arraysum PROC;
empujar esi; Guarde el esi y ecx
push ecx
mov eax, 0
L2:
agregue eax, [esi]
agregue esi, 4
loop L2
pop ecx; restaurar ecx, esi
pop esi
ret
arraysum ENDP
; procedimiento para mostrar la suma
displayum
PROC
pushad
mov edx, OFFSET mess2
llamada writeString
llamada writeInt
llamada Crlf
popad
ret
displaysum ENDP
END main
el programa le pide a un usuario un número diez y
agrégalo usando el procedimiento.
Si tienes alguna pregunta, no dudes en enviarme un correo electrónico a rdeus @ ben, bfit.edu