- •Оглавление
- •Вопрос №3
- •Вопрос №4
- •Вопрос №5
- •Вопрос №6 Системы исчисления
- •Вопрос №7
- •Вопрос №8
- •Вопрос №9
- •Вопрос №10
- •Вопрос №11
- •Вопрос №12
- •Вопрос №13
- •Вопрос №14
- •Вопрос №15
- •Вопрос №16
- •Вопрос №17
- •Вопрос №18
- •Вопрос №19
- •Вопрос №20
- •Вопрос 21
- •Вопрос 22
- •Вопрос 23
- •Вопрос №24
- •Вопрос № 25
- •Вопрос № 26
- •Вопрос №27
- •Вопрос №28
- •1. Команда пересылки данных.
- •Вопрос №29
- •Вопрос №30
- •Вопрос №31
- •Вопрос №32
- •Вопрос №33
- •Вопрос №33(Краткая версия)
- •1) Команда вызова процедуры.
- •2) Команда возврата управления.
- •Вопросы №34
- •Вопросы №35
- •Вопрос №36
- •1) Команда организации цикла.
- •2) Команда перехода по обнуленному счетчику.
- •3) Команды организации цикла с условием.
- •Вопрос №37
- •Вопросы №38
- •Вопрос №39
- •Вопрос №40
Вопрос №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. Комментирование и составление предварительного описания программы.
Отладка и тестирование.
Составление тестов для проверки.
Обнаружение, локализация и устранение ошибок.
Корректировка кода программы.
Эксимуляция и сопровождение.
Настройка на конкретные условия исполнения.
Обучение пользователей работе с программой.
Организация и сбор сведений о сбоях.
Модификация с целью устранения ошибок.
Вопрос № 25
Процесс разработки программы на ассемблере.
TASM, MASM
Для ввода кода программы можно использовать любой текстовый редактор. Созданный с помощью тестового редактора файл обязательно должен иметь расширение *.asm. Для выполнения следующих этапов требуются специальные программные средства из пакетовTASMилиMASM.
Трансляция программы. На этом этапе решаются задачи: перевод команд ассемблера в соответствующие машинные команды, построение таблицы символов, расширение макросов, формирование файлов листинга и объективного кода (lstиobj).
В результате трансляции программы TASM.EXEобразуется несколько строк:
1) сведения о TASMе.
2) имя транслируемого файла, и если есть ошибка, то выдаются сообщения ERROR,WARNING.
ERROR– есть недопустимые синтаксические ошибки.
WARNING– синтаксис правильный, но есть нарушения, которые в будущем приведут к ошибкам.
Для локализации ошибок лучше использовать информацию из файла листинга *.lst. Файл листинга содержит код ассемблера исходной программы, а также расширенную информацию об этом коде. Для каждой команды ассемблера указывается машинный (объектный) код. В конце листингаTASMформирует таблицы о метках и сегментах. Если есть ошибки, тоTASMвключает сообщения о них.
Компоновка. Цель – преобразование кода и данных в объектных файлах в их перемещаемое отображение. Формат объектного файла позволяет объединить несколько исходных модулей в один модуль. Результат – создание загрузочного файла *.exe.
Отладка. Проверяется правильность функционирования как отдельных фрагментов кода. Так и программы в целом.
Файл листинга содержит код исходной программы. А так же расширяет информацию о коде. Для каждой команды ассемблера . Для каждой команды ассемблера указываются ее машинный (объектный) код и смещение в кодовом сегменте. Кроме того, в конце листинга TASM формирует таблицы с информацией о метках и сегментах, используемых в программе. Если есть ошибки или сомнительные участки кода, то TASM включает в конец листинга сообщения о них.
Строки в файле листинга имеют следующий формат:
глубина_вложенности номер_строки => смещение машинный_код исходный_код
глубина_вложенности — уровень вложенности включаемых файлов или макрокоманд в файле.
номер_строки — номер строки в файле листинга. Номера строк листинга используются для локализации ошибок и формирования таблицы перекрестных ссылок.
смещение — смещение в байтах текущей команды относительно начала сегмента кода. Это смещение называют также счетчиком адреса. Величину смещения вычисляет транслятор для адресации в сегменте кода.
машинный_код — машинное представление команды ассемблера, представленной далее в этой строке полем исходный_код.
исходный_код — строка кода из исходного файла.
Главная цель этого этапа — преобразовать код и данные в объектных файлах в их перемещаемое выполняемое отображение. Формат объектного файла позволяет объединить несколько исходных трансляционных модулей в один модуль. Также в функции компоновки входит разрешение внешних ссылок.
tlink /v prog.obj