Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Опции MASM





Опции MASM позволяют в некоторой степени управлять работой макроассемблера вне связи с исходной программой.

Каждая опция обозначается предшествующим символом / или — и может кодироваться как строчными, так и заглавными буквами.

Опции могут располагаться в любом месте командной строки или ответа на подсказку.

Ниже приведен список опций MASM с описанием выполняемых ими функций.

/A

Сегменты в объектном файле располагаются в алфавитном порядке. При отсутствии опции расположение сегментов соответствует порядку в исходном файле.

/S

Сегменты в объектном файле располагаются в порядке следования в исходном файле. Эта опция введена для совместимости с XENIX.

/B<число>

Установить размер буфера исходного файла (в килобайтах). Увеличение размера буфера ускоряет ассемблирование, но требует больше памяти.

Размер буфера может варьироваться от 1 до 63 (К). Если опция не задана, полагается 32 (32К).

/D

Диагностические сообщения после 1-го прохода поместить в листинг программы. Многие ошибки 1-го прохода исправляются на 2-м проходе, и, если не задано /D, в листинг не попадают. Задание этой опции дает более глубокую диагностику исходного текста. При спецификации /D ошибки как 1-го, так и 2-го проходов выдаются на консоль, даже если файл листинга не создается.

/D<символ>

Определить символ. Указанный символ вводится в исходный текст как пустая строка (аналогично использованию директивы EQU) и может быть использован в директивах условного ассемблирования.

/I<путь>

Задание пути поиска файлов, подключаемых в исходный текст директивой INCLUDE без явного указания пути. Указание пути в INCLUDE более приоритетно, чем в опции /I.

/ML

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

/MX

Установить различие между строчными и заглавными буквами в общих и внешних переменных. Опция подобна /ML, но ее действие распространяется лишь на имена, используемые в директивах PUBLIC или EXTRN.

/MU

Преобразовать в общих и внешних именах строчные буквы в заглавные. Опция включена по умолчанию и введена для совместимости с XENIX.

/N

Запретить вывод в файл листинга таблиц, макроструктур, записей, сегментов и имен. На генерируемый код опция не влияет.

/P

Контроль запрещенного кода. Выполнение некоторых инструкций может привести к нежелательным последствиям (например, загрузка регистра CS). Кодирование таких инструкций может быть запрещено опцией /P, наличие которой в таких случаях вызывает генерацию ошибки с кодом 100. Директива.286p отменяет эту опцию и разрешает кодирование запрещенных инструкций.

/R

Генерация кода для процессора с плавающей точкой. Генерируются коды инструкций арифметики с плавающей точкой, которые могут быть выполнены только при наличии сопроцессоров.

/E

Генерация кода для эмуляции плавающей точки.

Генерируется код, эмулирующий инструкции арифметики с плавающей точкой. Эта возможность используется при отсутствии указанных сопроцессоров.

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

/V

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

/X

Выводить в листинг тела блоков IF (IF, IFE, IF1, IF2, IFDEF, IFNDEF, IFB, IFNB, IFIDN и IFDIF), для которых условия ассемблирования оказываются ложными и код по этой причине не генерируется. Следующие директивы Ассемблера влияют на действие опции /X:

u .SFCOND подавляет печать «ложных» блоков;

u .LFCOND — разрешает печать «ложных» блоков;

u .TFCOND — каждая обработка директивы меняет состояние опции на противоположное.

 

/Z

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

/C

Создать файл перекрестных ссылок. Файл создается, даже если он подавлен командной строкой или ответом на подсказку. В последнем случае имя файла устанавливается по умолчанию (<имя исходного файла>.CRF). Опция /C введена для совместимости с XENIX.

/L

Аналогично /C, но относится к файлу листинга (с учетом умалчиваемого имени файла).

/T

Подавить все сообщения, если в исходном тексте не встретится ошибок.

LINK: линкер модулей

Объектный линкер предназначен для создания исполнительных файлов из объектных файлов, сформированных MASM или компиляторами C или PASCAL.LINK формирует переместимый исполнительный код, снабженный информацией перемещения, используя которую, MS-DOS сможет загрузить в память и исполнить соответствующую программу. LINK может формировать программы, содержащие свыше 1Мб кода и данных. Воспринимая в качестве входа 2 файла, LINK может формировать 2 выходных файла.

имя.LIB имя.MAP

(библиотека) \ / (план)

LINK

имя.OBJ / \ имя.EXE

(объектный файл) (исполнительный файл)

Расширения имен файлов, показанные на схеме принимаются по умолчанию.

Объектный файл содержит объектные модули программных сегментов, сформированные MASM или компилятором языка высокого уровня.

Библиотеки содержат наборы модулей, на которых могут ссылаться программные сегменты в объектном файле. Библиотечные файлы формируются при помощи утилиты LIB.

Основным результатом работы LINK является исполнительный файл, содержащий программу в виде, пригодном для загрузки в память и исполнения.

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

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

Если задана опция /MAP, в файл включаются имена общих символов и их загрузочные адреса.

Если заданы опции /HIGH или /DSALLOCATE и объем программы и данных в совокупности не превышает 64К, план может содержать символы с необычно большими адресами сегментов. Эти адреса отражают переменные, расположенные ниже действительного начала сегмента. Пример:

FFF0:0A20 TEMP

Адрес TEMP - 00:920h.

Необходимо иметь ввиду, что, кроме двух выходных файлов, LINK может формировать временный файл с именем VM.TMP. Это происходит в том случае, когда линкеру не хватает оперативной памяти. Создание файла VM.TMP сопровождается сообщением на консоли и всегда осуществляется в текущем подоглавлении. В этом случае нельзя использовать опцию /PAUSE и снимать дискету, если она находится на активном драйве, до того, как LINK не уничтожит файл VM.TMP. Не рекомендуется создавать в текущем подоглавлении файл с таким именем, который в этом случае может быть испорчен.

 

Date: 2015-05-22; view: 740; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.045 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию