Никак не пойму как прописать команды,чтоб надо было ввести самому n-ное количество вещественных чисел и,например,сложить их. и... как результат ввести в массив? помогите ллиз
Первое - начинаешь с алгоритма. массив: [..........] процедура ввода 1 числа. процедура вывода 1 числа сама программа: Задать массив. от 0 до n процедура ввода 1 числа результат в массив цикл Сумма=0 от 0 до n взять из массива очередное прибавить к сумме цикл процедура вывода 1 числа (сумма) Теперь переводим на ассемблер: .data? quant dd ? mass dd 1000 dup (?) .code call Input1 or eax, eax jz @Error mov [quant], eax mov ecx, eax mov esi, offset mass @C1: call Input1 mov [esi],eax add esi, 4 loop @C1 mov esi, offset mass mov ecx, [quant] xor eax, eax @C2: add eax, [esi] add esi, 4 loop @C2 call OutputEax @Error: invoke ExitProcess, eax Вуаля, задача практически решена. Осталось только написать 2 процедуры, для ввода 1 числа, и для вывода содержимого eax. (Естественно, приведен алгоритм для сложения целых чисел без знака.) Теперь разбиваешь каждую из пока ненаписанных процедур на простейшие действия, описывая их словами. И повторяешь, пока не останется ненаписанных процедур Ну например, вывод числа: получить хендл стандартного устройства вывода превратить число в eax в строку символов вывести эту строку на stdout Или через мессадж бокс: превратить число в eax в строку символов вывести эту строку с помощью MessageBoxA Очень просто формулируемый алгоритм, правда за кадром осталась процедура перевода числа в строку... Значит, продолжаем и с этим: Перевод числа в строку: убрать в стек 0 поделить eax на 10. К остатку прибавить 30h. Убрать в стек повторять пока частное != 0 вынуть из стека число запомнить младший байт его в очередной символ строки повторять пока не вынем из стека 0 (очень страшный алгоритм, неоптимизированый, но тем не менее работающий). Все, по этому направлению проблем больше не осталось! .data? MyString db 11 dup (?) .code proc OutputEax push 0 mov ebx,10 div eax,ebx ... и далее по алгоритму. Потом тоже самое делаешь для процедуры ввода - придумываешь алгоритм, получаешь строку с клавиатуры, преобразуешь строку в число, возвращаешь число в eax. Соединяешь все кусочки в один код - и твоя задача решена!