Erstes Programm (Maschinencode)?

...komplette Frage anzeigen

3 Antworten

Die allerersten Computer haben mit Relais und Schaltern funktioniert.  

Es wurde also von Hand 011110010101... eingegeben und etwas ähnliches kam wieder heraus. Das Programm war durch die Verschaltung der Relais "fest" vorgegeben.

Etwas später hat man die Programme auf Lochkarten gestanzt, die mechanisch ausgelesen wurden. Das entspricht eher dem, was man heute Assembler (oder besser "Maschinencode", Assembler ist eher die menschenlesbare Ausschreibung dieser Befehle) nennt.

Ok, danke und wie würden dann aus 0 und 1 sein ein funktionierendes programm? Ich kan mir nur vorstellen dass da so einfache Sachen, wie buchstaben ausgeben und so gehen aber wie soll mehr funktionieren

1
@stefhlo

Wie heute auch.

Der PC kann nur 1 und 0.

8 Bit sind ein Byte.

Ein Byte hat 256 Kombinationen aus 0 und 1

Jede davon stellt einen Befehl dar (1 = Addieren, 2 = Subtrahieren, 3 = Lese vom Speicher, 4 = Schreibe in den Speicher...)

Einer davon ist der "Interrupt". Dies sind kleine Programmbausteine, ähnlich einem Include. Diese können schon ein wenig mehr (u.A. Buchstaben auf dem Monitor ausgeben).

Damit kann man sich wieder größere Programmbausteine bauen, mit denen man dann ganze Programme bauen kann.

War nur ein Beispiel. Es ist noch ein wenig komplexer und man hat nicht nur 8 Bit, sondern meistens 32 oder 64 Bit.

Lies dich ein, wie Assembler funktioniert. 

1
@Franky12345678

Ah ok, verstehe, danke für die Antwort war wirklich sehr hilfreich!

Habe allerdings dann noch eine Frage (dann weiß ich alles xD):

Wer hat einprogrammiert, dass 2= subtrahieren,... Ist?

1
@stefhlo

Das war ein Beispiel.

Das hat man für jede Prozessorfamilie einfach festgelegt (Wenn es sein muss, indem man mit einer Schrotflinte auf eine Zahlentabelle schießt und schaut, wo der Schuss gelandet ist :-D ).

1
@Franky12345678

Ok, ich habe meine Frage schlecht gestellt :-)

Ich habe gemeint wie wurde einprogrammiert wie eine Subtraktionen funktioniert, wenn es noch nichts gab.

1
@stefhlo

Das erledigen einige der mechanisch vorhandenen Transistoren in der CPU.

Jeder dieser Befehle ist dort als Transistorschaltung vorhanden.

Die wurde bei den ersten Computern von Hand zusammengelötet.

Teilweise noch mit Relais und Röhren, weil es damals noch keine Transistoren gab.

0

Vergleiche https://www.gutefrage.net/frage/programmierierung-vor-dos

Die ersten Grafiken hat man in Einzelanweisungen zerlegt, die die Grafik aufgebaut haben.

Und seit es Mäuse gibt, kann man auch feststellen, wo die Maus geklickt worden ist. Da kann man überprüften, ob der Klickpunkt innerhalb einer bestimmten Grafik liegt.

Irgendwann hat jemand einen Button-Baustein entwickelt, der das Zeichnen und das Behandeln des Klick-Ereignisses übernommen hat. Seitdem kann man Buttons auf ein Form-Steuerelement (VB,NET) zeichnen usw

Früher konnte man nur eine Eingabe betätigen, und dann kam die nächste. Z. B. "Name:", du gibst deinen Namen ein, drückst enter und dann steht da "Adresse:" usw... Nannte dan übrigens Spagettiprogramm.

Heute kannst du selber entscheiden was du zuerst eingibst. Die Programme sahem früher aus wie sie CMD. Nur Text. Nix mit Button und Grafik. Und bei einer betätigten Eingabe konnte man erst die nächste vornehmen.

Und zur ersten Frage, von nicht sicher was du meinst aber vllt hilft das: der Programmiercode wird von einem sog. Compiler zu 0en und 1en "übersetzt"

Das kam erst viel später ;-)

0

Mit der ersten Frage habe ich gemeint woher der Computer aus 0 und 1 die ganzen Befehle erkennt. Schließlich kann der ja nicht wissen, dass wenn z.b. 00011101011 eingegeben wird, dass er dann addieren oder sonst was machen soll, das finde ich irgendwie ein wenig verwirrend, aber danke für deine Antwort!

1
@stefhlo

Doch, das weiß der. Der Prozessor ist immerhin noch Hardware. Darin sind Schaltkreise verlötet. In diesen Schaltkreisen ist z.B. eingedampft worden, dass 01011101000 fürs Addieren ist.

0

Was möchtest Du wissen?