Assembler

Aus Lowlevel

Wechseln zu: Navigation, Suche

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.

Inhaltsverzeichnis

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) [1]
MASM (Microsoft Macro Assembler) [2]
NASM (The Netwide Assembler) [3]
TASM (Turbo Assembler) [4]
YASM (Diese Buchstabenkombination besitzt keine offizielle Langform) [5]

Persönliche Werkzeuge