Ассемблер и программирование для IBM PC



       

ГЛАВА 4. Ассемблирование и выполнение программ - часть 2


Если предполагается ввод исходного текста большего объема, то лучшим применением будет полноэкранный редактор. Для получения распечатки программы включите принтер и установите в него бумагу. Вызовите программу PRINT (для DOS 2.0 и старше). DOS загрузит программу в память и распечатает текст на принтере:

PRINT B:EXASM1.ASM [Return]

Программа EXASM.ASM еще не может быть выполнена - прежде необходимо провести ее ассемблирование и компановку. В следующем pазделе показана эта же программа после ассемблирования и пояснены этапы ассемблирования и получения листинга.

ПОДГОТОВКА ПРОГРАММЫ ДЛЯ ВЫПОЛНЕНИЯ ------------------------------------------------------------

После ввода на диск исходной программы под именем EXASM1.ASM необходимо проделать два основных шага, прежде чем программу можно будет выполнить. Сначала необходимо ассемблиpовать программу, а затем выполнить компановку. Программисты на языке бейсик могут выполнить программу сразу после ввода исходного текста, в то время как для ассемблера и компиллярных языков нужны шаги трансляции и компановки. Шаг ассемблирования включает в себя трансляцию исходного кода в машинный объектный код и генерацию OBJ-модуля. Вы уже встречали примеры машинного кода в главе 2 и примеры исxодно го текста в этой главе. OBJ-модуль уже более приближен к исполнительной форме, но еще не готов к выполнению. Шаг компановки включает преобразо вание OBJ-модуля в EXE (исполнимый) модуль, содержащий машинный код. Прогрпмма LINK, находящаяся на диске DOS, выполняет следующее:

1. Завершает формирование в OBJ-модуле адресов, которые остались неопределенными после ассемблирования. Во мно гих следующих программах такие адреса ассемблер отмеча ет как ----R. 2. Компанует, если необходимо, более одного отдельно ассем блированного модуля в одну загрузочную (выполнимую) про грамму; возможно две или более ассемблерных программ или ассемблерную программу с программами, написанными на языках высокого уровня, таких как Паскаль или Бейсик. 3. Инициализирует EXE-модуль командами загрузки для выполнения.




Содержание  Назад  Вперед