Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпорки_2.docx
Скачиваний:
9
Добавлен:
09.02.2015
Размер:
874.63 Кб
Скачать

Вопрос №24

Жизненный цикл программы.

1. Этапы

1.1. Постановка и формулировка задачи: изучение предметной области.

1.2. Определение назначения программы, выработка требований и представление их в формальном виде.

1.3. Требования и представления выходных результатов.

1.4. Определение структуры входных и выходных данных.

1.5. Формирование ограничений и допущений.

2. Проектирование.

2.1. Формирование ассемблерной модели к задачи.

2.2. Выбор метода реализации задачи.

2.3. Разработка алгоритма.

2.4. Разработка структуры программы в соответствии с памятью.

3. Кодировка.

3.1. Уточнение входных и выходных данных и уточнение формата представления.

3.2. Программирование.

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

  1. Отладка и тестирование.

    1. Составление тестов для проверки.

    2. Обнаружение, локализация и устранение ошибок.

    3. Корректировка кода программы.

  1. Эксимуляция и сопровождение.

    1. Настройка на конкретные условия исполнения.

    2. Обучение пользователей работе с программой.

    3. Организация и сбор сведений о сбоях.

  1. Модификация с целью устранения ошибок.

Вопрос № 25

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

TASM, MASM

    1. Для ввода кода программы можно использовать любой текстовый редактор. Созданный с помощью тестового редактора файл обязательно должен иметь расширение *.asm. Для выполнения следующих этапов требуются специальные программные средства из пакетовTASMилиMASM.

    1. Трансляция программы. На этом этапе решаются задачи: перевод команд ассемблера в соответствующие машинные команды, построение таблицы символов, расширение макросов, формирование файлов листинга и объективного кода (lstиobj).

В результате трансляции программы TASM.EXEобразуется несколько строк:

1) сведения о TASMе.

2) имя транслируемого файла, и если есть ошибка, то выдаются сообщения ERROR,WARNING.

ERROR– есть недопустимые синтаксические ошибки.

WARNING– синтаксис правильный, но есть нарушения, которые в будущем приведут к ошибкам.

Для локализации ошибок лучше использовать информацию из файла листинга *.lst. Файл листинга содержит код ассемблера исходной программы, а также расширенную информацию об этом коде. Для каждой команды ассемблера указывается машинный (объектный) код. В конце листингаTASMформирует таблицы о метках и сегментах. Если есть ошибки, тоTASMвключает сообщения о них.

    1. Компоновка. Цель – преобразование кода и данных в объектных файлах в их перемещаемое отображение. Формат объектного файла позволяет объединить несколько исходных модулей в один модуль. Результат – создание загрузочного файла *.exe.

    1. Отладка. Проверяется правильность функционирования как отдельных фрагментов кода. Так и программы в целом.

Файл листинга содержит код исходной программы. А так же расширяет информацию о коде. Для каждой команды ассемблера . Для каждой команды ассемблера указываются ее машинный (объектный) код и смещение в кодовом сегменте. Кроме того, в конце листинга TASM формирует таблицы с информацией о метках и сегментах, используемых в программе. Если есть ошибки или сомнительные участки кода, то TASM включает в конец листинга сообщения о них.

Строки в файле листинга имеют следующий формат:

глубина_вложенности номер_строки => смещение машинный_код исходный_код

глубина_вложенности — уровень вложенности включаемых файлов или макрокоманд в файле.

номер_строки — номер строки в файле листинга. Номера строк листинга используются для локализации ошибок и формирования таблицы перекрестных ссылок.

смещение — смещение в байтах текущей команды относительно начала сегмента кода. Это смещение называют также счетчиком адреса. Величину смещения вычисляет транслятор для адресации в сегменте кода.

машинный_код — машинное представление команды ассемблера, представленной далее в этой строке полем исходный_код.

исходный_код — строка кода из исходного файла.

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

tlink /v prog.obj

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]