Diskussion:Assembler (Informatik)

message: Für jeden Computertyp gibt es spezielle, auf den Befehlsvorrat des Computers zugeschnittene Assemblersprache. Der Prozess der 1:1 Übersetzung dieser Assemblersprache in die Maschinensprache heißt Assemblieren.
Ein Compiler erzeugt aus einem Quellprogramm, das in einer  Quellsprache geschrieben ist, ein Zielprogramm in einer Zielsprache.
Der Compiler bezieht sich also auf Eine Hochsprache wie z.B. C++, Java oder Pascal etc. und kann auf diverse Prozessoren abgebildet werden. Ein Assembler führt eine 1:1 Transformation aus einer symbolischen, prozessorspezifischen Sprache in Maschinencode durch.
:Bin ich der einzige dem es auffällt? "die eine Hochsprache wie z.B. Java, C oder Pascal in Maschinensprache übersetzen" - wenn man sich den Sazt durchliest, dann könnte man denken, dass Java genauso kompiliert werden würde wie C oder ähnliches. Aber Java wird doch als Bytecode kompiliert und da ist der vergleich zu Maschinencode nicht gerade treffend. -- JackthHero 21:58, 22. Jun 2005 (CEST)
replies: text: Der Java-Bytecode ist der Maschinencode der Java-VM. Das braucht man nicht großartig zu vergleichen, da es im Prinzip das gleiche ist. :) --217.7.68.91 14:58, 25. Jul. 2007 (CEST)
replies: text: Die Formulierung mit Link auf Compiler ist schon recht, weil der Inhalt des Artikels das richtige trifft, nur ist hier das Wort Compiler irreführend - deswegen schreib ich "Übersetzer" rein --SonniWP2 22:48, 30. Jul. 2007 (CEST)
thread_title:  Ein Assembler ist KEIN Compiler: 

message: "Es gibt jedoch Assemblerfamilien, welche bei gleich bleibender Makrosprache und Arbeitsumgebung mehrere Prozessoren unterstützen (z. B. GNU Assembler)."
Die Aussage verstehe ich nicht ganz. Die Syntax (AT&T-Syntax genannt), die bleibt gleich. Aber die opcodes und Architekturen etc. sind doch andere. Bitte um Aufklärung. Hat der Autor schonmal gas benutzt?
--Greenhybrid 15:43, 10. Jul. 2007 (CEST)
thread_title:  GNU Assembler: CPU-unanhängig 

message: Link runtime-basic.net wurde in runtimebasic.net geändert da dieser aufgrund eines admin. Fehlers von Domain Parking Manager (Above.com) "übernommen" und nicht zurückgegeben wurde.
-- Runtimebasic 22:58, 31. Jul. 2011 (CEST)
thread_title:  Linkänderung 

message: Was man in diesem Abschnitt vielleicht noch erwähnen sollte ist die Tatsache, dass Hochsprachen die Möglichkeiten einer CPU prinzipbedingt nicht vollständig abbilden können, da man es nur mit einer Abstraktion einer Teilmenge zu tun hat. Das führt dazu, dass man in Assembler, sofern der Assembler den vollen Befehlssatz der CPU unterstützt, Dinge umsetzen kann, die man in einer Hochsprache so nur über Umwege umsetzen kann, da es der Hochsprache aufgrund der Notwendigkeit auf vielen verschiedenen Computerarchitekturen funktionieren zu müssen, an Ausdrucksfähigkeit für  eine spezifische CPU Architektur fehlt. 
So ist in C bspw. das Byte der kleinste Datentyp. Will man also einzelne Bits eines Wertes verändern, dann geht das in C nur über Tricks wie Shift Operatoren oder die Verknüpfung mit anderen Werten durch logische Operatoren wie bspw. XOR oder AND. Demgegenüber kann es aber CPU Architekturen geben, die Opcodes haben, mit denen man einzelne Bits in einem Byte auch direkt ändern kann. Ein dafür geschriebener Assembler könnte diese Möglichkeit zur Verfügung stellen, die Hochsprache C kann das aus den oben beschriebenen Gründen so direkt nicht. --IT-Compiler (Diskussion) 03:41, 7. Apr. 2022 (CEST)
thread_title:  Zu "Abgrenzung zu Hochsprachencompilern" - Abbildung von Hochsprachen ist prinzipbedingt injektiv, während ein Assembler bijektiv sein kann