Этапы разработки программы на языке ассемблера

В большинстве случаев, независимо от выбранного языка программирования, предлагается следующая методика разработки программ (с учетом специфики языка ассемблер):

1. Этап постановки и формулировки задачи:

- изучение предметной области и сбор материала в проблемно-ориентированном контексте;

- определение назначения программы, выработка требований к ней представление требований в формализованном виде;

- формулирование требований к представлению исходных данных и выходных результатов;

- определение структуры входных и выходных данных;

- формирование ограничений и допущений на исходные и выходные данные.

2. Этап проектирования:

- формирование «ассемблерной» модели задачи;

- выбор метода реализации задачи;

- разработка алгоритма реализации задачи;

- разработка структуры программы в соответствии с выбранной моделью памяти.

3. Этап кодирования:

- уточнение структуры входных и выходных данных и определение ассемблерного формата их представления;

- программирование задачи;

- комментирование текста программы и составление предваритель-ного описания программы.

4. Этап отладки и тестирования:

- составление тестов для проверки правильности работы программы;

- обнаружение, локализация и устранение ошибок в программе, выявленных в тестах;

- корректировка кода программы и ее описания.

5. Этап эксплуатации и сопровождения.

Традиционно у существующих реализаций ассемблера нет интегрированной среды, подобной интегрированным средам Turbo Pascal, Turbo С или Visual C++, поэтому для выполнения всех функций по вводу кода программы, ее трансляции, редактированию и отладке необходимо использовать отдельные служебные программы. Большая часть их входит в состав специализированных пакетов ассемблера.

Общая схема процесса разработки программы на ассемблере приведена на рис. 4.10.

1. Ввод исходного текста программы
2. Создание объектного модуля
3. Создание загрузочного модуля
4. Отладка программы
Этапы разработки программы на языке ассемблера - student2.ru

Рис. 4.10. Процесс разработки программы на ассемблере

На первом шаге с использованием любого текстового редактора вводится код программы, т.е. создается исходный файл. Основным требованием к текстовому редактору является то, чтобы он не вставлял посторонних символов (спецсимволов редактирования). Файлу целесообразно задавать расширение asm. (В программной оболочке Norton Commander текстовый файл создается при нажатии клавиш Shift+F4).

Второй шаг - трансляция программы. На этом шаге формируется, объектный модуль, который включает в себя представление исходной программы в машинных кодах и некоторую другую информацию, необходимую для отладки и компоновки его с другими модулями.

Третий шаг разработки программы - создание исполняемого (загрузочного) модуля или компоновка программы. Главная цель этого шага - преобразовать код и данные в одном или нескольких объектных файлах (исходные модули могут быть написаны на одном или нескольких языках) в их перемещаемое выполняемое изображение. Результатом работы компоновщика является создание загрузочного файла с расширением ехе. После этого операционная система может загрузить такой файл в память и выполнит его.

Получение исполняемого модуля, т.е. фактическое устранение синтаксических ошибок, еще не гарантирует того, что программа будет хотя бы запускаться, не говоря уже о правильности работы. Поэтому обязательным этапом процесса разработки является отладка. На этом этапе выполняется контроль правильности функционирования как отдельных участков кода, так и всей программы в целом.

Вопросы и задания для самопроверки

1. Центральный процессор: назначение и структура.

2. Принципы работы центрального процессора.

3. Виды памяти ЭВМ.

4. ОЗУ, ПЗУ, CMOS, специальная память.

5. Кэш-память.

6. Внешние устройства хранения информации.

7. Структура команды на языке ассемблер.

8. Способы адресации в команде ассемблера.

9. Структура программы на языке ассемблер.

10. Команды микропроцессора. Приведите пример.

11. Исходная и объектная программы.

12. Этапы разработки программы на языке ассемблер.

13. Написать команды на ассемблере, позволяющие выполнить следующие действия:

а) Поместить число из регистра H в аккумулятор.

б) Записать в регистры H и L адрес ячейки памяти 201016.

в) Число в аккумуляторе сложить с числом, адрес которого записан в регистрах H и L.

г) Сложить содержимое аккумулятора с числом 1816 (число взять из команды).


Наши рекомендации