GNU Assembler

GNU Assembler
GNU Assembler (GAS)
Тип

ассемблер

Разработчик

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

Написана на

C

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

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

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

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

Последняя версия

2.20.1 (3 марта 2010)

Лицензия

GPL 3

Сайт

gnu.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.

Примечания

  1. Linux Assembly HOWTO: GAS  (англ.). Архивировано из первоисточника 23 марта 2012. Проверено 18 июля 2010.
  2. Using as: The GNU Assembler  (англ.). Архивировано из первоисточника 23 марта 2012. Проверено 18 июля 2010.
  3. gas/NEWS  (англ.). Архивировано из первоисточника 18 февраля 2012. Проверено 17 июля 2010.

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "GNU Assembler" в других словарях:

  • GNU Assembler — Entwickler GNU Projekt Aktuelle Version 2.21 (8. Dezember 2010) Betriebssystem Cross platform Programmier­sprache C …   Deutsch Wikipedia

  • GNU Assembler — Le GNU Assembler (aussi appelé gas), que l on peut appeler par la commande as depuis un shell, est l assembleur du projet GNU. C est le back end par défaut de GCC. Il fait partie du paquet GNU Binary Utilities. Le premier objectif de ce paquet… …   Wikipédia en Français

  • GNU Assembler — El gas, o GNU Assembler, es el ensamblador del proyecto GNU. Es el back end por defecto del GNU Compiler Collection y es usado para compilar Linux y otros sistemas operativos como el sistema operativo GNU. Es una parte del paquete GNU Binutils, y …   Wikipedia Español

  • GNU Assembler — …   Wikipedia

  • GNU Assembleur — GNU Assembler GNU Assembler (aussi appelé gas), que l on peut appeler par la commande as depuis un shell, est l assembleur du projet GNU. C est le back end par défaut de GCC. Il fait partie du paquet GNU Binary Utilities. Le premier objectif de… …   Wikipédia en Français

  • GNU Binutils — Тип Инструментальное программное обеспечение Разработчик Проект GNU Последняя версия 2.22 (21 ноября 2011) Лицензия GNU GPL Сайт …   Википедия

  • GNU Binutils — Entwickler GNU Projekt Aktuelle Version 2.21 (8. Dezember 2010) Kategorie Programmierwerkzeug Lizenz GPL …   Deutsch Wikipedia

  • GNU's Not UNIX — GNU GNU Famille Type Unix Type de noyau …   Wikipédia en Français

  • GNU/Hurd — GNU GNU Famille Type Unix Type de noyau …   Wikipédia en Français

  • Gnu — Famille Type Unix Type de noyau …   Wikipédia en Français


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»