Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава14.DOC
Скачиваний:
14
Добавлен:
14.04.2019
Размер:
565.76 Кб
Скачать

Некоторые аспекты создания исполняемых программ

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

Исходная программа, составленная на языке ассемблера, использующая мнемонические сокращения английских слов и введенная в машину с использованием любого текстового редактора (Word, NE, Brief, Xedit, Lexicon и т. д.), оформляется в виде файла с расширением ASM; после обработки исходной программы программой-ассемблером (ASM, MASM или TASM) формируется программа в машинных кодах — объектная программа с расширением OBJ, уже понятная микропроцессору (ASM выдает только коды ошибок, обнаруженных при трансляции, а MASM предоставляет более развернутую информацию об этих ошибках; MASM, в отличие от ASM, позволяет использовать в программах команды, ориентированные на современные микропроцессоры и сопроцессоры; возможности у TASM еще несколько шире, чем у MASM, но в настоящее время продолжает развиваться только MASM).

Объектная программа еще не является законченной и исполняемой микропроцессором: в ней окончательно оформлены еще не все адреса (программа является «перемещаемой») и не объединены части (блоки), оттранслированные отдельно друг от друга (например, с целью более простой их отладки). Преобразование объектной программы в исполняемую (компоновка объектной программы) выполняется редактором связей LINK (либо TLINK). Исполняемый файл после загрузки имеет расширение EXE. Отладку исполняемой программы удобно выполнять с помощью отладчика DEBUG.

Процедуры формирования программы

Последовательность процедур формирования программы показана на рис. 9.4.

Рис. 9.4. Последовательность процедур формирования программы

  1. Составление программы и ее ввод под каким-нибудь именем на диск (дискету). При вводе программы используется любой текстовый редактор, например встроенный редактор Norton Commander.

  2. Трансляция (ассемблирование) программы. При запуске транслятора MASM вводится строка вида:

MASM c:prog.asm или просто MASM.

Появится запрос: Surce filename [.asm]. Следует указать путь к файлу и имя исходного файла, если оно не было указано ранее. В ответ на запрос Object filename [prog.obj] ввести имя объектной программы (объектного модуля), если оно отличается от имени исходного файла (иначе следует нажать клавишу Enter). Если нужен листинг программы в машинных кодах, в ответ на Source listing [nul.lst] укажите местоположение и имя формируемого файла, иначе нажмите клавишу Enter. Для получения листинга перекрестных ссылок программы в ответ на Cross-reference [nul.crf] укажите местоположение и имя формируемого файла, иначе нажмите клавишу Enter.

Альтернативный вариант вызова ассемблера: MASM [c:]prog, c:, c:, c:.

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

  1. Компоновка объектного модуля (загрузка и редактирование связей).

Вводится: LINK c:prog.obj или просто LINK.

Появится запрос: Object modules [.obj]. Следует указать имя файла .OBJ, если оно не было указано ранее.

Следующий запрос: Run file [prog.exe]; если имя исполняемой программы другое, то следует его ввести, иначе Enter.

List file [nul.map], следует ввести CON; MAP-файл содержит таблицу имен и информацию о размере сегментов, а также ошибки, обнаруженные при загрузке; ввод CON означает требование вывода их на экран дисплея.

Запрос Libraries [.lib]: нажмите Enter, если при сборке дополнительных библиотек связей не требуется.

Альтернативный вариант вызова загрузчика: LINK [c:]prog.obj, c:, con.

  1. Отладка программы (при необходимости). Можно использовать отладчик DEBUG. Вызов отладчика DEBUG: DEBUG c:prog.exe.

  2. Выполнение программы.

При наличии приглашения к работе MS DOS ввести имя программы: c:prog[.exe].

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