Vom Quellcode zum Prozessor Compiler übersetzt Quellcode in Maschinensprache-> Compiler muss wissen welche CPU weil unterschiedlich Sprache-> z.B: 16 Bit CPU = Befehle von 16 Bit können überführt werden void main (void){   int x = 2;   int y = 5;   int z = x + y;} zu 00000000110000100000000100001101000000001100010100000001000011100000000010001101000000011000111000000001000011110000001110000000 Maschinensprache in Einzelteile zerlegen -> Wenn Nummer = 1, dann geht es um die Zahl, sonst um die Speicherzelle-> die Befehle werden auf dem ACC durchgeführt Reserve Befehl Nr. Operant Bedeutung Nr. Befehl Bedeutung 000000 000000 000000 000000 000000 000000 000000 000000 001 010 001 010 001 011 010 111 1 0 1 0 0 0 0 0 000010 001101 000101 001110 001101 001110 001111 000000 Lade den Wert 2 in ACC Speichere ACC in Speicherzelle 13 Lade den Wert 5 in ACC Speichere ACC in Speicherzelle 14 Lade Speicherzelle 13 in ACC Addiere Speicherzelle in 14 zu ACC Speichere ACC in Speicherzelle 15 Programm beenden 000 001 010 011 100 101 110 111 NOOP LOAD STOREADD SUB EQUAL JUMPHALT No Operation Was laden Speicher Addieren Minimieren Vergleichen Überspringe Beenden Befehlsformat Das Befehlsformat definiert für jeden einzelnen Befehl, wie dieser codiert ist: Opcode - Binäre Codierung, aus der sowohl der Befehl, als auch zusätzlich benötigte Steuerinformationen hervorgehen. Klassifizierungen - Bei den Befehlsformaten werden verschiedene Klassifizierungen unterschieden: Einadressformat | Zweiadressformat | Dreiadressformat Das Einadressformat entspricht dem Format Vom Quellcode zum Prozessor. Hier wird für die einzelnen Befehle nur der Opcode und die Adresse eines Operanden (deshalb Einadressformat) angegeben. Bedeutung des Akkumulators Wird ein zweiter Operand benötigt, so wird vorausgesetzt, dass dieser sich im Register Akkumulator befindet. Das bei der Abarbeitung des Befehls berechnete Ergebnis wird per Definition wieder im Akkumulator gespeichert.