Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier. Jedes Computerprogramm besteht aus einzelnen Befehlsfolgen (Serie von Rechen-"Anweisungen") die meist einer Struktur entsprechen.
Konkret "sagt" der zentrale Prozessor den von ihm angesteuerten " Registern " (Speicherzellen) was mit ihrem Speicherinhalt Schritt Schritt zu geschehen hat.
Es sollen in zwei Speicherzellen (Register A und B) des Computers Variable vertauscht werden (exakter gesagt ihr Zahleninhalt). geht nicht direkt durch Übertragung von A B weil sonst der Inhalt von B wäre. Daher ist ein Zwischenspeicher C notwendig.
Der Computer braucht dafür außer den Zahlenspeichern A B und C noch zwei Rechenregister 1 und 2 die quasi seine darstellen.
Würde der PC unsere übliche Sprache verstehen müsste man ihm z.B. folgende Anweisungen " geben:
Im 6-schrittigen Beispiel sind nicht unbedingt zwei Rechenregister ("Hände") erforderlich. Außerdem lassen sich Zeilen und die Speicherzelle C einsparen - das Optimierungsbeispiel unter " Compiler ".
Die konkrete Steuerung von Befehlsfolgen erfolgt den Befehlszähler (engl. program counter oder instruction pointer ). Er ist ein spezielles Register in der CPU das die Speicheradresse des jeweils nächsten Befehls enthält. Nach Ausführung eines Befehls liest CPU von dieser Adresse den nächsten Befehl führt ihn aus erhöht den Zähler.