Главная » Просмотр файлов » GCC - The Complete Reference

GCC - The Complete Reference (537669), страница 64

Файл №537669 GCC - The Complete Reference (GCC - The Complete Reference) 64 страницаGCC - The Complete Reference (537669) страница 642015-07-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 64)

Все три аргумента директивы являются абсолютными выраженими. Если значение г111егне указано, то по умолчанию происходит заполнение нулевыми байтами для разделов данных и "пустыми" операционными кодами поор для разделов исполняемого кода. Если количество заполняющих байтов, требуемое для выравнивания следующей инструкции, превышает пих1птшп, то по этой директиве ассемблер не предпринимает никаких действий. Аргументы г111ег и юпах1ицтп являются необязательными. Для применения аргумента иах1ишп без указания г111ег следует ставить две запятые. Точный формат этой директивы непостоянный.

Из-за того, что ассемблер 0)Ч() поддерживает эмуляцию "родных" асемблеров на целом ряде довольно разнообразных платформ, поле Ьоцлетагу может интерлретироваться весьма своеобразно. Например, на одних системах 8-битное выравнивание может указываться как .а11дп в (т е.

адрес должен быть кратным 8-ми), в то время как на других — . а11дл 3 (число здесь указывает 3 нулевых младших бита в двоичном представлении адреса). Для использования более переносимого синтаксиса лучше использовать директиву . Ьа11дл или .рла11дп. .адсй ]йг!пдву~,и1г!пд ...] Асссмблирует ноль или большее количество указаннгях текстовых строк в текстовый раздел ЛБС)Е Размещаемые по этой директиве строки не имеют завершающего нулевого байта. .адс1д ]д!г!пдву,зЬ!пд ...] Ассемблирует ноль или более текстовых строк в текстовый раздел АЗСП. К размещаемым по этой директиве строкам добавляется нулевой байт. .Ьа11дп Ьоипс!агу ~, ЛИег]~,тах!тит] Вставляет байты г111ег Лая применения указанного аргументом ЬоцатУагувыравнивания адреса следующей инструкции.

Все три аргумента — абсолютные выражения. Если ГХ11ег не указан, то по умолчанию для разделов данных применяется нулевой байт, а для разделов выполняемых инструкций — "пустой" оператор поор. Если нужное количество заполняющих байтов превышает пихМпиип, то никаких действий не предпринимается. Аргументы Ш1ег и пих1тпщп являются необязательными. Для применения аргумента пихМлпип без указания г111 ег следует ставить две запятые. .Ьа11дп1 Ьоипс!агу ~,Ф!!!его,тах!тит] Такая же директива, как и . Ьа11да, за исключением того, что г Шег имеет фиксированную длину 32 бит (тил 1оад). .Ьа11дпуд Ьоипдагу 1,г!!!ег]),тах!тит] Действует так же, как директива .

Ьа11дп, кроме того, что г111ег имеет длину !6 бит. Глава 15. АссемблеР Ойдо 287 .Ьу1е ехргетоп ~,ехргеи!оп .../ Для каждого выражения ехргевв1оп размещается один байт, и в него записывается результат выражения. .сотт дутЬо/, /епуй По этой директиве резервируется блок памяти, имеющий длину депдеЬ байт. Этому блоку присваивается имя взсиЬод.

В случае, когда несколько модулей имеют объявления одинаковых имен символов, то их блоки при компоновке объединяются. Если длина адресуемых такими символами блоков отличается, то при их объединении выбирается наибольшее значение. На системах ЕЕГ поддерживается третий необязательный аргумент, указывающий выравнивание. На системах НРРА эта директива имеет следующий синтаксис: вувьбод . согда зепдеЬ. А/ада диЬдеМоп Операторы, которые следуют за этой директивой, ассемблируются в подраздел с номером, задаваемым аргументом виЬвесейоп.

Он должен быть абсолютным выРажением. По умолчанию виЬвесс1оп имеет нулевое значение. .де/ пате Эта директива открывает блок, содержащий отладочную информацию для размещения в объектном коде формата СОГГ. Ему присваевается имя пате, Блок продолжается до закрывающей его директивы . епбег. См. также .сззв, . вс1, . сад, .суре, .иа1 и .веге. .дедс дутЬо/, да/ие Определяет программный символ с именем вушЬо? и присваивает ему значение гаХие.

Аргумент чга2ие должен быть абсолютным выражением. Эта директива не генерирует выходной информации для размещения в объектных файлах формата СОГЕ Эта директива может использоваться только в блоках между парой директив . беС н .епбех. Она используется для включения дополнительной информации в символьные таблицы объектных файлов формата СОГЕ .доиЫе ча/ие ~,да/ие .../ Для каждого укаэанного значения чгадие ассемблируется и записывается в память число с плавающей точкой.

Внутреннее представление чисел с плавающей точкой (включая их размер и диапазон значений) зависит от платформы. Смотри также .й1оас. .е/ест Включает в выходной листинг ассемблера символы конца страницы. 288 Часть ПК Внутренняя структура н окружение .еЬе См.. 3.г. .епде$ См.. бес.

.епдИ См..хк. .еии дутЬо!, ма/ие Определяет программный символ вужЬо2 со значением гаване. Аргумент тга2пв может быть как абсолютным, так и относительным выражением. Директива . еттп может применяться к одному символу сколько угодно, каждый раз изменяя его значение. На системах НРРРА имеет синтаксис вутяЬо2 .еоп тга2пе. Этадиректива равносильна . вес, См.

также . ейпззг. .еиипг дутЬо!, гга!ие Действует так же, как директивы . едп и . вес. Отличается тем, что при применении этой директивы генерируется сообщение об ошибке в том случае, если символ ранее уже был определен. .егг Директива . ехк генерирует сообщение об ошибке, даже если в командной сроке применена опция -в. Кроме того, она отменяет выработку объектного файла.

Обычно используется внутри блока условного ассемблирования для указания ошибки. В следующем примере эта директива выдает ошибку, если не определен символ с именем вьдскг.1нв: . зептзеа вьлскьтнв . екх . епЖк ЯП гереаГ, дйе, гга!ие Эта директива ассемблера созлает нужное количество блоков данных, каждый из которых имеет длину до 8 байт. Значением хереае должно быть абсолютное выражение, оно задает количество создаваемых блоков. Значением аргумента вхяе может быть любое абсолютное значение, но если оно превышает число 8, то воспринимается как равное восьми. Аргумент вХве определяет число байт в каждом блоке. Аргумент этой директивы тга2пе используется для заполнения каждого 8-байтного блока создаваемого директивой массива.

Заполнение младших 4х байт каждого блока определяется из значения аргумента ке2 не, которое считывается последовательно по байтам. Каждые считанные 4 байта преобразовываются к аппаратному представлению 32-битного двоичного целого числа, которое и записывается в блок. Представление записываемого числа зависит от платформы. Блоки создаваемого массива заполняются последовательно требуемым количеством байт, считываемых из значения тга1пе. Глава 15.

Ассемблер 6ЫО 289 Если размер массива в1хе не указан, то по умолчанию ему присваивается значение 1. Если не указан аргумент ма2пе, то считается, что он равен нулю. См, также .огд и .рза11дп. Л!Оа~ ча)ие!,ча)ие ...! Для каждого указанного значения бга1пе ассемблируется число с плавающей точкой (тип й1оас). Внутреннее представление таких чисел, включая их размер и диапазон значений, зависит от платформы. См.

также . бтопь1е. .9!ОЬа! яутЬо! Указанный этой директивой символ становится глобальным, те. известным компоновщику. Директива не определяет символ, он может быть объявлен в любом месте программы. Программный символ можно объявить в одном модуле программы, при компоновке программы во всех остальных модулях ссылки на него являются разрешимыми. .9!ОЫ Синоним директивы . д1оЬа1. .!)вчогд чаlие!„ча!ие ...! Для каждого указанного ча1пе резервируется 16 бит, и в это расположение записывается значение бга2пе, преобразованное к 16-битному двоичному целому числу В зависимости от платформы эта директива может быть равнозначна . вьогс или .иогбт. Я ехргем!Оп Строки, которые следуют за этой директивой, ассемблируются, только если результат абсолютного выражения ахргаввйоп не равен нулю.

Конец раздела условна ассемблируемого кода отмечает директива . впаяй. Например, следующие две инструкции будут ассемблироваться только в том случае, когда значения горвйбв и спггепг равны: . ы еорв1бзе — епггепс рпвп1 чеЬр аоб 1 ббевр, ббрр . епсИ.Й Необязательная директива . е1ве выделяет блок альтернативного кода, который ассемблируется, только когда выражение ехргевв1оп директивы . Ы ложно (те. раввонулю).

В этом примере выполняемая инструкция зависит от значения кктпнтиа: . И вмтввтмп рпвь1 ЪеЬр .е1ве рор1 ббеЬр . епбтьв 1О ь гвбфбьббб 290 Часть П1. Внутренняя структура и окружение Директива . 1г имеет формы . 1Иег, . 1гпбей и .1гпосбег, используемые лля проверки определенности символов. л!1/е! зутЬо/ Условное ассемблирование выполняется, кода символ с именем вув»Ьо1 определен. См..1г.

.1!псе! аутЬоl Условное ассемблирование выполняется, кода символ с именем вултбо1 не определен. См.. 1г. .1!псе! аутЬоl То же, что и . ». Йцгтей. .!псЬс!е "У!!алата" В текущий файл в том месте, где применена эта директива, вставляется файл с указанным именем, и его код ассемблируется. Для указания каталогов для поиска вставляемых по . 1цс1цете файлов может бЫть использована в строке команды опцня -1.

лп1 1уа/ие/„ча/ие ...1 Для каждого указанного значения ха2ие ассемблируется целое число. Размер, диапазон значений и порядок байтов зависят от платформы. См, также . 1опд, .вцогс и .могет. лгр !ау,з!у$,~й1 Весь код между директивами . 1гР и . ецттг ассемблируется столько раз, сколько параметров асг указано. При этом каждая ссылка "1ее~' в блоке кода заменяется текущей для данного прохода строкой всг, Например, следующий код применяет одну и ту же инструкцию последовательно к трем регистрам: .1гР Еая,евР,еЬР,евх всЫ а1,ЪХсея .епсг Результирующий ассемблируемый код выглядит так: вцЫ аь,ткевр виЫ аг,чеЬР виЬ1 $1,%еах См.

также .гяасго, .гере и . 1грс лгрс !ад,сИаг!Ы Весь код между директивами .1грс и . ецбг ассемблируется столько раз, сколько имеется буквенных символов в строке от»аг21ве. При каждом следующем проходе ссылка 1еау в блоке кода заменяется следующим буквенным символом из строки. В этом примере одна строка кода применяется трижды к разным операндам: Глава Зб.лссвмблвраыо 291 .1грс сад,заэ аЕЫ1 ФХЕад,Ъевр .епсг Результирующий код выглядит так: аЕЫ1 31,Ъевр асЫ1 $2,плевр аЕЫ1 $3,Ъевр См.

Характеристики

Тип файла
DJVU-файл
Размер
6,08 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6294
Авторов
на СтудИзбе
314
Средний доход
с одного платного файла
Обучение Подробнее