15. GEHEUGEN INDELING EN OPSLAG VAN PRO-
GRAMMA EN VARIABELEN
Het geheugen van de P2000T is als volgt ingedeeld
&HOOOO-&HOFFF
Monitor
in ROM
&H1000-&H4FFF
Plug-in
ROM module
in sleuf 1
&H5000-&H57FF
Video
geheugen
&H5800-&H5FFF
Gereserveerd
voor Videoschakel
bits
(niet aanwezig
op T model)
&H6000-&H9FFF
16 K RAM standaard
&HAOOO-&I-/'D=FF
Geheugen
uitbreiding
tot 32 K
&HEOOO-&HFFFF
Geheugen
uitbreiding
tot 48 K
Gebruik van het RAM-geheugen
Het gedeelte van &H6000 tot &H61 FF wordt door de monitor
gebruikt als registerruimte
en voor buffer blokken. Vanaf &H6200
gebruikt de Philips Cassette BASIC een gedeelte voor zijn eigen
administratie en als input buffer.
Het BASIC programma
begint normaal op &H6547. Vanaf dit adres
staat een ketting van programma regels in het geheugen.
Elke regeli is als volgt opgebouwd:
2 bytes -RAM adres van het begin van de volgende regel
(de waarde hiervan is 1e byte + 256*2e byte)
2 bytes -regelnummer
(1e byte + 256*2e byte)
Hierna volgt de BASIC-programmaregel.
Alle BASIC-instructies
zijn
gecodeerd
in een enkele byte (zie hiervoor tabel 6 -BASIC
tokens). De rest (getallen, teksten) is in ASCII-waarden
opgeslagen.
Het einde van de programmaregel
wordt aangegeven
door een byte met waarde O. Daarna komt de volgende regel.
Na de laatste programmaregel
komen nog 2 bytes ter waarde O.
Het programma eindigt dus met 3 bytes gelijk aan O. Alle BASIC
acties zoals LIST en RUN eindigen als dit vervolgadres
0 wordt
bereikt.
Onmiddellijk na het BASIC programma
begint de variabelen-ruimte.
Alle variabelen die bij het RUN-nen van het programma nodig zijn,
worden in volgorde van opkomst achter het BASIC-programma
geplaatst. Na de laatste gewone variabele volgt de array-ruimte.
Op
het moment dat een array wordt ge-DIM-d wordt in de array-ruimte,
een stuk geheugen gereserveerd
voor de elementen van dit array.
Dit heeft tot gevolg dat een ge-DIM-d array een stukje moet
opschuiven als er na de DIM-instructie
nog een nieuwe variabele
moet worden aangemaakt (zie ook hoofdstuk
16). Na de array-
ruimte volgt een leeg stuk geheugen.
52