Cheyanne
Это полный вопрос? Если это так, следуйте этому коду
TITLE, напишите программу, которая принимает n целых чисел от пользователя, суммирует числа и отображает сумму
средних чисел n чисел
ВКЛЮЧАЙТЕ
Irvine32.inc WriteString PROTO; необязательный
ReadInt PROTO; необязательный
.data
mess1 BYTE "Введите 10 целых чисел:", 0
mess2 BYTE "сумму десяти целых чисел:", 0
myarray SDWORD 10 DUP (?)
.code
main PROC
mov esi, OFFSET myarray
mov ecx, LENGTHOF myarray
call inputfornum ; Вызвать процедуру для ввода чисел
mov esi, OFFSET myarray
mov ecx, LENGTHOF myarray
call arrayum; процедура вызова для добавления номеров
Вызов отображает сумму; вызов процедуры для отображения суммы
выхода
основного
ENDP inputfornum PROC; запуск процедуры
inputfornum pushad; сохраняем регистры
mov edx, OFFSET mess1; «Введите цифры»
; ====== НАЧАЛО цикла
L1:
Вызов WriteString
call ReadInt;
введите номер number
Call Crlf
mov [esi], eax
add esi, TYPE myarray
loop L1; возвратиться, если ECX не равен нулю
popad; восстановить регистры
ret; вернуться к процедуре, выполняющей вызов
inputfornum ENDP; Конец
массива PROC PROC;
push esi; Сохраните esi и ecx
push ecx
mov eax, 0
L2:
добавить eax, [esi]
add esi, 4
loop L2
pop ecx; восстановить ecx, esi
pop esi
ret
массив ENDP
; процедура для отображения суммы
отображает сумму
PROC
pushad
mov edx, OFFSET mess2
call writeString
call writeInt
call Crlf
popad
ret
отображается
сумма
ENDP
END main
программа запрашивает у пользователя десять чисел и добавляет их, используя процедуру,
если у вас есть какие-либо вопросы, не стесняйтесь писать мне по электронной почте rdeus @ ben, bfit.edu