Einzelnen Beitrag anzeigen
Alt 01.04.2009, 19:03   #3 (permalink)
DaKarl
Stickstoff Junkie
 
Benutzerbild von DaKarl
 

Registriert seit: 17.04.2002
Beiträge: 4.143

DaKarl ist ein wunderbarer AnblickDaKarl ist ein wunderbarer AnblickDaKarl ist ein wunderbarer AnblickDaKarl ist ein wunderbarer AnblickDaKarl ist ein wunderbarer AnblickDaKarl ist ein wunderbarer Anblick

Standard AW: Verständnisfrage bzgl. Compiler und Konverter

Wenn man den begriff "Übersetzen" mal sehr weit fasst, dann kommst das vielleicht hin, ja =)
Das Problem ist ja, ein Prozessor "versteht" nur einige wenige Anweisungen. Er kann Daten irgendwoher laden, er kann sie speichern, er kann 2 Werte miteinander addieren, multiplizieren usw. Der Compiler muss das, was der Programmierer will, also in ganz grundlegende Rechenoperationen usw. umwandeln (man nennt das dann Maschinensprache), und zwar speziell für eine bestimmte Rechnerarchitektur. Ein x86 Programm funktioniert auf einer IA64 CPU nicht, da die x86 Maschinensprache vollkommen anders aufgebaut ist.
Raus kommt dann einfach eine Folge aus 1en und 0en.

Angenommen ich habe einen 4-bit Prozessor und will den Wert "1" und den Wert "2" addieren (mal ganz einfach). Dann wäre das in Maschinensprache erstmal ein Bestimmter Code (sagen wir hier mal "0110") der dem Prozessor sagt, er soll jetzt irgendwas addieren, gefolgt von den beiden binären Werten 1 (wäre dann binär 0001) und 2 (0010).
Dann wäre der Befehl "011000010010"
Das läuft durch die CPU durch und hinten würde dann 0011 raus kommen, also 3.

So stelle ich mir das zumindest vor bzw. so wurde mir das mal in etwa erklärt, bin auch nicht unbedingt Profi auf dem Gebiet^^

Geändert von DaKarl (02.04.2009 um 09:42 Uhr)
DaKarl ist offline   Mit Zitat antworten
2 Benutzer bedanken sich für den Beitrag:
Greeven (01.04.2009), Killerpixel (01.04.2009)