1.3. Параметры

Большинство параматров могут быть переданы используя одну из двух форм: либо тире с одной буквой, либо два тире с длинным названием параметра. Параметры перечислены в алфавитном порядке.

1.3.1. Основные параметры

1.3.1.1. -a arch или --arch=arch: Выбор целевой архитектуры

Выбирает целевую архитектуру. Архитектура «x86» является архитектурой по умолчанию, которая поддерживает оба наборы команд: IA-32 и производные, и AMD64. Для вывода списка доступных архитектур в стандартный вывод, воспользуйтесь «help» в качестве arch. См. параграф Раздел 1.4, где приведен список поддержываемых архитектур.

1.3.1.2. -f format или --oformat=format: Выбор формата объекта

Выбирает формат выходного объекта. Формат «bin» является форматом объекта по умолчанию, который на самом деле плоский бинарный формат без распределения. Для вывода списка доступных форматов объекта в стандартный вывод, воспользуйтесь «help» в качестве format. См. параграф Раздел 1.6, где приведен список поддержываемых форматов объекта.

1.3.1.3. -g debug или --dformat=debug: Выбор формата отладки

Выбирает формат отладки для отладочной информации. Отладочная информация может использоваться отладчиком, чтобы связать исполняемый код назад к исходному файлу или получить структуру данных и информацию типа. Доступные форматы отладки изменяются между различными форматами объекта; yasm ошибётся если неправильная комбинация будет выбрана. Формат отладки по умолчанию выбирается форматом объекта. Для вывода списка доступных форматов отладки в стандартный вывод, воспользуйтесь «help» в качестве debug. См. параграф Раздел 1.7, где приведен список поддержываемых форматов отладки.

1.3.1.4. -h или --help: Вывод резюме параметров

Выводит резюме вызовных параметров. Остальные параметры игнорируются, а выходной файл не генерируется.

1.3.1.5. -L list или --lformat=list: Выбор формата листинг-файла

Выбирает формат/стиль выходного листинг-файла. Листинг-файлы, как правило, смешивают первоначальный исходный код с машинным кодом сгенерированный ассемблером. Форматом листинга по умолчанию является «nasm», который имитирует формат листинга NASM. Для вывода списка доступных форматов листинг-файла в стандартный вывод, воспользуйтесь «help» в качестве list.

1.3.1.6. -l listfile или --list=listfile: Определение названия листинг-файла

Определяет название выходного листинг-файла. Если этот параметр не используется, листинг-файл не генерируется.

1.3.1.7. -m machine или --machine=machine: Выбор целевой машины данной архитектуры

Выбирает целевую машину данной архитектуры. По существу подтип выбранной архитектуры, тип машины выбирает между главными подтипами архитектуры. Например, для архитектуры «x86» доступны две машины: «x86», которая используется набором инструкции IA-32 и производным 32-битовым набором инструкции, и «amd64», которая используется 64-битовым набором инструкции. Это различение требуется для генерации правильного объектного файла для распределенных форматов объекта таких как COFF и ELF. Для вывода списка доступных машин данной архитектуры в стандартный вывод, воспользуйтесь «help» в качестве machine и укажите данную архитектуру с помощю -a arch. См. часть Часть VII для более подробной %информации.

1.3.1.8. -o filename или --objfile=filename: Определение названия объектного файла

Определяет название выходного файла, отвергая любые названия по умолчанию генерируемые Yasm.

1.3.1.9. -p parser или --parser=parser: Выбор синтаксического анализатора

Выбирает синтаксический анализатор (синтаксис ассемблера). Синтаксическим анализатором по умолчанию является «nasm», который эмулирует синтаксис NASM (Netwide Assembler). Другим доступным синтаксическим анализатором является «gas», который эмулирует синтаксис GNU AS. Для вывода списка доступных синтаксических анализаторов в стандартный вывод, воспользуйтесь «help» в качестве parser. См. параграф Раздел 1.5, где приведен список поддержываемых синтаксических анализаторов.

1.3.1.10. -r preproc или --preproc=preproc: Выбор препроцессора

Выбирает препроцессор для обработки входного файла прежде, чем передать его к синтаксическому анализатору. Препроцессоры часто обеспечивают функциональные возможности макросов, которые не включены в основной синтаксический анализатор. Препроцессором по умолчанию является «nasm», который на самом деле импортированная версия фактического препроцессора NASM. Доступен также препроцессор «raw», который просто пропускает шаг препроцессорной обработки, передавая входной файл непосредственно к синтаксическому анализатору. Для вывода списка доступных препроцессоров в стандартный вывод, воспользуйтесь «help» в качестве preproc.

1.3.1.11. --version: Получение версии Yasm

Этот параметр заставляет Yasm вывести его номер версии также как и резюме лицензии в стандартный вывод. Все другие параметры игнорируются и выходной файл не генерируется.

1.3.2. Параметры предупреждения

Параметры -W имеют две противоположные формы: -W?name? и -Wno?-name?. Здесь приведены только нестандартные формы.

Параметры предупреждения обрабатываются в порядке, данном в командной строке, поэтому если -w сопровождается -Worphan-labels, все предупреждения выключены за исключением строк исходника, в которых находятся метки без завершающего двоеточия.

1.3.2.1. -w: Запрещение всех предупреждающих сообщений

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

1.3.2.2. -Werror: Обработка предупреждений как ошибок

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

1.3.2.3. -Wno-unrecognized-char: Не предупреждать об неопознанных вводных символах

Заставляет Yasm не предупреждать об неопознанных символах, найденных во вводе. Обычно Yasm генерирует предупреждение для любого символа не-ASCII, найденного во входном файле.

1.3.2.4. -Worphan-labels: Предупреждать о метках без завершающего двоеточия

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

1.3.2.5. -X style: Изменение стиля сообщений об ошибках/предупреждениях

Выбирает определенный стиль вывода для сообщений об ошибках и предупреждающих сообщений. Стилем по умолчанию является «gnu», который имитирует вывод gcc. Доступен также стиль «vc», который имитирует вывод компилятора Microsoft Visual Studio.

Этот параметр доступен, чтобы Yasm более свободно интегрировал в среды IDE, такие как Visual Studio или Emacs, позволяя IDE правильно распознать сообщение об ошибке/предупреждающее сообщение как таковое и связаться с нарушительной строкой исходного текста.

1.3.3. Параметры препроцессора

Теоретически эти препроцессорные параметры будут действительны для любого препроцессора, но в настоящее время единственным препроцессором в Yasm является препроцессор «nasm».

1.3.3.1. -D macro[=value]: Предопределение макроса

Предопределяет однострочный макрос. Значение макроса указывать необязательно (если значение не указано, макрос будет определен, но на пустое значение).

1.3.3.2. -e или --preproc-only: Только препроцессирование

Останавливает процесс ассемблирования после препроцессорного уровня; вывод препроцессора отправляется в определенный названием вывод или в стандартный вывод (если вывод не определен). Объектный файл не производится.

1.3.3.3. -I путь: Добавление пути включаемых файлов

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

1.3.3.4. -P filename: Предварительное включение файла

Предварительно включает файл filename, так, как если бы filename был включен во вводе. Может быть полезным для предварительного добавления многострочных макросов, которых -D не поддерживает.

1.3.3.5. -U macro: Отмена определения макроса

Отменяет определённый однострочный макрос (либо встроенный макрос либо макрос ранее определен в командной строке с помощю ключа -D (см. параграф Раздел 1.3.3.1)).