C64-Wiki:Ablage/Programmiersprachen

Aus C64-Wiki
< C64-Wiki:Ablage(Weitergeleitet von Programmiersprachen)
Zur Navigation springenZur Suche springen
Baustelle Dieser Artikel befindet sich im Aufbau und ist vorläufig als Entwurf einzustufen.


Einführung[Quelltext bearbeiten]

Computer sind doof. Sie sind die dümmsten Wesen die wir kennen. Sie können nur das tun, was wir ihnen sagen, dass sie tun sollen. Und zwar haarklein und ganz genau. Das können sie dann allerdings in einer atemberaubenden Geschwindigkeit. Und sie werden auch nicht müde, auch die langweiligsten Operationen immer und immer wieder durchzuführen, solange, bis man ihnen was anderes sagt.

Weil aber Computer eben so dumm sind, kann man ihnen auch nicht einfach sagen, was sie tun sollen, sondern man muss es in eine Sprache übersetzen, die sie verstehen. Die Computer, mit denen wir meist zu tun haben (und einer davon ist der C=64) können nur zwei Dinge unterscheiden: Strom an und Strom aus, oder 1 und 0.

Deshalb wurden auch die ersten digitalen Computer von Spezialisten bedient, die eine Reihe von Schaltern entweder ein- oder ausgeschaltet und damit dem Computer gesagt haben, was er machen soll. Dies ist für uns Menschen sehr kompliziert. Deshalb wurden sehr bald Konzepte entwickelt, wie man dem Computer mitteilen kann, was er tun soll, ohne dies dann erst in Form von endlosen Reihen von Einsen und Nullen aufschreiben zu müssen.


Maschinensprache

Der C=64 ist ein 8 Bit Computer. Das bedeutet, dass der Prozessor des C=64 jeweils 8 Nullen und Einsen als Einheit auffasst und gemeinsam verarbeitet. Diese Einheit wird auch als Byte bezeichnet. Die gesamte Hardware des C=64 ist auf diese 8 Bit ausgelegt. Der Speicher wird byteweise gelesen oder beschrieben, die Ein- und Ausgabe an den Ports erfolgt byteweise, und die Befehle für den Prozessor sind ebenfalls 8 Bit lang (Ein solcher Befehl kann allerdings einen Hinweis enthalten, dass ein oder mehrere nachfolgende Bytes ebenfalls zu diesem Befehl gehören und zusammen mit ihm verarbeitet werden müssen).

Wenn man nun mehrere achterfolgen von einzelnen Nullen oder einsen notiert, wird dies für Menschen leicht unübersichtlich, selbst wenn man nach jeweils 8 bits einen Zwischenraum lässt:

01010001 10100101 01010001 10111011

Aus diesem Grund stellt man diese Zahlen nicht im Binärsystem dar, sonder benutzt stattdessen das Hexadezimalsystem.

Im Hexadezimalsystem werden jeweils 4 Bit durch eine Ziffer des Hexadezimalsystems dargestellt. Mit 4 Bit kann man aber nicht nur 10 sondern 16 Werte darstellen, so dass die Ziffern 0-9 für die Darstellung nicht ausreichen. Daher werden zusätzlich die Buchstaben A bis F benutzt.

4 Bit-Gruppe 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Dezimalwert 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Hexadezimalwert 0 1 2 3 4 5 6 7 8 9 A B C D E F

Da man die Zahlen in den verschiedenen Zahlensystemen eine ganz andere Bedeutung haben:

Die Ziffernfolge 10 entspricht dem Dezimalwert
im Binärsystem 2
im Dezimalsystem 10
im Hexadezimalsystem A

Wenn man nun einen Computer einschaltet, dann liest der Prozessor eine zuvor festgelegte Speicherstelle aus und interpretiert den dort gelesenen Wert. Beim c=64 werden 2 Bytes aus den Adressen 65.532 und 65.533 ausgelesen, in den Befehlszähler geschrieben und dann die dort beginnende Befehlssequenz ausgeführt.

Die Befehlssequenz dort sieht folgendermaßen aus:

  1. BASIC
  2. Assembler
  3. Simons Basic
  4. TSB

Programmierkurse[Quelltext bearbeiten]


Grundlagen