GNU Assembler - GNU Assembler
![]() | |
Vývojáři | Projekt GNU |
---|---|
Stabilní uvolnění | 2.34 / 1. února 2020 |
Napsáno | C |
Plošina | Cross-platform |
Typ | Assembler |
Licence | GNU General Public License v3 |
webová stránka | www |
The GNU Assembler, běžně známý jako plyn nebo jednoduše tak jako, jeho spustitelný název, je assembler používá Projekt GNU. Je to výchozí back-end z GCC. Používá se k sestavení Operační systém GNU a Linuxové jádro a různé další programy. Je součástí GNU Binutils balík.
PLYN spustitelný je pojmenován tak jako, standardní název pro a Unix assembler. PLYN je napříč platformami a oba běží a sestavují se pro řadu různých počítačové architektury. Vydáno pod GNU General Public License v3, PLYN je svobodný software.
Dějiny
První verze GAS byla publikována c. 1986-1987.[1] Napsal to Dean Elsner a podporoval VAX architektura.[1]
Obecná syntaxe
GAS podporuje obecnou syntaxi, která funguje pro všechny podporované architektury. Obecná syntaxe obsahuje direktivy assembleru a metodu komentování.
Směrnice
PLYN používá assembler směrnice (známé také jako pseudo operace), což jsou klíčová slova začínající obdobím, která se chovají podobně jako směrnice preprocesoru v Programovací jazyk C.. Zatímco většina dostupných direktiv assembleru je platná bez ohledu na cílovou architekturu, některé direktivy jsou závislé na počítači.[2]
Komentáře
PLYN podporuje dva styly komentářů:[3]
Víceřádkové komentáře
Stejně jako v C víceřádkové komentáře začínají a končí zrcadlením dvojic lomítko-hvězdička:
/* komentář*/
Jednořádkové komentáře
Jednořádkové komentáře mají několik různých formátů, podle kterých se architektura sestavuje.
- Symboly hash (#) se používají pro platformy: i386, x86-64, i960, 68HC11, 68HC12, VAX, V850, M32R, PowerPC, MIPS, M680x0, a RISC-V.
- Středníky (;) se používají na: AMD 29k rodina, OBLOUK, H8 / 300 rodina, HPPA, PDP-11, picoJava, Motorola a M32C.
- The zavináč (@) se používá na PAŽE plošina.
- Dvojitý rozřezat (//) se používá na AArch64 plošina.
- A svislá čára (|) se používá k označení komentářů při sestavování 680x0.
- An vykřičník (!) na Renesas SH plošina.
Používání
Jako back-end pro populární sadu kompilátorů, jmenovitě GCC, je GNU Assembler velmi široce používán při kompilaci moderního open source softwaru. GAS se často používá jako assembler v operačních systémech GNU / Linux ve spojení s jiným softwarem GNU. Upravenou verzi PLYNU najdete také v Macintosh balíček vývojových nástrojů operačního systému od OS X.
Ukázkový program
Standardní „Ahoj, světe!“ program pro Linux na IA-32 pomocí výchozího nastavení Syntaxe AT&T:
.globální _Start.text_Start: movl $4, % eax # 4 (kód pro „write“ syscall) -> registr EAX movl $1, % příliv # 1 (deskriptor souboru pro standardní výstup) -> EBX (první argument pro Syscall) movl $ msg, % ecx # adresa řetězce zpráv -> ECX (2. argument) movl $ len, % edx # len (32bitová adresa) -> EDX (3. arg) int 0x80 $ # přerušení s umístěním 0x80 (128), které vyvolá proceduru volání systému jádra movl $1, % eax # 1 („exit“) -> EAX movl $0, % příliv # 0 (s úspěchem) -> EBX int 0x80 $ # viz předchozí.datazpráva: .ascii "Ahoj, svět! N" # vložený řetězec ASCII len = . - zpráva # přiřadit hodnotu (aktuální adresa - adresa začátku zprávy) symbolu "len"
Syntaxe Intel
Od verze 2.10 lze syntaxi Intel používat pomocí .intel_syntax
směrnice.[4][5][6]
Viz také
Reference
- ^ A b "GNU Assembler". CiteSeerX 10.1.1.32.4503. Citovat deník vyžaduje
| deník =
(Pomoc) - ^ „GNU Assembler - směrnice Assembler“.
- ^ Red Hat Inc. „Použití jako“. Citováno 10. ledna 2013.
- ^ „Novinky GNU Assembler“.
- ^ „AT&T Syntax versus Intel Syntax“. Citováno 28. července 2014.
- ^ Ram Narayan (2007-10-17). „Linux assemblers: A comparison of GAS and NASM“. IBM DeveloperWorks. Archivovány od originál dne 3. března 2009. Citováno 28. července 2014.
externí odkazy
- Oficiální webové stránky
- Ruční plyn
- Linux Příkazy uživatele Manuál : přenosný GNU assembler -