Freier Speicher

Es gibt 38 Antworten in diesem Thema, welches 5.418 mal aufgerufen wurde. Der letzte Beitrag (30. März 2015 um 23:59) ist von Hexworx.

  • Bitte melde dich an, um diesen Anhang zu sehen.
    :schreck!:

    Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen.

    Ex-TLI (The Level 99 Industries) & Ex-TNP (The New Patriots) & Ex-TEA (The East Agents) & ?

  • Es geht hier wohl nicht um die zweigeteilte Speicherzelle, sondern um den zweigeteilten Basic-Bereich.

    a) Programmcode mit Ende zwei Nullbytes
    b) Variablenbereich
    c) freier Variablenbereich fre(0)

    Im Falle das keine Variablen angelegt wurden oder ein clr ausgefürht wurde, ist der Variablenbereich mit dem freien Variablenbereich identisch.

    Schönen Gruß.

  • Oh je, zunächst einmal 2, es sind 2 (in Worten: "zwei") Nullbytes. Da die Speicheraufteilung offenbar ob ihrer Komplexität in Worten nicht zu erklären ist, hab ich mal einen Lehrfilm erstellt:

    Bitte melde dich an, um diesen Anhang zu sehen.

    Anklicken, staunen und verstehen :thumbsup:

  • @Colt:
    Sehr schöner Film.
    Nur der Variablenbereich mit Variablen, Strings und fre(0)+Garbage Collection fehlt noch.

    Schönen Gruß.

  • Äh, der Variablenbereich ist Grüne, steht doch oben drüber. Warum jetzt auf einmal Strings und Garbage Collection bzgl. deiner imaginären, festgelegten Speicheraufteilung wichtig sein sollen frag ich dann lieber erst gar nicht. :)

  • Das wäre dann die Erweiterung.
    Die Anfangsfrage war meiner Meinung nach warum fre(.) und die Einschaltmeldung zu verschiedenen Ergebnissen kommnen.
    Bei fre(0) gibt es ja dann wieder zwei Fälle: Entweder, es sind Variablen angelegt oder nicht.

    Schönen Gruß.

  • Anklicken, staunen und verstehen


    "Das wandernde Doppel-Nullbyte" :zustimm:

    Nur der Variablenbereich mit Variablen, Strings und fre(0)+Garbage Collection fehlt noch.


    Alles da :prof:

    Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen.

    Ex-TLI (The Level 99 Industries) & Ex-TNP (The New Patriots) & Ex-TEA (The East Agents) & ?

  • Also, ich meinte animierte Variablen, die sich im Variablenbereich von vorn und hinten aufbauen.
    Dann die Garbage-Collection, die den oberen Stringbereich wieder schrumpfen läßt.

    Das wäre dann ein Drei- oder Vierfarbbalken.

    So was müßte man eigentlich auch als Basic-Demo programmieren können.

    SchönenGruß.

  • Die Anfangsfrage war meiner Meinung nach warum fre(.) und die Einschaltmeldung zu verschiedenen Ergebnissen kommnen.


    Bei der Einschaltmeldung rechnet er $37/38 minus $2B/2C; bei FRE $33/34 minus $31/32. Das ist schon alles. Zack - zwei Bytes verschwunden ;( .

    Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen.

    Ex-TLI (The Level 99 Industries) & Ex-TNP (The New Patriots) & Ex-TEA (The East Agents) & ?

  • Das wäre dann ein Drei- oder Vierfarbbalken.
    So was müßte man eigentlich auch als Basic-Demo programmieren können.


    Witzige Idee an sich. Dann aber bitte in Assembler als Screen-Code @$0400 :bgdev .

    Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen.

    Ex-TLI (The Level 99 Industries) & Ex-TNP (The New Patriots) & Ex-TEA (The East Agents) & ?

  • Hexworx:
    Eben, zwei verschiedene Rechnungen führen auch zu zwei unterschiedlichen Ergebnissen.
    Bei der Einschaltmeldung wird eben der gesamte Basic-RAM-Speicher berechnet.
    Während bei fre(0) der freie Variablenspeicher angegeben wird.

    Schönen Gruß.

  • Der Lehrfilm ist Klasse :thumbsup:

    Für Fortgeschrittene, die nach dem Lehrfilm die Klausur bei Prof. Cold bestanden haben, gibt es hier dann das Skript zur nächsten Vorlesung
    Bitte melde dich an, um diesen Link zu sehen.

    Alle anderen müssen nachsitzen und diesen und den anderen Fred zum Thema noch wochenlang lesen und befüllen :anonym

  • Während bei fre(0) der freie Variablenspeicher angegeben wird


    Dann erklär' mal bitte, warum dein sog. "Variablenspeicher" kleiner wird, wenn ich den BASIC-Code verlängere, aber die Variablen gar nicht anfasse?

    Wie jetzt schon mehr geschrieben und ja auch visuell dargestellt, ist es einfach nur SPEICHER, der für was auch immer verbraten werden kann. Deswegen ist es immer noch KEIN Variablenspeicher!

    Der FRE(IE) Speicher liegt nun mal zwischen den Arrays und den Strings (er könnte auch woanders liegen). Wohlbedacht ist das aber eben nicht gemacht worden. Stichwort GBC.

    Mehr werde ich meine Tastatur zu dem Thema jetzt auch nicht mehr abnutzen.

    Die Idee mit der Speicheranzeige reizte mich aber. Bin dabei. Müsste auch in den Kassettenpuffer passen. Bis später, ähm... Schönen Gruß.

    Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen.

    Ex-TLI (The Level 99 Industries) & Ex-TNP (The New Patriots) & Ex-TEA (The East Agents) & ?

  • Hexworx:

    Wäre vielleicht einfacher mit peek.
    Hinter fre(0) steckt ja nicht nur das Auslesen der Speicherstellen, sondern auch noch der Aufruf der Stringaufräumung, um den freien Variablenspeicher zu ermitteln.

    Schönen Gruß.

  • Glückwunsch zum 1000. Beitrag.

    Schönen Gruß.

    um den freien Variablenspeicher zu ermitteln

    Wäre vielleicht einfacher mit peek.


    was wäre mit peek einfacher?

    Hinter fre(0) steckt ja nicht nur das Auslesen der Speicherstellen, sondern auch noch der Aufruf der Stringaufräumung


    ...und das ist auch gut so. Ändert aber nix.

    Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen.

    Ex-TLI (The Level 99 Industries) & Ex-TNP (The New Patriots) & Ex-TEA (The East Agents) & ?

  • Das Strings aufgeräumt werden dient der Maximierung des gesamten Speichers, nicht nur der Optimierung des Variablenspeichers.

    GREETINGS PROFESSOR FALKEN
    A STRANGE GAME.
    THE ONLY WINNING MOVE IS NOT TO PLAY.
    HOW ABOUT A NICE GAME OF CHESS?

  • Was mir noch zu dem Thema einfiel (C64 mit Final Cartridge III):

    :)

  • :)

    Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen.

    Ex-TLI (The Level 99 Industries) & Ex-TNP (The New Patriots) & Ex-TEA (The East Agents) & ?