www.wikidata.de-de.nina.az
Der GNU Assembler auch bekannt als GAS ist der Assembler des GNU Projekts Er ist das Standard Backend der GNU Compiler Collection Er wird zum Assemblieren des GNU Betriebssystems des Linux Kernels und vieler anderer Applikationen verwendet Er gehort zum GNU Binutils Paket GNU AssemblerBasisdatenEntwickler GNU ProjektErscheinungsjahr 1986Aktuelle Version toolset version of binutils 1 Betriebssystem Cross platformProgrammiersprache CKategorie AssemblerLizenz GNU General Public License v3www gnu org software binutilsDie ausfuhrbare Datei des GNU Assemblers ist nach dem Unix Assembler as benannt GAS ist plattformubergreifend und damit fur eine grosse Anzahl von verschiedenen Rechnerarchitekturen sowohl lauf als auch assemblierfahig GAS wird unter der GNU General Public License v3 veroffentlicht und ist freie Software Inhaltsverzeichnis 1 Allgemeingultige Syntax 1 1 Assembler Direktiven 1 2 Kommentare 2 Kritik 3 Inline Assembler 4 Weblinks 5 EinzelnachweiseAllgemeingultige Syntax BearbeitenDer GNU Assembler hat eine allgemeingultige Syntax fur alle unterstutzten Architekturen Diese Syntax beinhaltet Assembler Direktiven und Methoden zum Kommentieren Assembler Direktiven Bearbeiten Der GNU Assembler verwendet Assembler Direktiven auch als pseudo ops bekannt welche aus einem Schlusselwort beginnend mit einem Punkt gebildet werden Die meisten verfugbaren Direktiven sind architekturunabhangig einige wenige hardwarespezifisch 2 Kommentare Bearbeiten GAS nutzt standardmassig das Rautezeichen fur einen Einzelzeilenkommentar Beispiel pop edx dies ist ein Kommentar dies ebenfalls movl edx eaxKritik BearbeitenEine Quelle von Kritik an GAS ist dass er fur die x86 und x64 Architekturen anstelle der verbreiteteren Intel Syntax die AT amp T Assembler Syntax verwendet 3 Das ist allerdings in der Kompatibilitat zu GCC begrundet 4 und kann in neueren Versionen uber die Direktive intel syntax geandert werden 5 Das obige Beispiel in Intel Syntax intel syntax noprefix pop edx Intel syntax kommentar mov eax edx att syntax prefixInline Assembler BearbeitenDer GNU Assembler zeichnet sich gegenuber anderen Assemblern auch durch eine Inline Syntax aus die es ermoglicht den Assembler Teil effektiv in einen Hochsprachenteil einzubinden Dies geschieht durch eine Liste der Eingabe Ausgaberegister und der im Assembler Teil verwendeten Register 6 Hierdurch kann der Compiler einen Assembler Teil wahrend der Optimierung ohne Ubergabe Overheads an den Hochsprachenteil anbinden Das obige Beispiel als C Inline Assembler in Intel Syntax asm volatile intel syntax noprefix n t pop edx Intel syntax kommentar n t mov eax edx n t att syntax prefix n t no output operands d save var a temp var inputs operands eax edx intern verwendete register clobber list Weblinks Bearbeiten nbsp Wikibooks Assembler Programmierung fur x86 Prozessoren Lern und Lehrmaterialien Offizielle Webseite der binutils GAS Handbuch englisch Ein Vergleich von GAS und NASM von IBM englisch 2007 Einzelnachweise Bearbeiten sourceware org abgerufen am 8 Februar 2021 The GNU Assembler Assembler Directives In sourceware org Abgerufen am 27 Marz 2022 Susan Welsh AT amp T Assembly Syntax Memento vom 7 Januar 2020 im Internet Archive Sig 9 17 Juli 2017 AT amp T Syntax versus Intel Syntax abgerufen am 13 November 2019 Ram Narayan Linux assemblers A comparison of GAS and NASM bei IBMDeveloper vom 17 Oktober 2007 abgerufen am 13 November 2019 5 Extended Asm www ibiblio org 1 Marz 2003 abgerufen am 27 Juli 2011 englisch we can also specify the operands It allows us to specify the input registers output registers and a list of clobbered registers Abgerufen von https de wikipedia org w index php title GNU Assembler amp oldid 232270062