Kijken we vanaf de bovenkant van het geheugen, dus vanaf het
hoogste geheugen-adres,
dan vinden we eerst een gereserveerd
stuk dat niet door BASIC kan worden gebruikt. De grootte van dit
stuk kan door de programmeur
worden gekozen m.b.v. een
CLEAR-opdracht.
Daaronder bevindt zich de string-ruimte.
Hier worden alle nieuwe
strings geplaatst, zoals strings, die met INPUT of LlNEINPUT zijn
verkregen en strings die door string operaties zijn ontstaan. Ook de
grootte van de string-ruimte
kan met CLEAR worden ingesteld.
Onder de string-ruimte
wordt een stukje geheugen gebruikt voor
de zgn. stapel (stack). Hier bewaart de BASIC interpreter
een
aantal gegevens die tijdens de uitvoering van het programma
belangrjk zijn, zoals terug-spring
adressen van GOSUB en
FOR...NEXT routines.
Variabelen
Variabelen worden in de variabelen-ruimte
in bijna leesbare vorm
bewaard. De algemene opmaak is:
1 byte
type variabele, hier vindt men voor een
integer variabele = 2
string variabele = 3
enkele-precisie
= 4
dubbele-precisie
= 8
2 bytes
naam van de variabele in ASCII
2-8 bytes
de waarde
Integer variabelen
De waarde van integer variabelen wordt opgeslagen in 2 bytes te
beginnen met het laagste byte. Als voorbeeld,
de variabele AZ%,
die de waarde 721 heeft, staat in het geheugen als:
type
naam
waarde
2
65
90
209
2
Voor negatieve getallen geldt dat het hoogste byte minstens 128 is
Dit betekent dat -3000 in feite geschreven
wordt als 62536.
Enkele en dubbele-precisie
variabelen
De waarde van de variabele AZ worden als volgt opgeslagen
type
naam
waarde
4
65
90
m3
m2
m1
ex
drie bytes
1 byte
54
mantissa
exponent