Hochsprache und Maschinensprache Unterschied?
Hallo was ist der Unterschied zwischen einer Maschinensprache und Hochsprache?
Danke im voraus
5 Antworten
Kleine Ergänzung noch: In Maschinensprache entspricht jede Zeile genau einem Befehl der jeweiligen CPU.
Maschinensprache kennt keine Zeilen, nur Speicherzellen.
Bei 8-Bit-Prozessoren bestehen viele Maschinenbefehle aus mehreren Bytes.
Hochsprachen sind wesentlich mehr abstrahiert (zB C, C++, Java, etc). Maschinensprache sind sehr "maschinennah", beispielsweise Assembler (zB "kopiere Register A nach Register B in der CPU)
Die Maschinensprache ist sehr hardwarenah, man steuert also 1:1 die Maschine mit entsprechenden Befehlen. Eine Hochsprache abstrahiert die Hardware und ist meist weitestgehend unabhängig von dieser.
Maschinensprache besteht aus OPCodes oder den zugeordneten Mnemonics. Du schreibst hier wirklich genau Schritt für Schritt das auf, was der Prozessor tun soll.
Eine Hochsprache abstrahiert das.
Nehmen wir beispielsweise mal einen fiktiven Befehl PRINT "...", der den Text in Anführungszeichen einfach auf dem Bildschirm ausgeben soll (gehen wir mal davon aus, dass es keine Fenster gibt, sondern quasi nur eine Textausgabe).
In einer Hochsprache könntest Du schreiben PRINT "Hallo". Der Text würde ausgegeben.
In Maschinensprache übersetzt würde das aber zu folgendem führen (sehr stark vereinfachter Pseudocode):
Lade Adresse von konstantem Text "Hallo" in das Register x
Rufe Grafikkartenfunktion auf, die Text aus Register x lädt
Rufe Grafikkartenfunktion auf, die Text an aktuelle Position schreibt
Rufe Grafikkartenfunktion auf, die aktuelle Position um Länge des Textes verschiebt
Das hier wäre beispielsweise das Hello-World-Programm in Assembler:
org 100h
start:
mov dx,hello_world
mov ah,09h
int 21h
mov al, 0
mov ah,4Ch
int 21h
section .data
hello_world: db 'hello, world', 13, 10, '$'
Alles klar, oder? Dasselbe jetzt in Java:
public static void main(String[] args)
{
System.out.printLn("Hello World");
}
Die Interpretation. Die Maschinensprache kann keinen Kontext übertragen, berücksichtigen, sondern führt Befehle aus. Die Hochsprache vermittelt Kontext und Sinn.
Außer Labels ;-)