Wer hat Assembler "erfunden"?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ich. Nein, ernsthaft! :)

Da Assembler ja mehr oder weniger eine Abbildung von Maschinenbefehlen auf ASCII-Kürzel sind, gibt es dementsprechend auch viele Dialekte.

Diese Dialekte beziehen sich wohlgemerkt nicht nur auf unterschiedliche Prozessoren, sondern auf Hersteller bzw. "Erfinder". Deshalb gibt es allein für 80x86 zich Assembler-Arten.

Meist ist die Syntax an die von Intel oder AT&T angelehnt, bzw. komplett von einem dieser beiden Hersteller übernommen. Und viele Assembler kommen auch mit beiden klar.

Zum Assembler an sich (also nicht der "Sprache") muss man sagen, dass es ganz einfache "dumme" gibt, und "intelligente", die dann auch Makros oder sogar Hochsprachenelemente beherrschen.

Außerdem gibt es Assembler, die den Quelltext Eins zu Eins in Maschinencode umsetzen,, und es gibt welche, die dabei auch noch Optimierungen vornehmen. Bei einigen kann man auch mehrere Optimierungsstufen an- und abschalten.

Wie du siehst, gibt es unzählige Varianten von Assemblern. Und da es grob erklärt, einfach nur ein Dictionary von Befehl auf Maschinencode ist, kann man jetzt auch nicht sagen, wers erfunden hat. Für jede neue Prozessorgeneration werden neue Assembler "erfunden".

Und um auf den ersten Absatz meiner Antwort einzugehen: Ich habe mal einen Assembler für ein Embedded System geschrieben, weil die Software vom Hersteller einfach nur so unglaublich grottenschlecht und verbuggt war, dass man damit keine größeren Projekte hätte realisieren können. Dabei habe ich auch gleich Befehle eingebaut, die zwar in der Dokumentation standen, aber nicht vom Original-Assembler unterstützt wurden, sodass man an solchen Stellen notgedrungen immer reine Bytes definieren musste.

Wie du siehst, ist ein Assembler einfach nur ein Werkzeug, was je nach Anforderung und Umgebung immer wieder neu erfunden wird. :)

"Assembler" hat viele "Erfinder". :)

Allerdings vermute ich, dass du evtl. wissen wolltest, wer "Assembler" ZUERST erfunden hat, oder? Wenn dem so ist, dann verweise ich einfach mal auf die Antwort von "Fitje". :)

benutzerFrage 
Fragesteller
 30.09.2015, 18:04

Danke für die ausführliche Dokumentation :D

1

Der erste Assembler wurde  1950 von Nathaniel Rochester erfunden.

Es gibt mehrere Versionen, je nach Prozessor ob für

Motorola 68000(der erste 32-Bit-Prozessor), Motorola DSP 56000, Siemens 68C166, Zilog Z8, AMD 29 K, Toshiba TLCS-9000, Hitachi-7000, Mitsubishi MELPS-4500, Mikrochip PIC17C42, Zilog Z80, Z180, Z380, Rockwell 6502 und 65(S)C02, Motorola 6804 oder TMS3201x oder den von NEX 75K0, IBM 8086

Das waren alles Prozessoren, die 1995 auf dem Markt waren. Nicht alle hatten eine Segmentiererei wie die IBM-Prozessoren. Auch nicht jeder beherrscht beide Syntax-Formen:

Die Intel-Syntax und die von AT&T.

Eher findest du einen der die Sprache der Navajo-Indianer und Hieroglyphen gleichzeitig lesen kann als jemanden der sich mit beiden Formen auskennt.

Also das hängt meines Wissens stark von den darunter liegenden Prozessoren ab. Nimm das Beispiel 8086, wo Intel den Prozessor und den dazugehörigen Befehlssatz entwickelt hat.

Wer der erste war? Gemäss Wiki:

Der erste Assembler wurde zwischen 1948 und 1950 von Nathaniel Rochester für eine IBM 701 geschrieben.

Dann gibt es noch die Unterscheidung RISC und CISC, da kannst du dich auch mal schlau machen.