quote:
Originally posted by Marco Grubert:
Scherzkeks [Wink]
Natuerlich gibt es C++ Compiler fuer Windows, aber es klang in Deinem vorherigen Post so, als ob es das "C++ fuer Windows" (z.B. neben einem "C++ fuer DOS") geben wuerde. Die Sprache C++ hat aber wie schon erwaehnt nix mit dem Betriebssystem zu tun.

Das ist schon klar das selbst C++ (von der IDE abgesehen) (eigentlich) auf DOS basiert. Denn C++ (zumindest der Compiler) wurde ja selbst mit ASM geschrieben.

quote:
Originally posted by Marco Grubert:
Jein. Es basiert nicht auf C++ fuer DOS, sondern auf dem ANSI C++ Standard; so wie z.B. Turbo C++ auf dem C++ Standardentwurf basierte aber DOS Initialisierungscode erzeugte (und z.B. anders auf Speicheradressen zugreift).

Ja. Da hast du recht. Aber im Prinzip machen
alle C++ Compiler das gleiche. Und was das
auf den Speicheradressen zugreifen an geht:
Es hängt mehr von dem Programmierten Programm ab.

quote:
Originally posted by Marco Grubert:
Das waer schlimm, wenn Anwendungsprogramme den Kernel initialisieren wuerden [Wink]

Da hab ich wohl den Satz falsch Formuliert.
Aber ich hoffe mal das du trotzdem verstanden hast, was ich meine.

quote:
Originally posted by Marco Grubert:
Na klar muss eine Ausgaberoutine in Assembler immer von Hand geschrieben werden. Aber Assemblerprogramme versuchen moeglichst nahe an der Hardware zu bleiben und der 8086 Prozessor hatte die genannten 100 Befehle, so dass alle x86 Compiler ebenfalls ca. 100 Befehle hatten. Das Du davon nur 6-8 verwendet hast ist natuerlich was anderes.

Naja.., bei ASM kann man nie sagen ob es einen unterschied macht ob man die befehle direkt von Prozessor ausführt. Dazu ist ASM zu schnell.
(So Lahhhm wie Windows ist, will ich mir lieber net vorstellen wieviel Zeilen ASM Code es benutzt)
Ich glaube kaum, das Windows (das Betriebssystem Intern) mehr C++ Code benutzt.

quote:
Originally posted by Marco Grubert:
Dass in Assembler nur 6-8 Befehle unterstuetzt wurden liegt ueber 30 Jahre zurueck.

Dann muss ich eine der ganz Alten Version für MS-DOS 1.0 haben.
Ich hab mich schon gewundert warum (seit Intel 3) ein paar ASM Programme nicht mehr laufen.

quote:
Originally posted by Marco Grubert:
Was jetzt, die Leute haben Disassembler programmiert oder Disassembler verwendet um Programme zu optimieren ?

Beides! Die Leute haben Disassembler Programmiert um z.B. ganz alte DOS Programme zu verbessern.
Damals gab es noch kein Legal/Illegal im Computer Fachbereich. Oder es wurde weniger drauf geachtet.

quote:
Originally posted by Marco Grubert:
Das uebliche Gesetz: Besitz ist legal (sofern gekauft oder Freeware- darauf zielte meine Frage ab), Nutzung ist nur legal wenn der Entwickler des zu disassemblierenden Programms dies nicht untersagt.

Logisch!

quote:
Originally posted by Marco Grubert:
Nein. Was mike Dir zu erklaeren versuchte, ist, dass Sprachkonstrukte, wie z.B. Schleifen, Abfragen, einfache Rechenoperationen, etc. nicht als Assembler eingebunden und schon gar nicht als DLL eingelinkt werden.

Achso! (Ich Dööfele..., hät weiter Denken müssen)
Eine IF Schleife besteht ja eigentlich ja nur aus 1 und 0 also Wahr und Unwahr.

Wenn A = B, A != B ist: Dann ist es unwahr, also 0, daher wird der Code nicht weiter geführt, das in den Klammern ist.
Ist aber A = B, A = B : Dann schon, denn dann ist es wahr. Also 1

Genau so Gut könnte ich:
code:
if (1)
{
...
}

schreiben. An solche Operationen habe ich nicht mehr gedacht.

quote:
Originally posted by Marco Grubert:
Damit wir hier ueber das (un)gesunde Halbwissen hinauskommen, empfehle ich waermstens: Art Of Assembly Language Programming zu finden unter
http://webster.cs.ucr.edu/AoA.html

Wie schon gesagt: Ich Arbeite seit Zwei Jahre nicht mehr mit ASM.
Aber die Grundkenntnisse habe ich immer noch im Kopf. [Wink]
PS. Ist Trotzdem ein Guter Link. [Wink]