Нужно составить программу на ассемблере
Нужно составить программу на ассемблере. Программа MASM.Ввести в цикле 5 чисел, найти их сумму, арифметическое и вывести
Нужно составить программу на ассемблере. Программа MASM.Ввести в цикле 5 чисел, найти их сумму, арифметическое и вывести
> найти их сумму, арифметическое и вывести
Арифметическое - это среднее арифметическое?
.386
.model flat,C
option casemap:none
printf proto :dword, :vararg
scanf proto :vararg
_kbhit proto
ExitProcess proto stdcall:dword
.data
Prompt db 'Введите %d-е число: ',0
Result db 'Сумма введенных чисел = %0.4f',13,10
db 'Среднее арифметическое = %0.4f',13,10,10
db 'Для завершения работы нажмите любую клавишу... ',0
Frmt db '%lf',0
.data?
X dq ?
Sum dq ?
.code
N91771183:
finit
xor eax,eax
mov dword ptr Sum,eax
mov dword ptr Sum+4,eax
mov ecx,5
DoLoop:
push ecx
mov eax,6
sub eax,ecx
invoke printf,addr Prompt,eax
invoke scanf,addr Frmt,addr X
fld Sum
fadd X
fstp Sum
pop ecx
loop DoLoop
mov word ptr X,5
fld Sum
fidiv word ptr X
fstp X
invoke printf,addr Result,dword ptr Sum,dword ptr Sum+4,\
dword ptr X,dword ptr X+4
WaitKey:
invoke _kbhit
test eax,eax
jz WaitKey
invoke ExitProcess,0
end N91771183
P.S. MASM, IDE Microsoft Visual C++ 2010 Express, 32-разрядное консольное приложение Windows, ошибки ввода не проверяются, вычисления производятся математическим сопроцессором.