Frage von Colah, 89

Ist Assembler eine Programmiersprache?

Würde mich auf eine Antwort freuen :)

Antwort
von Aero7, 64

Hallo :) 

Ja also Assemblerprogrammierung unter SPIM ... Das ist so eine Art Programmiersprache, jedoch nicht wie Hochsprachen à la JAVA aufgabaut, sondern eher Hardwarenah. Dabei lädst du Daten und oder Adressen in Register und führst darauf Operationen aus. Sehr spannend wenn es dich interessiert! 

Kommentar von Colah ,

Wo kann ich da lernen?

Kommentar von Aero7 ,

Informatik studieren, oder im Selbsstudium (Tutorials auf YouTube o.ä) :) 

Kommentar von PerfectMuffin ,

Ein Anfang wäre, dir MARS zu installieren. Das ist eine Lernumgebung für MIPS-Assemblersprache.

MIPS ist eine 32bit RISC-Architektur.

Antwort
von Famytime, 74

Ja,es ist eine Programmiersprache

Antwort
von JohanaRambowski, 22

Hallo,  Assembler ist natürlich eine Programmiersprache. Was soll es denn sonst sein?  Etwa nur eine Software die assembler Eingaben in Opcode für Prozessor x wandelt? Assembler ist genauso eine Programmierspache wie es es ein Compiler ist. 

Kommentar von GluecklicheHuhn ,

Ich hab da mal ne Frage an dich: Es gibt ja für Assembler verschiedene Compiler(?) wie NASM, FASM, MASM. Die lesen ja dann die Datei und wandeln es dann in Maschinencode um. Sind diese Compiler alle gleich? Was sind die Unterschiede?

Antwort
von PerfectMuffin, 35

Klares "Naaaja". Die Assemblersprachen SIND Programmiersprachen, aber es ist anzumerken:

1. Es gibt nicht DIE Assemblersprache, es gibt einen ganzen Haufen, je nach Prozessorarchitektur.(Aber sie unterscheiden sich nicht sehr stark)

2. Einfache Sachen in höheren Sprachen sind in Assembler sehr umständlich und fehleranfällig, man muss manchmal zum Beispiel statt Variablennamen harte Adressen eingeben und das versuchen normale Programmiersprachen gern zu vermeiden und aus deren Sicht ist Assemblersprache ein Zwischenschritt zur Veranschaulichung. Javaentwickler werden zum Beispiel javap.exe kennen, damit kann man Javaklassen in eine Art Assemblersprache übersetzen, aber sie ist nicht funktionsfähig und eigentlich nur zu Analysezwecken da.

Kommentar von Mikkey ,

statt Variablennamen harte Adressen

Sorry, aber das ist nicht wahr.

Der Code, der in Debuggern als "Disassembly" angezeigt wird, ist keine Assemblersprache. Man verwendet natürlich Namen für Speicher- und Funktionsadressen.

Kommentar von PerfectMuffin ,

Meistens ja, aber manchmal hat man auch keine andere Wahl, als direkte Adressen zu verwenden, insbesondere, wenn man nicht nur mit Assembler programmiert, weil man muss, sondern weil man optimieren will.

Wegen der Art, wie Computer Speicher verwalten, kann man z.B. Optimierung für den Cache teilweise nicht mit automatischen Labels hinkriegen.

Natürlich sind solche Praktiken heute so ziemlich ausgestorben.

Bequemlichkeiten, wie Variablennamen gibt es in allen Sprachen, auch in Assemblersprachen, aber nur in Assemblersprachen ergibt die Verwendung direkter Adressen manchmal Sinn.

(Oder gibt es höhere Programmiersprachen, die das können? Ich glaube nicht.)

Antwort
von Br4ind4m4ge, 60

Jau, ist es. Hatte ich im Praktikum viel mit zutun ;)

Antwort
von LeonardM, 28

Ja ist es. beispiel anhand von c++

bytecode => assemblercode => maschinencode

Expertenantwort
von Neugierlind, Community-Experte für PC, 50

Ein Assembler (auch Assemblierer) ist ein Computerprogramm, das Assemblersprache in Maschinensprache übersetzt, beispielsweise den Assemblersprachentext „CLI“ in den Maschinensprachentext „11111010“. Oft wird auch die Assemblersprache verkürzt als „Assembler“ bezeichnet.

Quelle: Google -> Assembler, erster Beitrag über Wikipedia. Bitte in Zukunft, google sowas doch einfach :(

Kommentar von GluecklicheHuhn ,

Ne von "cli" weiß ich glaub ich sogar den Binär Code. "ú" war es. Übersetzt mit einem Binär Editor wahrscheinlich nur eine einzige 1 als Maschinentext.

Keine passende Antwort gefunden?

Fragen Sie die Community