GNU Assembler

Поделись знанием:
(перенаправлено с «GAS»)
Перейти к: навигация, поиск
GNU Assembler (GAS)
Тип

ассемблер

Разработчик

Фонд свободного ПО

Написана на

C

Операционная система

кроссплатформенное ПО

Аппаратная платформа

кроссплатформенное ПО

Лицензия

GPL 3

Сайт

[www.gnu.org/software/binutils/ .org/software/binutils/]

К:Википедия:Статьи без изображений (тип: не указан)

GNU Assembler или GAS (вызывается командой as) — ассемблер проекта GNU; используется компилятором GCC[1]. Входит в пакет GNU Binutils. Кроссплатформенная программа, запускается и компилирует код для многочисленных процессорных архитектур. Распространяется на условиях свободной лицензии GPL 3.





Синтаксис

Синтаксис и директивы GAS на всех платформах в значительной степени схожи[2]. Директивы начинаются с точки. Многострочные комментарии обозначаются как в Си (/* … */). Однострочные комментарии на разных платформах обозначаются по-разному; например, в GAS для x86 и x86-64 они обозначаются как в C++ (// …) или как в sh (# …), в то время как в GAS для ARM они обозначаются символом @.

По умолчанию, GAS использует AT&T-синтаксис для x86 и x86-64, то есть регистры обозначаются префиксом % и регистр-приёмник указывается после источника; например код

  movl $42, %eax

помещает значение 42 в регистр eax.

В версии 2.10 (выпущенной в 2000 году) появилась поддержка варианта более привычного для x86 Intel-синтаксиса[3], вызываемого директивой .intel_syntax noprefix (директива .intel_syntax используется для варианта Intel-синтаксиса, в котором регистры обозначаются префиксом %). Например, код

.intel_syntax noprefix
  mov eax, 42

равноценен коду с AT&T-синтаксисом, указанному выше.

Примеры

Ниже приведены примеры программы Hello, world! для GAS под Linux.

Напишите отзыв о статье "GNU Assembler"

Примечания

  1. [asm.sourceforge.net/howto/gas.html Linux Assembly HOWTO: GAS] (англ.). Проверено 18 июля 2010. [www.webcitation.org/66MZrpvwo Архивировано из первоисточника 23 марта 2012].
  2. [sourceware.org/binutils/docs-2.20/as/GNU-Assembler.html Using as: The GNU Assembler] (англ.). Проверено 18 июля 2010. [www.webcitation.org/66MZsHDgj Архивировано из первоисточника 23 марта 2012].
  3. [sourceware.org/cgi-bin/cvsweb.cgi/src/gas/NEWS?rev=1.114&content-type=text/x-cvsweb-markup&cvsroot=src&only_with_tag=MAIN gas/NEWS] (англ.). Проверено 17 июля 2010. [www.webcitation.org/65XG070wP Архивировано из первоисточника 18 февраля 2012].

Ссылки

  • [www.gnu.org/software/binutils/ Сайт GNU Binutils]  (англ.)
  • [asm.sourceforge.net/howto/ Linux Assembly HOWTO]  (англ.)
  • [www.plantation-productions.com/Webster/www.artofasm.com/Linux/HTML/AoATOC.html The Art of Assembly Language (Linux Version)]  (англ.)
  • [www.ibm.com/developerworks/ru/library/l-gas-nasm/ Ассемблеры для Linux: Сравнение GAS и NASM]
  • [linux.die.net/man/1/as as(1)]: the portable GNU assembler — страница справки man по пользовательским командам GNU/Linux  (англ.)


Отрывок, характеризующий GNU Assembler

Князь Андрей, умывшись и одевшись, вышел в роскошный кабинет дипломата и сел за приготовленный обед. Билибин покойно уселся у камина.
Князь Андрей не только после своего путешествия, но и после всего похода, во время которого он был лишен всех удобств чистоты и изящества жизни, испытывал приятное чувство отдыха среди тех роскошных условий жизни, к которым он привык с детства. Кроме того ему было приятно после австрийского приема поговорить хоть не по русски (они говорили по французски), но с русским человеком, который, он предполагал, разделял общее русское отвращение (теперь особенно живо испытываемое) к австрийцам.
Билибин был человек лет тридцати пяти, холостой, одного общества с князем Андреем. Они были знакомы еще в Петербурге, но еще ближе познакомились в последний приезд князя Андрея в Вену вместе с Кутузовым. Как князь Андрей был молодой человек, обещающий пойти далеко на военном поприще, так, и еще более, обещал Билибин на дипломатическом. Он был еще молодой человек, но уже немолодой дипломат, так как он начал служить с шестнадцати лет, был в Париже, в Копенгагене и теперь в Вене занимал довольно значительное место. И канцлер и наш посланник в Вене знали его и дорожили им. Он был не из того большого количества дипломатов, которые обязаны иметь только отрицательные достоинства, не делать известных вещей и говорить по французски для того, чтобы быть очень хорошими дипломатами; он был один из тех дипломатов, которые любят и умеют работать, и, несмотря на свою лень, он иногда проводил ночи за письменным столом. Он работал одинаково хорошо, в чем бы ни состояла сущность работы. Его интересовал не вопрос «зачем?», а вопрос «как?». В чем состояло дипломатическое дело, ему было всё равно; но составить искусно, метко и изящно циркуляр, меморандум или донесение – в этом он находил большое удовольствие. Заслуги Билибина ценились, кроме письменных работ, еще и по его искусству обращаться и говорить в высших сферах.
Билибин любил разговор так же, как он любил работу, только тогда, когда разговор мог быть изящно остроумен. В обществе он постоянно выжидал случая сказать что нибудь замечательное и вступал в разговор не иначе, как при этих условиях. Разговор Билибина постоянно пересыпался оригинально остроумными, законченными фразами, имеющими общий интерес.
Эти фразы изготовлялись во внутренней лаборатории Билибина, как будто нарочно, портативного свойства, для того, чтобы ничтожные светские люди удобно могли запоминать их и переносить из гостиных в гостиные. И действительно, les mots de Bilibine se colportaient dans les salons de Vienne, [Отзывы Билибина расходились по венским гостиным] и часто имели влияние на так называемые важные дела.
Худое, истощенное, желтоватое лицо его было всё покрыто крупными морщинами, которые всегда казались так чистоплотно и старательно промыты, как кончики пальцев после бани. Движения этих морщин составляли главную игру его физиономии. То у него морщился лоб широкими складками, брови поднимались кверху, то брови спускались книзу, и у щек образовывались крупные морщины. Глубоко поставленные, небольшие глаза всегда смотрели прямо и весело.
– Ну, теперь расскажите нам ваши подвиги, – сказал он.
Болконский самым скромным образом, ни разу не упоминая о себе, рассказал дело и прием военного министра.
– Ils m'ont recu avec ma nouvelle, comme un chien dans un jeu de quilles, [Они приняли меня с этою вестью, как принимают собаку, когда она мешает игре в кегли,] – заключил он.
Билибин усмехнулся и распустил складки кожи.
– Cependant, mon cher, – сказал он, рассматривая издалека свой ноготь и подбирая кожу над левым глазом, – malgre la haute estime que je professe pour le православное российское воинство, j'avoue que votre victoire n'est pas des plus victorieuses. [Однако, мой милый, при всем моем уважении к православному российскому воинству, я полагаю, что победа ваша не из самых блестящих.]
Он продолжал всё так же на французском языке, произнося по русски только те слова, которые он презрительно хотел подчеркнуть.
– Как же? Вы со всею массой своею обрушились на несчастного Мортье при одной дивизии, и этот Мортье уходит у вас между рук? Где же победа?
– Однако, серьезно говоря, – отвечал князь Андрей, – всё таки мы можем сказать без хвастовства, что это немного получше Ульма…