Написать программу на языке С и ASM
С помощью языков программирования C и Ассемблер, используя синтаксис AT&T, необходимо написать программу, решающую задачу:
Напиcать программу, в которой создается двумерный числовой массив и для этого массива вычисляется сумма квадратов его элементов.a. Входные данные для задачи должны инициализироваться
случайно с помощью самостоятельно реализованного на ассемблере
генератора псевдослучайных чисел. В качестве ГПСЧ можно
использовать любой из известных (например, на сдвиговых регистрах
или линейном конгруэнтном методе). В случае использования в
качестве ГПСЧ регистра сдвига с линейной обратной связью
самостоятельно выбрать биты, с помощью которых будет
осуществляться обратная связь. В случае применения линейного
конгруэнтного метода самостоятельно выбрать модуль m и множитель
a. В качестве инициализирующего значения использовать первые две
цифры даты рождения. Также необходимо оптимизировать процедуру
умножения a на Xn - 1.
b. Решением задачи является вывод в консоль верного
результата при любых допустимых входных данных.
аварийный останов.
d. В программе на языке С должен быть реализован только
следующий функционал: выделение памяти под исходные данные (но
не их инициализация), вызов подпрограммы, выполняющей основные
вычисления, вывод результата вычислений в консоль. Все основные
вычисления должны быть оформлены в виде ассемблерного
модуля.
e. Для выполнения повторяющихся однотипных действий
необходимо использовать соответствующие средства языка.
Копирование и вставка одного и того же кода нужное количество раз с
незначительными изменениями без необходимости является ошибкой.