Hello, Guest the thread was called446 times and contains 28 replays

last post from Claus at the

Wie funktioniert KickAss mit dem Compilieren? Die PRG ist ca 196000 Byte gr0ß.

  • Also ich habe gerade selbst in die Doku geschaut und das liest sich dort nicht so, als wuerden die Schleifen immer ausgerollt. Von daher verstehe ich es entweder auch nicht, oder die Doku ist irrefuehrend. Es gibt sogar eine while-Schleife, die kann ja gar nicht ausgerollt werden. Und diese ist laut Doku "wie eine for-Schleife, nur ohne Start- und Iterations-Wert"


    Doku For-Schleife: http://theweb.dk/KickAssembler/webhelp/content/ch05s04.html

    Doku While-Schleife: http://theweb.dk/KickAssembler/webhelp/content/ch05s05.html

  • Ne, das sind alles Bedingungen die zur Compile-Zeit ausgewertet werden.

    ────────────────────────────────────────────────────────────
    Time of Silence - Time of Silence 2 Development Blog
    ────────────────────────────────────────────────────────────

  • Okay, d.h. wenn ich eine "while true"-Schleife produziere, dann kompiliert er endlos?


    Naja dann ist das in der Doku aber etwas unschoen beschrieben. Ich ging bislang naemlich ebenfalls davon aus, dass der KickAssembler genau fuer solche Dinge gedacht ist (also ein Assembler, bei dem man aber auch IFs und Schleifen usw wie in einer Hochsprache schreiben kann). Aber da habe ich mich wohl ebenfalls getaeuscht, genau wie spacer .

  • Okay, d.h. wenn ich eine "while true"-Schleife produziere, dann kompiliert er endlos?

    Korrekt. Ja, das Konzept ist am Anfang gewöhnungsbedürftig. Dann ist es eigentlich supercool und man will es überall verwenden. Und dann merkt man, dass das Schreiben und Verwenden dieser tollen komplizierten Makros meist mehr Arbeit ist, als den Code gleich von Hand zu schreiben. So war es zumindest bei mir :D

    ────────────────────────────────────────────────────────────
    Time of Silence - Time of Silence 2 Development Blog
    ────────────────────────────────────────────────────────────

  • Danke das hatte ich schon mal gemacht:


    Aber ich wollte einmal While und For nutzen.


    Danke.

    Gruss

  • Okay, d.h. wenn ich eine "while true"-Schleife produziere, dann kompiliert er endlos?

    Korrekt. Ja, das Konzept ist am Anfang gewöhnungsbedürftig. Dann ist es eigentlich supercool und man will es überall verwenden. Und dann merkt man, dass das Schreiben und Verwenden dieser tollen komplizierten Makros meist mehr Arbeit ist, als den Code gleich von Hand zu schreiben. So war es zumindest bei mir :D


    Naja ich finde das Feature nicht per se gewoehnungsbeduerftig, es lag nur ein Missverstaendnis vor. Bei ACME (den ich verwende) gibt es ja auch !for-Schleifen, mit denen ich z.B. Tabellen oder ausgerollte Schleifen erstellen kann, und das Feature nutze ich auch. Da habe ich aber von Anfang an verstanden, dass es sich hierbei um Makros zur Code-Generierung handelt. Bei KickAssembler habe ich, weil da was von "moderne Skriptsprache" steht, bislang immer geglaubt, dass das eine Art Assembler mit Hochsprachen-Features ist, also dass ein IF oder eine FOR-Schleife in eine handvoll Assembler-Kommandos umgesetzt wird, um dann eben wirklich solche typischen Dinge ein wenig bequemer umsetzen zu koennen und nicht immer selbst von Hand mit Zaehlern herumzuhantieren. Aber in dem Fall war das wie gesagt ein Missverstaendnis und das sind auch einfach nur gewoehnliche Makros, wenn auch vielleicht etwas maechtiger als bei anderen Assemblern.


    Und ich glaube, dass spacer da eben aehnlich gedacht hat wie ich.

  • Aber ich wollte einmal While und For nutzen.

    While und For sind Konstrukte aus höheren Programmiersprachen, die gibt es nicht auf Assembler-Ebene. Daher solltest Du Dich von der Idee verabschieden. Genau solche Konstrukte sind neben einer komfortablen Variablenverwaltung wohl der Hauptgrund, warum es überhaupt höhere Programmiersprachen gibt. Aber Du willst ja wahrscheinlich aus gutem Grund Assembler lernen, denn die höheren Sprachen haben ja ihren Preis (der in Speicher und Rechenzeit bezahlt wird).

    ────────────────────────────────────────────────────────────
    Time of Silence - Time of Silence 2 Development Blog
    ────────────────────────────────────────────────────────────