2.2.1 Vom Quellcode zum Prozessor

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
Du kennst doch Quellcode, oder?
Du kennst doch Quellcode, oder?<br />
Quellcode in einer Hochsprache wie Java, C oder Pascal. Hier ist in diesen drei Sprachen mal ein ganz einfaches Programm codiert:
Quellcode in einer Hochsprache wie Java, C oder Pascal. Hier ist in diesen drei Sprachen mal ein ganz einfaches Programm codiert:
<loop_area type="sourcecode">'''Quellcode in Java:'''<br />
<loop_area type="sourcecode">'''Quellcode in Java:'''<br />
Zeile 15: Zeile 15:
* Der zweiten Variablen b wird der Wert 5 zugewiesen.
* Der zweiten Variablen b wird der Wert 5 zugewiesen.
* Die dritte Variable bekommt ihren Wert zugewiesen als Ergebnis der Addition der Varaiablen a und b.
* Die dritte Variable bekommt ihren Wert zugewiesen als Ergebnis der Addition der Varaiablen a und b.
In C oder Pascal wird nun der Compiler auf den Quellcode angesetzt und heraus kommt eine ausführbare Datei. Nach dem Start der Datei wird das von der CPU ausführbare Programm in den Hauptspeicher ([[Speicherwerk]]) geladen. Diese ausführbare Programm sieht zum Beispiel so aus:
In C oder Pascal wird nun der Compiler auf den Quellcode angesetzt und heraus kommt eine ausführbare Datei. Bei dem Java-Quelltext sieht es etwas anders aus, da hier der Compiler nicht direkt eine ausführbare Datei erzeugt, sondern zunächst nur eine Datei mit sogenannten Bytecode, der später interpretiert wird. Wir beschränken uns in der weiteren Betrachtung deshalb auf C und Pascal.
<loop_area type="sourcecode">'''Übersetzt in Maschinensprache:'''<br />
 
Nach dem Start der vom Compiler erzeugten ausführbaren Datei wird der sogenannte Programmtext in den Hauptspeicher ([[Speicherwerk]]) geladen. Der Programmtext enthält die tatsächlich von der CPU ausführbaren Befehle, es handelt sich um die sogenannte Maschinensprache.
<loop_area type="sourcecode">'''C- oder Pascal-Quelltext übersetzt in Maschinensprache (Programmtext):'''<br />
<br />0011000010<br />0100001101<br />0011000101<br />0100001110<br />0010001101<br />0110001110<br />0100001111<br />1110000000
<br />0011000010<br />0100001101<br />0011000101<br />0100001110<br />0010001101<br />0110001110<br />0100001111<br />1110000000
</loop_area>
</loop_area>

Version vom 21. August 2013, 17:03 Uhr

Du kennst doch Quellcode, oder?
Quellcode in einer Hochsprache wie Java, C oder Pascal. Hier ist in diesen drei Sprachen mal ein ganz einfaches Programm codiert:

Code

Quellcode in Java:


public class Addierer {
    public static void main(String[] args) {
        int a = 2;
        int b = 5;
        int c = a + b;
    }
}

Code

Quellcode in C:


void main(void) {
    int a = 2;
    int b = 5;
    int c = a + b;
}

Code

Quellcode in Pascal:


PROGRAM Addierer;
VAR
    a, b, c: Integer
BEGIN
    a := 2;
    b := 5;
    c := a + b;
END.

Dieses Programm ist sehr einfach zu verstehen:

  • Es werden drei Variablen deklariert.
  • Der ersten Variablen a wird der Wert 2 zugewiesen.
  • Der zweiten Variablen b wird der Wert 5 zugewiesen.
  • Die dritte Variable bekommt ihren Wert zugewiesen als Ergebnis der Addition der Varaiablen a und b.

In C oder Pascal wird nun der Compiler auf den Quellcode angesetzt und heraus kommt eine ausführbare Datei. Bei dem Java-Quelltext sieht es etwas anders aus, da hier der Compiler nicht direkt eine ausführbare Datei erzeugt, sondern zunächst nur eine Datei mit sogenannten Bytecode, der später interpretiert wird. Wir beschränken uns in der weiteren Betrachtung deshalb auf C und Pascal.

Nach dem Start der vom Compiler erzeugten ausführbaren Datei wird der sogenannte Programmtext in den Hauptspeicher (Speicherwerk) geladen. Der Programmtext enthält die tatsächlich von der CPU ausführbaren Befehle, es handelt sich um die sogenannte Maschinensprache.

Code

C- oder Pascal-Quelltext übersetzt in Maschinensprache (Programmtext):


0011000010
0100001101
0011000101
0100001110
0010001101
0110001110
0100001111
1110000000

Code

Übersetzt in Assembler:


LOAD #2
STORE 13
LOAD #5
STORE 14
LOAD 13
ADD 14
STORE 15
HALT




Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png