Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МАВЦ.464319.001ТУ 20140414 Семенов.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.98 Mб
Скачать

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

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

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

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

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

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

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

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

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

MASM с:prog.asm

или просто

MASM

Появится запрос:

Surce filename [.asm]

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

Альтернативный вариант вызова ассемблера:

MASM [c:]prog, с:, с:, с:.

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

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

LINK c:prog.obj

или просто

LINK

Появится запрос:

Object modules [.obj]

  • Следует указать имя файла .obj, если оно не было указано ранее.

  • Run f 11 е [prog. exe], если имя исполняемой программы другое, то следует его ввести, иначе — Enter.

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

  • Libraries [ .lib]; обычно Enter (если при редактировании дополнительных биб­лиотек связей не требуется).

Альтернативный вариант вызова загрузчика:

LINK [c:]prog.obj, с:, con

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

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

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