Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_з_1.doc
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
2.57 Mб
Скачать

8.3.2. Написание, компиляция и отладка программы

Входной информацией для ассемблера (программа TASM.EXE) является исходный файл - текст программы на языке ассемблера в кодах ASCII. Указанный файл может быть подготовлен с использованием любого текстового редактора. В результате работы ассемблера может получиться до 3-х выходных файлов:

- объектный файл представляет собой вариант исходной программы, записанный в машинных командах; это еще не совсем готовая к выполнению программа;

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

- файл перекрестных ссылок содержит информацию об использовании символов и меток в ассемблерной программе.

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

- объектному файлу ассемблер присваивает то же имя, что и у исходного, но с расширением .OBJ;

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

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

Другой способ указать ассемблеру имена файлов - это задать их прямо в командной строке через запятую при вызове соответствующей программы, например:

TASM Test, Otest, Ltest, Ctest

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

Программа, полученная в результате ассемблирования (объектный файл), еще не готова к выполнению. Ее необходимо обработать командой редактирования связей (TLINK.EXE), которая может связать много различных объектных модулей в одну программу и на основе объектного модуля формирует исполняемый загрузочный модуль.

Входной информацией для программы TLINK являются имена объектных модулей (файлы указываются без расширения .OBJ). Если файлов больше одного, то их имена вводятся через разделитель «+». Модули связываются в том же порядке, в каком их имена передаются программе TLINK. Кроме того, TLINK требует указания имени выходного исполняемого модуля. По умолчанию ему присваивается имя первого из объектных модулей, но с расширением ЕХЕ. Вводя другое имя, можно изменять имя файла, но не расширение .ЕХЕ. Далее можно указать имя файла, для хранения карты связей. Допускается любое имя, по умолчанию формирование карты не производится. Последнее, что указывается программе TLINK- это библиотеки программ, которые могут быть включены в полученный при связывании модуль. По умолчанию такие библиотеки отсутствуют. При компиляции .СОМ -программы, в командной строке вызова программы редактора связей (TLINK.EXE) необходимо указать ключ «/t».

Разработка и отладка программного обеспечения является трудоемким этапом проектирования микропроцессорных систем, требующим больших затрат времени. В качестве программного средства для отладки программ на языке ассемблера студентам рекомендуется WinASM 2.0 (распространяется бесплатно).

Это программа, позволяющая программировать на языке Assembler под Windows с полноценным GUI интерфейсом. Фактически это программная среда разработки, использующая внешние компилятор (Tasm.exe) и линкер (Tlink.exe). Особенности:

1.Полный контроль над ошибками - строки с ошибками помечаются, коды ошибок выводятся в специальном окне внизу главной формы программы.

2. Полноценное управление горячими клавишами.

3. При открытии файла с текстом программы осуществляется его предварительный просмотр.

4. Есть возможность указывать файлы внешних компиляторов и линкеров, а также указывать параметры компиляции.

5. Возможность запуска DOS оболочки Norton Commander v1.0 прямо из программы (например, для отладки резидентных программ).

6. Возможность запуска TeachHelp прямо из программы (справочник по ASM).

7. Полноценное редактирование исходного текста программы (поиск, замена, отмена изменений).

8. Книга Abel'я и большое количество примеров программ на Assembler.

9. Автоматическое ассоциирование файлов *.asm с WinASM 2.0.

10. Автоопределение кодировки (DOS/WIN) при открытии файлов.