Download Yasm User Manual
Transcript
Оглавление I Preface 0.1 0.2 0.3 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Material Covered in this Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 II Using Yasm 5 1 Запуск Yasm 1.1 Синтаксис командной строки yasm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Описание . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Параметры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 Основные параметры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1.1 -a arch или --arch=arch: Выбор целевой архитектуры . . . . . . . . . . . . 1.3.1.2 -f format или --oformat=format: Выбор формата объекта . . . . . . . . . . 1.3.1.3 -g debug или --dformat=debug: Выбор формата отладки . . . . . . . . . . . 1.3.1.4 -h или --help: Вывод резюме параметров . . . . . . . . . . . . . . . . . . . 1.3.1.5 -L list или --lformat=list: Выбор формата листинг-файла . . . . . . . . . . 1.3.1.6 -l listfile или --list=listfile: Определение названия листинг-файла . . . . . . 1.3.1.7 -m machine или --machine=machine: Выбор целевой машины данной архитектуры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1.8 -o filename или --objfile=filename: Определение названия объектного файла 1.3.1.9 -p parser или --parser=parser: Выбор синтаксического анализатора . . . . . 1.3.1.10 -r preproc или --preproc=preproc: Выбор препроцессора . . . . . . . . . . . 1.3.1.11 --version: Получение версии Yasm . . . . . . . . . . . . . . . . . . . . . . . 1.3.2 Параметры предупреждения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.2.1 -w: Запрещение всех предупреждающих сообщений . . . . . . . . . . . . . 1.3.2.2 -Werror: Обработка предупреждений как ошибок . . . . . . . . . . . . . . 1.3.2.3 -Wno-unrecognized-char: Не предупреждать об неопознанных вводных символах . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.2.4 -Worphan-labels: Предупреждать о метках без завершающего двоеточия . 1.3.2.5 -X style: Изменение стиля сообщений об ошибках/предупреждениях . . . 1.3.3 Параметры препроцессора . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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: Предварительное включение файла . . . . . . . . . . . . . . . 1.3.3.5 -U macro: Отмена определения макроса . . . . . . . . . . . . . . . . . . . . 1.4 Поддерживаемые архитектуры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Поддерживаемые синтаксические анализаторы (синтаксисы) . . . . . . . . . . . . . . . . 1.6 Поддерживаемые форматы объектов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7 Поддерживаемые форматы отладки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 7 7 7 7 7 8 8 8 8 9 9 9 9 10 10 10 10 10 10 10 11 11 III NASM Syntax 13 2 Язык NASM 2.1 Обзор ассемблерной строки NASM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Псевдо-инструкции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 DB и ее друзья: Объявление инициализированных данных . . . . . . . . . . . . . . 17 17 18 18 iii 8 8 8 8 9 9 9 9