2.3.2.6. Premenné v BASICu

 

Premenné, použité v programe, sú uložené ihneď za posledným riadkom programu. Ich začiatok je uložený v systémovej premennej VARS a koniec označený bytom s hodnotou 80h. Priestor pre premenné vyzerá takto:

 
 


  

Začiatok premenných nie je vždy na tom istom mieste. V prípade, že do programu pridáte alebo vypustíte riadok, zmení sa i dĺžka programu a začiatok premenných sa posunie.

Veľkosť tejto oblasti je tiež premenná. Po príkaze RUN sa oblasť vyčistí. Pri vykonávaní programu sa každá nová premenná zaradí do oblasti premenných. Za menom premennej je potom uložená jej aktuálna hodnota a všetky aritmetické a logické operácie sú vykonávané s touto aktuálnou hodnotou.

Pri vykonávaní programu a priradení hodnoty premennej sa postupuje nasledovne:

- v programe sa zistí meno premennej

- vezme sa zo systémovej premennej VARS začiatok oblasti

  premenných a od tejto adresy sa hľadá meno premennej

- v prípade, že sa meno v oblasti nachádza, zistí sa z programu

  hodnota, ktorá má byt v premennej uložená a uloží sa do nej

- v prípade, že sa premenná v oblasti nenachádza, tak sa pre ňu

  vyhradí miesto, zapíše sa naň meno premennej a hodnota, ktorá

  sa zistí z programu.

 

Teraz uvedieme spôsob uloženia mien a hodnôt niektorých typov premenných v oblasti premenných.

 

Číselná premenná (jednoznaková):

 

0

1

1

 

 

 

 

 

1.byte

2.byte

3.byte

4.byte

5.byte

 

 

 

kód znaku

 

 

 

 

 

 

 

 

mínus 60h

 

 

 

 

 

typ premennej

hodnota premennej

 

Na miesto označené "kód znaku minus 60h" sa uloží kód znaku (písmena), ktorým je premenná označená, od ktorého sa odčíta hodnota 60h. Napr. pre premennú, označenú písmenom "i" sa na dané miesto uloží: CODE("i") - 60h = 69h - 60h = 09h.

 

Číselná premenná (viacznaková):

 

 

Reťazec:

 

Číselné pole (n-rozmerné, kde n = 1 až 255): 

 

Znakové pole (n-rozmerné, kde n = 1 až 255):

 

Premenná cyklu FOR .. NEXT:

 

Byty označené ako "riadok NEXT" a "príkaz NEXT" určujú umiestnenie príkazu NEXT v programe (teda na ktorom riadku sa nachádza a aké má poradové číslo v riadku). Pri vykonávaní programu sa potom pokračuje (po vykonaní cyklu) príkazom nasledujúcim za príkazom NEXT.