[gesichtete Version] | [gesichtete Version] |
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 18: | Zeile 18: | ||
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. | 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 />00110000100100001101001100010101000011100010001101011000111001000011111110000000 | |||
</loop_area> | |||
<loop_area type="sourcecode">'''C- oder Pascal-Quelltext übersetzt in Maschinensprache (Programmtext):'''<br /> | |||
<br />00110000100000000100001101000000001100010100000001000011100000000010001101000000011000111000000001000011110000001110000000000000 | |||
</loop_area> | |||
<loop_area type="sourcecode">'''C- oder Pascal-Quelltext übersetzt in Maschinensprache (Programmtext):'''<br /> | |||
<br />0011000010000000<br />0100001101000000<br />0011000101000000<br />0100001110000000<br />0010001101000000<br />0110001110000000<br />0100001111000000<br />1110000000000000 | |||
</loop_area> | |||
<loop_area type="sourcecode">'''C- oder Pascal-Quelltext übersetzt in Maschinensprache (Programmtext):'''<br /> | <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 |
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:
Quellcode in Java:
public class Addierer {
public static void main(String[] args) {
int a = 2;
int b = 5;
int c = a + b;
}
}
Quellcode in C:
void main(void) {
int a = 2;
int b = 5;
int c = a + b;
}
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:
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.
C- oder Pascal-Quelltext übersetzt in Maschinensprache (Programmtext):
00110000100100001101001100010101000011100010001101011000111001000011111110000000
C- oder Pascal-Quelltext übersetzt in Maschinensprache (Programmtext):
00110000100000000100001101000000001100010100000001000011100000000010001101000000011000111000000001000011110000001110000000000000
C- oder Pascal-Quelltext übersetzt in Maschinensprache (Programmtext):
0011000010000000
0100001101000000
0011000101000000
0100001110000000
0010001101000000
0110001110000000
0100001111000000
1110000000000000
C- oder Pascal-Quelltext übersetzt in Maschinensprache (Programmtext):
0011000010
0100001101
0011000101
0100001110
0010001101
0110001110
0100001111
1110000000
Ü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