Was mir durch flüchtige Blicke auf VMs usw., auch durch den anderen Basic-Thread, aufgefallen ist: Stack-Maschinen sind da unheimlich beliebt. Paar Kommandos, um Werte auf "einen" Stack zu legen oder runter zu holen, aber die Hauptarbeit wird von Kommandos mit Bezug auf die letzten Stackeinträge erledigt.
Aber warum? Sind es nur die Einfachheit der Befehle und die einfache Übergabe von Parametern? Eventuelle Vorteile beim echten Compilieren werden vermutlich kein Grund sein, all die VMs sind ja quasi als Interpreter losgelaufen.
Sind Stackmaschinen auch in Hardware verbreitet? Ich kenne jetzt nur die alten Prozessoren, die alles im Speicher gemacht haben, und die Microprozessoren, die Register mögen.
Was den Stack anbelangt, so gibt es drei Möglichkeiten, diesen auf dem C64 zu gestalten:
1.) Du definierst eine maximale Tiefe von 8-12, was meiner Erfahrung nach für die meisten Berechnungen ausreicht. Dafür legst Du im Speicher 6 kleine Tabellen an,
Den Teil hab ich jetzt nicht verstanden. Woher die 6? 6 Stacks für verschiedene Zwecke wie Gosub/Return, For/Next, Formeln berechnen u.Ä.? Oder weil der komplizierteste Datentyp auf dem Stack 6 Bytes belegen kann?