Другие языки программирования и технологии

Нужно составить программу на ассемблере

Нужно составить программу на ассемблере. Программа 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, ошибки ввода не проверяются, вычисления производятся математическим сопроцессором.
Нияз Касенов
Нияз Касенов
51 590
Лучший ответ