Programmieren - alles kontrollieren 4.939 Themen, 20.672 Beiträge

Computer - ein unbekanntes Wesen ???

Pomm / 16 Antworten / Flachansicht Nickles

Hi !!

Gibt es hier Leute, die mir sagen können, ob ich das mit dem Computer jetzt endlich richtig verstanden habe ????

Also, der CPU versteht nur Maschinensprache nach Bits und Bytes geordnet. So ungefähr

00101100 10101110 10111111 10111011
01101110 10100001 10010111 01110100

( beliebige Reihenfolge gewählt )

Acht Bit sind ein Byte, ....

Was bedeuten diese Bits und Bytes ??
Na mit 8 Bit lassen sich 256 verschiedene Zeichen darstellen.
Dabei werden die Standards ANSI und ASCII benutzt.

Wandelt man nun diese Bits in Zeichen um, so erhält man Befehle, die der jeweilige Prozessor ( MAC, Intel oder AMD ) versteht, den internen Befehlssatz. Diese Befehle stellen nun den Befehlssatz gemäß Assembler dar ( etwas komplizierte Programmiersprache ) .Um das ganze etwas verständlicher zu machen, wurden die höheren Programmiersprachen entwickelt. u.a. C/C++ und Pascal. Hat man nun ein Programm z.B. in C++ verfaßt, dann muß man es noch kompilieren ( also in o.a. Maschinencode, bestehend aus 01010101, umwandeln ).

Ein Programm, das erst zur Laufzeit kompliert wird ( z.B. Basic ) bleibt im Klartext, bzw. Quelltext stehen. Man sagt auch es wird zur Laufzeit erst interpretiert.

Meine Fragen:

Stimmt das soweit ???

Wo bekomme ich denn den internen Befehlssatz für einen Intel CPU her ???

( hab mich auch noch nícht weiter darum bemüht )

Woher bekomme ich die ANSI und ASCII Zeichensätze her ??? Gibt es da auch ne Liste, die die dazugehörigen Bytes angibt und Heyadezimal und ... ???


CU Pomm

bei Antwort benachrichtigen
Andreas42 Pomm „Uff !!! Jetzt hab ich mal was richtig verstanden, da kommt ihr gleich wieder mit...“
Optionen

Hi Pomm!

Nicht entmutigen lassen und weiter wühlen!
;-)

Die Sache mit den Pages habe ich angeschnitten um nochmal deutlich herauszustellen, dass die CPU nicht weiss, was Daten und was Programmcode ist (und sie weiss natürlich auch nicht, ob sie Daten an einer Stelle speichern darf, ohne dabei was Wichtiges zu überschreiben - z.B. Programmcode von einem anderen Program/Treiber...).

Heute kann man daher die Speicherbereiche vor solchen "CPU-Anschlägen" schützen. Wie das genau (also in der CPU und mit welchen Befehlen) gemacht wird, kann ich dir aber nicht sagen, so tief bin ich dann doch nicht drin.
Ich weiss, das diese Schutzaufgaben heute das Betriebssystem übernimmt: es weisst einem neugeladenen Programm einen Speicherbereich zu, der Rest des Speichers ist dann geschützt. Aber das ist warscheinlich nur eine seeehr einfache Vorstellung. ;-)

Aber damit versteht man, wo die Blue-Screens, Seitenfehler&Co herkommen - leider versteht man dann auch, dass einem diese Fehlermeldungen nur etwas nützen, wenn man der Programmierer ist und gerade ein neuen Programm testet...

Den P-Code kannst du ruhig gnorieren - es ist nur gut zu wissen, dass es "Etwas" zwischen Compiler und Interpreter gibt.

Also lass dich nicht aufhalten! ;-)

Bis denn
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen
asm forever (Anonym)
und JAVA2 KKND2