Zum Inhalt springen

Assembler (Informatik)

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 14. Juni 2004 um 18:52 Uhr durch SnowCrash (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Ein Assembler ist ein spezieller Compiler, der ein Programm in einer maschinennahen Assemblersprache in Maschinensprache übersetzt. Oft wird der Ausdruck Assembler auch als Abkürzung oder Synonym für Assemblersprache verwendet.

Zu beachten ist, dass verschiedene Prozessorarchitekturen grundverschiedene Assembler- und Maschinensprachen haben, so dass jeweils ein zur aktuellen Architektur passender Assembler benötigt wird. Es gibt jedoch Assemblerfamilien, die mehrere Prozessoren unterstützen bei gleichbleibender Makrosprache und Arbeitsumgebung; der GNU Assembler ist z.B. eine solche Familie.

Ein Programm zum Rückübersetzen von Maschinensprache in Assemblersprache ist ein Disassembler. Diese Rückübersetzung ist möglich, da es - anders als bei Hochsprachen - eine 1-zu-1-Beziehung zwischen einfacher Assemblersprache und Maschinensprache gibt. Meist werden aber etwas komplexere Assemblersprachen mit Makrofähigkeiten verwendet, so dass diese einfache Abbildung nicht mehr hundertprozentig zutrifft. Die einfachste Version eines Assemblers, kombiniert mit der Möglichkeit, Programme interaktiv zu testen und zu analysieren, wird Maschinensprachemonitor genannt.

Für die x86-Prozessoren-Familie und kompatible Prozessoren (z.B. Intels Pentium oder AMDs Athlon) sind der Microsoft Assembler (MASM), Borland Turbo Assembler (TASM) und der Netwide Assembler (NASM) weit verbreitet. Neben Assemblern, die die Intel-Syntax kennen, gibt es noch solche, die Assemblercode in der AT&T-Syntax assemblieren können, wie den unter Linux hauptsächlich genutzten GNU Assembler.

Auf IBM-Großrechnern (zSeries) wird der High Level Assembler verwendet, Hercules-Anwender müssen entweder den veralteten Assembler Assembler-F benutzen oder aber den Tachyon Legacy Assembler verwenden, welcher unter Linux für z/Series läuft.

Für die Mikrocontrollerfamilie MCS-51 von Intel, deren erster Vertreter der 8051 war, gibt es den freien Macroassembler ASEM-51. Heute gibt es bereits hunderte von 8051-Derivaten von über einem Dutzend Halbleiterherstellern.

Siehe auch: Betriebssystem