2.3.2.8.
Editačná oblasť
Táto časť pamäti slúži na editáciu riadkov a ich nasledovnému
vykonávaniu. Znaky, ktoré sú zadávané z klávesnice sú vyhodnotené systémom.
Znaky a tokeny sú uložené do editačnej oblasti v poradí, ako boli stlačené.
Editačné klávesy sú vyhodnotené zvlášť a potom je v editačnej oblasti vykonaná
činnosť, ktorú označujú (zrušenie znaku, posun po riadku doľava, doprava
apod.). Po stlačení každého klávesu je riadok v editačnej oblasti zobrazený na
obrazovku do editačnej zóny (spodná časť obrazovky). Tam až vidíte, čo ste
napísali.
Po stlačení klávesu ENTER prebehne syntaktická kontrola
riadku. V prípade, že je syntax správna, riadok sa z editačnej oblasti zaradí
do programu (pokiaľ má číslo) alebo sa vykoná.
Zaradenie riadku do programu vykoná systém veľmi jednoducho.
Zistí si, či je voľné miesto pre riadok v oblasti pre program. Pokiaľ nie,
oznámi vám to "zatrúbením". V tomto prípade neostáva nič iné, než
riadok stlačením EDIT vymazať z editačnej oblasti a urobiť preň miesto pomocou
príkazu CLEAR (vysvetlíme v ďalšej kapitole) alebo program skrátiť výmenou
čísiel za niektoré výrazy ako sme uviedli v kapitole 2.3.2.5.
V prípade, že voľné miesto je, systém zistí, či sa v programe
riadok s rovnakým číslom už nevyskytuje. Pokiaľ nie, tak je nájdený riadok
programu s číslom už nevyskytuje. Pokiaľ nie, tak je nájdený riadok programu s
číslom najbližším vyšším, než je číslo nového riadku. Oblasť, začínajúca týmto
"vyšším" riadkom sa až po koniec programu presunie o toľko bytov
smerom ku koncu pamäti, koľko predstavuje dĺžka nového riadku. Na takto
vzniknuté miesto sa prenesie z editačnej oblasti nový riadok.
Pokiaľ sa už v programe vyskytuje riadok s rovnakým číslom ako
má nový zadaný riadok, starý riadok sa zruší takto: oblasť nového riadku až po
koniec programu sa prenesie o toľko bytov smerom k začiatku pamäti, koľko
predstavuje dĺžka starého riadku. Tým prestal riadok s rovnakým číslom ako má
nový riadok v programe existovať a nový riadok sa do programu zaradí.
Pri vykonaní riadku (bez čísla) vykonáva systém jednotlivé
príkazy uložené v editačnej oblasti, pokiaľ nenarazí na koncový byte 80h. Potom
riadok z editačnej oblasti vymaže púhym presunom bytu 80h na začiatok editačnej
oblasti (teda tam, kam ukazuje systémová premenná E_LINE).
Pri vykonaní programu (príkazom RUN, GOTO) sa postupne prenášajú
riadky programu do editačnej oblasti (už bez čísiel) a tam sú vykonané. Vo
všetkých prípadoch práce s editačnou oblasťou sa menia systémové premenné
začínajúce VARS a STKEND.