SoftCraft
разноликое программирование

Top.Mail.Ru

Яндекс.Метрика

Программирование на языке ассемблера. Микропроект.
Требования к оформлению. 2020-2021 уч.г.


Начальная страница курса

Необходимо разработать программу и отладить в соответвии с выданным заданием. Результаты работы оформляются в виде пояснительной записки. Оформление должно включать титульный лист с информацией о ВУЗе, кафедре, названием разработки, данными о студенте (ФИО, номер группы/подгруппы). Последний срок сдачи работы 01.11.2020 г. (вечер воскресенья). Сдача после этого срока уменьшает оценку на 1 балл с каждым днем задержки.

В пояснительной записке необходимо привести текст задания, описать применяемые расчётные методы, список используемых источников. Включить в качестве приложения исходный текст программы на языке Ассемблер с подробными комментариями необходимыми для понимания программы сторо́нним человеком. Для обеспечения переноси́мости формат текстового файла - pdf. Также необходимо предоставить тест программы на языке Ассемблер в виде одного или нескольких текстовых файлов и скомпилированный исполняемый файл с расширением, определяемым используемой операционной системой. Пояснительную записку и программу необходимо выложить на git. Информацию о готовности программы и ссылку на репозиторий выслать преподавателю.

Если нет прямых указаний на использование FPU для реализации арифметики с плавающей точкой, предполагается работа только с целочисленной арифметикой.

Задания, в которых предполагается обработка строк, следует выполнять с использованием цепо́чечных инструкций и соответствующих им команд-пре́фиксов, управляющих изменением содержимого регистров SI и DI (Source Index и Destination Index соответственно). Для реализации циклов следует применять подходящие по смыслу модификации инструкции LOOP с контро́лем числа итераций по значению регистра CX (если число итераций априори известно) или расширенными методами (с выходом из цикла по условиям, отличающимся от классического CX==0).

Структуризация программы путём использованием ма́кросов и процедур (соглашение о вызовах cdecl с использованием пролога и эпилога с применением регистров SP и BPStack Pointer и Base Pointer соответственно) дополнительно приветствуется но не является обязательной. Следует привести описания используемых макросов и процедур (для последних - входные и выходные параметры, их тип и назначение, методы передачи параметров, функциональность процедуры).

При принятии решения о достижении точности при итерациях не следует сравнивать достигнутое решение с “точным” значением (оно априори неизвестно), точность определяется модулем разности целевой функции в данном и предыдущем приближении (фактически между результатами i-й и i-1-й итераций). В конце работы полезно сравнить достигнутое решение с “точным” для данной вычислительной системы и оценить ошибку, если такое возможно.

Вывод данных следует осуществлять в консоль.

Следует описать, в каких переменных располагаются промежуточные и исходные данные. Помимо этого в записке должны быть приведены тестовые примеры, демонстрирующие работоспособность программы при различных вариантах исходных данных (чтобы преподаватель мог проверить корректность работы программы на различных входных параметрах, рекомендуется указать несколько сочетаний исходных данных). Обязательным является описание области допусти́мых значений входных параметров. Примеры с входными данными должны обеспечивать тестовое покрытие. Демонстрация их работоспособности должна подтверждаться скриншотами для всех приведенных входных данных.

При выводе рассчитанных данных следует подробно указывать их истинное назначение (имена переменных и/или регистров процессора ни о чём не говорят). При обработке строк, например, следует вывести следующий текст "Исходная строка: строка, преобразованная строка: строка". Для понимания посторонним человеком смысла выводи́мых данных рекомендуется в тексте работы максимально подробно описать выводи́мую строку.


Начальная страница курса