Hallo!

Zu Frage 1.)

> Müssen die Einstellungen in Bascom unter Options/Compiler/Chip die gleichen sein >wie die, die man am Anfang des Programms angibt?

NEIN!

$regfile - Weist den Compiler an, eine bestimmte Registerdatei anstatt der eventuell vorher ausgewählten zu benutzen! (Überschreibt die Compiler Einstellungen).

oder

CONFIG 1 WIRE – Konfiguriert den Pin zur Nutzung für 1WIRE Anweisungen und überschreibt die Compiler Einstellungen

oder

CONFIG LCD – Konfiguriert das LCD Display und überschreibt die Compiler Einstellungen.

Zu Frage 2.)

>Am Anfang waren folgende eingestellt:
>HW Stack 32
>Soft Stack 8
>Framesize 24

>Und wie kann man alle Einstellungen zurücksetzen?

Die Parameter Hardware und Software-Stack sowie Framsize belässt man vorerst auf ihren Defaultwerten. Daher auch > Einstellungen zurücksetzen mit „Button“ Default!

CALL und GOSUB benötigen je zwei Bytes im Hardwarestack. Außerdem steigt der Bedarf an Hardwarestack bei geschachtelten GOSUBs schnell an. Weiters benötigt ein Interrupt 32 Byte, und viele Instruktionen nutzen den Hardwarestack als Zwischenspeicher.

Variable und Lokale Variable die man ein Unterprogramm übergibt, benötigen je 2 Byte im Softwarestack.

In sogenannten Frames, werden lokale Variable abgespeichert:

Eine Integervariable benötigt 2 Byte.
Ein String (seiner Zeichenzahl nach) plus 1 Byte.
Auch interne Konvertierungsroutinen (STR(), VAL(), INPUT num, usw.) verwenden Frames als Zwischenspeicher und belegen dabei maximal 16 Bytes.

Das bedeutet nun auf die letzte Frage bezogen:

Diese Einstellungen erst setzen (oder verändern) wenn man sein Programm kennt.

mfg

albert