Меню сайта

Урок 90. Ассемблер и макроассемблер

После того, как исходный файл уже создан,можно применить
— — — ассемблер. — — — Существуютдве версии ассемблера: — полная версия,
— — — называемая Макроассемблером, которая наспециальной, отведенной для
— — — программы ассемблера дискете, именуетсяMASM.EXE, и менее полная
— — — версия — Ассемблер, или ASM.EXE — безвозможности работать с
— — — макроопределениями. — Если для эффективного использованияпрограммы
— — — MASM требуется объем памяти 96К, то дляпрограммы ASM достаточно
— — — 64К. -Указанные значения никак не связаны с объемом памяти,
— — — занимаемой исходной программой. — Они относятся к объему памяти,
— — — необходимой для ассемблирования, а невыполнения уже
— — — оттранслированной программы. — Поэтому возможна ситуация, когда для
— — — разработки пользовательской программы,требующей для своего
— — — выполнения только 4К, необходима ЭВМ собъемом памяти не менее 64К.
— — — — — Входной информацией для ассемблераявляется исходный файл,
— — — созданный редактором EDLIN, либоаналогичным редактором. Исходный
— — — файл — это текстовый файл в кодах ASCII. Врезультате работы
— — — ассемблера может получиться до трехвыводных файлов. Объектный файл
— — — представляет собой вариант исходнойпрограммы, записанной на
— — -машинном языке. Объектный файл — это еще не совсем готовая для
— — — выполнения программа, однако она близка креальномй машинному
— — — языку. Листинговый файл является текстовымявйлом в кодах ASCII,
— — — включающим как исходную информацию, так иинформацию, полученную в
— — — результате работы ассемблера. Приведенныев данной книге примеры
— — — являются ассемблерными листинговымифайлами. И наконец, ассемблер
— — — может сформировать файл перекрестныхссылок. Этот файл, не
— — — являющийся ни программой на машинномязыке, ни текстовым файорм,
— — — содержит информацию об использованиисимволов и меток в
— — — ассемблерной программе. Как и в случаеобъектного файла, перед
— — — использованием файла перекрестных ссылоктребуется его
— — — дополнительная обработка.

— — — — — Запуск ассемблера осуществляется командойDOS
— — — — — A&gt- ASM
— — — — — или
— — — — — A&gt-MASM

— — — — — Команда ASM запускает усеченный вариантассемблера, а команда
— — — MASM — Макроассемблер. После того, какассемблер начинает
— — — выполняться, он просит указать: какиефайлы будут использованы при
— — — ассемблировании. На Фиг. 5.10 приводитсяпоследовательность команд
— — — для запуска ассемблера.

— — — — — После того, как команда ASM введена, DOSзагружает в память
— — — ассемблер. — — — Ассемблервыводит на экран название версии и переходит
— — — к выдаче запросов к оператору. — Если в вашей системе имеется только
— — — один дисковод с гибким диском, то на этомэтапе вы можете вынуть
— — — дискету с ассемблером и вставить дискету сданными. — Ассемблер
— — — запрашивает: — какой файл будет транслироваться, при этом достаточно
— — — ввести только имя этого файла без указаниятипа .ASM. — Кроме этого,
— — — ассемблер запрашивает имена выходныхфайлов. — Объектному файлу
— — — ассемблер присваивает то же имя, что и уисходного файла, но с
— — — расширением .OBJ, если только вы незахотите его изменить. — — — В
— — — данном примере ответ оператора»B:» является указанием ассемблеру,
— — — чтобы он записал объектный яайл на диск вдисковод B:. — Аналогичные
— — — ответы оператора на запросы по поводулистингового файла и файла
— — — перекрестных ссылок сообщают ассемблеру,чтобы эти файлы он также
— — — записал на диск в дисководе B:. — В справочнике диска,
— — — установленного в дисководе B:, можноувидеть все полученные в
— — — результате ассемблирования файлы.
— — — — — Для всех запросов имеются режимы,применяемые по умолчанию.
— — — Если в ответ на любой из этих запросовнажать клавишу возврата, то
— — — ассемблер использует режим по умолчанию.Для листингового файла и
— — — файла перекрестных ссылок по умолчаниюпринимается значение NUL.
— — — Для DOS файл типа NUL — это специальныйфайл: все, что записывается
— — — в — — — файл NUL не доступно и не может бытьвосстановлено. Файл
— —
— NUL относится к файлам типа WOF(write=only file — файл только для
— — — — — ——————————————————-
— — — — — A&gt-ASM
— — — — — The IBM Personal Computer Assembler
— — — — — Version 1.00 (C)Copyright IBM Corp 1981

— — — — — Source filename [.ASM]: B:FIG5_10
— — — — — Object filename [FIG5_10.obj] B:
— — — — — Source lisying — — — [NUL.LST] B:
— — — — — Cross reference [NUL.CRF] B:

— — — — — Warning Severe
— — — — — Errors — — — — — Errors
— — — — — 0 — — — — 0

— — — — — A&gt-DIR B:FIG5_10.*
— — — — — FIG5_10 ASM 44 — — — 1-01-83 12:00a
— — — — — FIG5_10 LST — — — 426 — — — — — 1-01-83 12:00a
— — — — — FIG5_10 OBJ 40 — — — 1-01-83 12:00a
— — — — — FIG5_10 CRF 19 — — — 1-01-83 12:00a

— — — — — A&gt-
— — — — — A&gt-B:
— — — — — A&gt-A:ASM FIG5_10,,,,
— — — — — The IBM Personal Computer Assembler
— — — — — Version 1.00 (C)Copyright IBM Corp 1981

— — — — — Warning Severe
— — — — — Errors — — — — — Errors
— — — — — 0 — — — — 0

— — — — — B&gt-
— — — — — —————————————————-

— — — — — — — — — — — Фиг. 5.10 Выполнение ассемблирования

— — — записи).

— — — — — Если ассемблер во время ассемблированияобнаружит какие- нибудь
— — — ошибки, он записывает их в листинговыйфайл. Кроме того, он выводит
— — — их на дисплей, в результате чего можнонепосредственно исправить
— — — любые из обнаруженных ощибок и нетнеобходимости выискивать их в
— — — листинговом файле. Если вы пользуетесьсокращенной версией
— — — ассемблера, ASM, то информация об ошибкахсодержит только их коды.
— — — В случае Макроассемблера, MSAM, выводитсяи код, и информация об
— — — ошибке. В уменьшенном варианте ассемблеране остается места для
— — — текстового сообщения об ошибке. В нижнейчасти Фиг. 5.10 показан
— — — более простой способ запускаМакроассемблера. Этот метод удобен,
— — — когда в системе имеется два дисковода сгибкими дисками. В этом
— — — случае дискета с ассемблеромустанавливается в дисковод A:, а
— — — дискета с информацией, содержащий исходныйфайл, — в дисковод B:.
— — — Устанавливается режим выбора по умолчаниюдисковода B:. Ассемблер
— — — запускается с помощью команды A:ASM. Воставшейся части команды —
— — — FIG5=10,,,- — содержится вся информациядля ассемблера, которая
— — — запрашивалась у оператора в предыдущемпримере. FIG5=10 определяет
— — — имя файла, который нужно ассемблировать, апоследовательность
— — — запятых служит указанием ассемблерусгенерировать объектный,
— — — листинговый файл и файл перекрестныхссылок в соответствии со
— — — стандартным соглашением об именах файлов.При этом методе
— — — ассемблирования получаются точно такие жерезультаты, что и в
— — — первом случае.

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

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

— — — — — В листинговом файле соединяются исходныйфайл и читабельный
— — — вариант программы на машинном языке. Этотфайл может быть выведен
— — — на дисплей с помощью команды дисковойоперационной системы TYPE,
— — — например,

— — — — — A&gt- TYPE B:FIG5=11.LST

— — — — — Команда TYPE загружает в памятьсодержимое файла и выводит его
— — — на дисплей. Одновременно этот же файлможет быть выведен на печать,
— — — если перед выполнением команды TYPE нажатьклавиши Ctrl=PrtSc.
— — — Нажатие Ctrl=PrtSc предписывает DOSосуществлять вывод как на
— — — экран, так и на принтер. В результателистинг выводится и на
— — — дисплей, и на печать. Ширину листингаследует задать равной 132
— — — символам. Это выполняется с помощьюкоманды ассемблера PAGE,
&n
bsp- — — которая, как вы могли заметить, присутствуетпочти во всех
— — — приводимых примерах программ. Команда

— — — — — PAGE ,132

— — — — — предписывает ассемблеру установить ширинулистингового файла
— — — равной 132 символам. Кроме того, передвыводом на принтер нужно
— — — установить ширину печатаемой колонки. Этоможно выполнить с помощью
— — — команды MODE дисковой операционнойсистемы.

— — — — — A&gt- MODE LPT1:132.

— — — — — Данная команда устанавливает режим, прикотором на принтере
— — — фирмы IBM печатается 132 колонки. В этомслучае листинговый файл
— — — распечатывается без смещения строк,которого нельзя избежать на
— — — дисплее.

Категория: Программирование на Ассемблере | Дата: 28.01.13

Меню раздела
Блок