Als '''Assembler''' wird einerseits eine einfache Programmiersprache andererseits auch der Übersetzer dieser Programmiersprache in Maschinencode bezeichnet. Die Programmiersprache ist auf einen bestimmten Prozessortyp zugeschnitten und stellt die einzelnen Prozessorbefehle als Wörter (Mnemoniks bzw. engl. Mnemonics) mit eventuellen Parametern da. Damit ist die Sprache kaum portabel. Zusätzlich vereinfacht der Übersetzer der Programmiersprache die Adressberrechnung (unter anderem durch Labels) und ermöglicht das Berechnen von Konstanten, die sich aus Formeln zusammensetzen. == Syntax == Es gibt für die x86 Prozessorfamilie verschiedene Syntaxen.
=== Intel === Die Intel Syntax wird meistens verwendet wenn man Assembler von Hand schreibt.
Beispielcode: mov al, 0x10 === AT&T === Diese Syntax wurde speziell für das schnelle Assemblieren entwickelt, um ihn beim Kompilieren von Hochsprachenquellcode als Zwischenschritt zu verwenden. Beispielcode: movb $0x10, %al Diese Syntax wird vor allem im Zusammenhang mit gcc verwendet. Unter [[Inline-Assembler mit GCC]] befindet sich ein kleines Tutorial hierzu. == Liste bekannter Assembler == === Assembler für x86 === FASM (flat assembler) [http://flatassembler.net/]
MASM (Microsoft Macro Assembler) [http://msdn2.microsoft.com/de-de/library/afzk3475(VS.80).aspx]
NASM (The Netwide Assembler) [http://nasm.sourceforge.net/]
TASM (Turbo Assembler) [http://info.borland.com/borlandcpp/cppcomp/tasmfact.html]
YASM (Diese Buchstabenkombination besitzt keine offizielle Langform) [http://www.tortall.net/projects/yasm/]
[[Kategorie:Programmiersprache]] [[Kategorie:Lizenz ungeklärt]]