GENSnav.3 TASWORD TWO
*Hs
zpusobi, ze retezec s se bere jako zahlavi a vytiskne se za
kazdym prikazem (*E). *H vytvori automaticky i *E.
*S
zastavi listovani na tomto radku. Pokracovani nasleduje
stisknutim libovolneho tlacitka. Uzitecne pro cteni adres
ve stredni casti vypisu. Poznamka: *S je vyhodnocen i po
*L-, *S nezastavi vypis na tiskarne.
*L-
zastavi listovani i tisk, pocinaje timto radkem.
*L+
obnovi listovani i tisk, pocinaje timto radkem.
*D+
zpusobi, ze hodnota citace adres je uvedena dekadicky na
zacatku kazdeho radku. Vhodne pro uzivatele SPECTRA.
*D-
vrati se k pouziti hexadecimalnich cisel.
*C-
zkrati radek assembleru pocinaje nasledujicim radkem. Ke
zkraceni dojde vypustenim vypisu strojniho kodu, cimz se
usetri 9 znaku a tim se radek vejde na jeden radek
obrazovky (32 znaku) a zvysi se citelnost.
*C+
vrati se na uplny radek jak je popsan v kapitole 2.0.
*F (filename)
Je to velice vykonny prikaz, ktery dovoluje nacist z pasky
blok textu do vyrovnavaci pameti a pote provest kompilaci z
vyrovnavaci pameti; to umoznuje vytvaret rozsahle programy
ve strojnim kodu nebot prekladany text nezabira mnoho
pameti.
Jmeno textu (az 10 znaku), ktery chcete vlozit v tomto
miste kompilace muze byt urcen po '*F' a musi byt oddelen
mezerou. Neni-li uvedeno jmeno, pak se vlozi prvni text,
ktery bude na pasce nalezen.
Jakykoliv text, ktery chcete vkladat timto zpusobem, musi
byt predem ulozen na pasku prikazem editoru 'T' a nikoliv
'P' - toto je nezbytne, nebot text pro vkladani musi byt
ulozen v blocich s dostatecnym vnitroblokovym prostorem,
ktery umozni preklad bloku pred vlozenim dalsiho bloku z
pasky. Velikost bloku pouzita timto prikazem (a prikazem
editoru T) je dana na zacatku, pri vstupu do GENS 3
vlozenim odpovedi na 'Buffer size?' viz kapitola 1. Vlozene
cislo (0 - 9) je vzato jako velikost vkladaci pameti v
jednotkach po 256 bytech se standardni hodnotou 4*256 bytu.
Moznost volit velikost pameti optimalizuje pomer
velikost/rychlost pri vkladani textu z pasky; napr.
nepredpokladate-li pouziti prikazu 'F', je vhodne zvolit
velikost pameti 0 a tak minimalizovat prostor zabrany
GENS 3.
Vsimnete si, ze velikost pameti specifikovana v dobe, kdy
tvorite soubor pro vlozeni musi byt stejna jako velikost
pameti dana v dobe kdy skutecne chcete text vkladat.
Kdykoliv assembler vyhodnoti prikaz 'F' objevi se 'Start
the tape...', to se stane pri prvnim i pri druhem prubehu,
nebot vkladany text musi byt cten pri obou prubezich. Na
pasce je vyhledan pozadovany soubor pro vlozeni nebo prvni
soubor. Je-li nalezen soubor pro vlozeni, jehoz jmeno
nesouhlasi s pozadovanym, zobrazi se zprava 'Found
filename' a hledani pokracuje, jinak se zobrazi 'Using
filename' a soubor se nahraje a vlozi.
Viz priloha 3, kde je uveden priklad pouziti tohoto
prikazu.
Jine prikazy assembleru nez *F jsou rozpoznany pouze pri
druhem prubehu.
Je-li kompilace vypnuta jednou z podminenych
pseudoinstrukci, je vypnut i vliv vsech prikazu assembleru.KAPITOLA 3 EDITOR
3.1 Uvod do editoru
Vsechny verze editoru GENS 3 jsou jednoduche radkove editory
pracujici se vsemi systemy se Z80, s jednoduchou obsluhou a
schopne rychleho a efektivniho vkladani programu.
Za ucelem zmenseni velikosti textoveho souboru provadi editor
potlaceni urciteho poctu mezer. Je to provadeno nasledujicim
zpusobem: po napsani radky z klavesnice je tato vlozena znak po
znaku do vnitrni vyrovnavaci pameti assembleru; po ukonceni
radku (tj. po stisknuti ENTER) dojde k presunu do textoveho
souboru. Behem tohoto presunu jsou potlaceny urcite mezery:
radek je vyhodnocovan od prvnio znaku; jde-li o mezeru, nahradi
se znakem pro tabelaci a vsechny nasledujici mezery se
vynechaji. Neni-li prvnim znakem mezera, pak se znaky presunuji
do textoveho souboru dokud neni objevena mezera a pak se provadi
stejna cinnost, jakoby mezera byla na prvnim miste. Toto se dale
opakuje, takze znaky tabelace jsou umisteny na zacatek radku,
mezi navesti a mnemoniku, mezi mnemoniku a operandy, pripadne
mezi operandy a komentar. Jakmile je vyhodnocen navrat vozu
(ENTER) ukonci se presun a program se vrati do editoru.
Uzivatel muze jednoduse pouzit znaky pro tabelaci (CI - viz
nize) k vytvoreni tabelovaneho textoveho souboru, ktery
se soucasne usporne vklada do pameti.
Vsimnete si, ze mezery se nepotlacuji v komentari a nemaji
byt uvnitr navesti, pole mnemoniky a operandu.
V prubehu teto kapitoly se pouzivaji urcite zkratky k
oznaceni prislusnych ridicich kodu:
ENTER ENTER na SPECTRU
CC CAPS SHIFT a 1. Pro preruseni vstupu.
CM DELETE nebo CAPS SHIFT a 0. Posun kurzoru zpet s
vymazanim znaku.
CI CAPS SHIFT a 8. Posun na dalsi tabelacni pozici.
CX CAPS SHIFT a 5. Vymazani vkladaneho radku.
Pri spusteni GENS 3 se automaticky vstoupi do editoru a
zobrazi se zprava:
Copyright Hisoft 1983
All rights reservednasledovana kurzorem editoru '>'.
Za kurzorem muzete vlozit prikazovy radek nasledujiciho
formatu:
C N1,N2,S1,S2 ENTERC je prikaz k provedeni (viz kapitola 3.2 nize)
N1 je cislo 1 - 32767 vcetne
N2 je cislo 1 - 32767 vcetne
S1 je retezec znaku delky max. 20
S2 je retezec znaku delky max. 20
Carka je pouzita k oddeleni jednotlivych argumentu (muze se
take zmenit - viz prikaz 'S') a mezery se ignoruji s vyjimkou
retezcu. Zadny z prikazu neni povinny, ale nektere prikazy
(mapr. 'D') se neprovedou bez urceni N1 a N2. Editor si pamatuje
vlozena cisla a retezce a v pripade, ze je nektera hodnota
vynechana, pak se bere pro N1 a N2 hodnota 10 a retezce jsou
prazdne. V pripade vlozeni neplatneho prikazu jako F-1,100,HELLO
je tento prikaz ignorovan a zobrazi se zprava 'Pardon?' - je
treba radek prepsat spravne tj. F1,100,HELLO. Tato chybova
zprava se objevi rovnez v pripade, ze retezec S2 prekroci 20
znaku; pri prekroceni delky u S1 se dalsi znaky ignoruji.
Prikazy se mohou vkladat velkymi nebo malymi pismeny.
Pri vkladani prikazoveho radku mohou byt pouzity ridici
funkce popsane vyse jako: CX k vymazani zacatku radku, CI k
posunuti kurzoru na nasledujici tabelacni pozici a pod.
Nasledujici kapitola popisuje podrobne prikazy editoru - v
pripade, ze argument prikazu je vlozen do symbolu '<>', pak je
nutne jej pouzit.
3.2 Prikazy editoru
3.2.1 Vkladani textu
Text muze byt vlozen do textoveho souboru bud napsanim cisla
radku, mezery a pozadovaneho textu nebo uzitim prikazu 'I'.
Vsimnete si, ze napisete-li cislo radku nasledovane ENTER (bez
textu) pak je tento radek vymazan, pokud existuje. Pri vkladani
textu lze pouzit ridici funkce CX, CI a CC. DELETE (CH) zpusobi
posun kurzoru zpet (nikoliv vsak na zacatku radku). Text se
vklada do vnitrni pameti GENS 3 a je-li tato pamet plna, je
vkladani dalsich znaku blokovano - musite pouzit CH nebo CX k
uvolneni pameti.
Kdyz editor zjisti, ze se behem vkladani konec textu blizi k
Ramtop, pak se zobrazi zprava 'Bad memory!'. Znamena to, ze neni
mozne vkladat dalsi text a vlozeny textovy soubor nebo alespon
jeho cast se musi ulozit na pasku pro pozdejsi pouziti.
Prikaz: I n,m
Tento prikaz umoznuje automaticke vkladani: n - je cislo prvniho
vkladaneho radku a m - je odstup mezi cisly radku. Text se
vklada po zobrazeni cisla radku, lze podle potreby pouzit ruzne
ridici kody a text se ukonci ENTER. K ukonceni cinnosti uzijte
ridici funkci CC.
Vlozite-li radek s cislem, ktere jiz v textu existuje, pak je
stary radek vymazan a nahrazen novym pri stisknuti ENTER.
Jestlize pri automatickem cislovani radku dosahne hodnota vice
nez 32767 pak se vkladani ukonci.
Jestlize pri psani textu dosahnete konce radku na obrazovce
aniz jste napsali 64 znaku (velikost radkove pameti), pak se
obraz posune o radek a muzete pokracovat na dalsim radku -
automaticky se oznaci v textu, ze toto cislo radku je oddelene
od textu.
3.2.2 Listovani textu
Text muzeme prohlizet pomoci prikazu 'L'; pocet soucasne
zobrazenych radku pri tomto prikazu je stanoven na zacatku, ale
muze byt zmenen prikazem 'K'.
Prikaz: L n,m
Zobrazi text na obrazovce od radku n do radku m. Standardni
hodnota pro n je vzdy 1 a pro m je 32767 tj. standardni hodnota
je nezavisla na drive uzitych argumentech. K listovani celym
textovym souborem jednoduse pouzijte 'L' bez argumentu. Levy
okraj obrazovky je usporadan tak, ze je zrejme cislovani radku.
Tabelace radku se provadi automaticky a jednotliva pole jsou
oddelena. Pocet zobrazenych radku muze byt regulovan prikazem
'K' - po zobrazeni prislusneho poctu radku se listovani zastavi
(pokud nebylo dosazeno radku m). Ridici funkci CC lze provest
navrat do editoru nebo stisknutim libovolneho jineho tlacitka
pokracuje listovani.
Prikaz: K n
'K' nastavi pocet radku k zobrazeni pri listovani jak bylo
popsano vyse u 'L'. Je vypocitana hodnota (n MOD 256) a ulozena.
Uzitim K5 pri naslednem 'L' se zobrazi 5 radku soucasne.
3.2.3 Uprava textu
Po vytvoreni urciteho textu muze nastat potreba vlozeni
dalsich radku. Ruzne prikazy umozni zmenu, vypusteni, presun a
precislovani radku:
Prikaz: D<n,m> (DELETE)
Vsechny radky od n do m budou vypusteny ze souboru. Je-li m<n
nebo je pouzito mene nez 2 argumentu, prikaz se neprovede; to
pomuze zabranit chybam z nepozornosti. Jeden radek lze vypustit
pri m=n; tehoz lze dosahnout napsanim cisla radku nasledovane
ENTER.
Prikaz: M n,m (MOVE)
Premisti text z radku n na radek m, kde nahradi stary text,
pokud tam je. Radek n se zrusi. Tento prikaz umozni presunout
radek textu na jinou pozici v ramci textoveho souboru. Pokud
radek s cislem n neexistuje, prikaz se neprovede.
Prikaz: N<n,m>
Precisluje textovy soubor s prvnim radkem n a cislovani dalsich
radku ma krok m. Musi byt uvedeno n i m a v pripade, ze by
cislovani prekrocilo hodnotu 32767, zustane puvodni cislovani.
Prikaz: F n,m,f,s (FIND)
Hleda v rozmezi radku n<x<m vyskyt retezce f. Je-li nalezen, pak
se prislusny radek zobrazi a vstoupi se do rezimu Edit - viz
nize. Nyni lze pouzit prikazu editoru k vyhledani dalsich
vyskytu hledaneho retezce f v udanem rozmezi nebo jej muzeme
nahradit retezcem s. Podrobnosti viz nize.
Uvedomte si, ze rozmezi radku i oba retezce mohou byt definovany
jiz drive jinym prikazem a pak staci stisknout 'F' pro vyhledani
- k vysvetleni viz priklad v kapitole 3.3.
Prikaz: E n (EDIT)
Umozni upravu radku s cislem n. Pokud n neexistuje, prikaz se
neprovede; jinak se radek prepise do vyrovnavaci pameti a
zobrazi (s cislem radku), cislo radku se zobrazi jeste jednou
na nasledujicim radku obrazovky a lze provadet upravy nebo
zmeny. Vsechny dalsi zmeny se provadeji ve vyrovnavaci pameti a
nikoliv v samotnem textu; lze tedy kdykoli obnovit puvodni
obsah.
Pri teto cinnosti se zobrazi ukazatel, ktery se pohybuje podel
radku (od prvniho znaku) a je mozne pouzit ruznych pomocnych
prikazu pro upravy nebo zmeny v radku. Pomocne prikazy jsou:
' ' (mezera) - posune ukazatel o jedno misto vpred. Nelze
krokovat pres konec radku.
CH (DELETE) - posune ukazatel o jedno misto zpet. Nelze
krokovat pres zacatek radku.
CI (ridici funkce) - posune ukazatel na nasledujici tabelacni
pozici.
ENTER - konec upravy (vsechny zmeny provedeny)
Q (QUIT) - prerusi upravu a ignoruje provedene zmeny v radku.
R (RELOAD) - obnovi obsah vyrovnavaci pameti podle puvodniho
obsahu textoveho souboru (vraceni na puvodni tvar).
L (LIST) - vypise zbytek radku, ktery je upravovan tj. zbytek
radku za pozici ukazatele. Druh cinnosti zustava zachovan s
ukazatelem na zacatku radku.
K (KILL) - vypusti znak na pozici ukazatele.
Z - vypusti vsechny znaky od zacatku radku az k ukazateli
vcetne.
F (FIND) - hleda dalsi vyskyt retezce drive definovaneho
prikazovym radkem (viz prikaz 'F' vyse). Tento pomocny
prikaz automaticky ukonci upravu daneho radku (zachova
zmeny) nenalezne-li dalsi vyskyt pozadovaneho retezce v
tomto radku. Vyskytne-li se retezec v radcich, ktere
nasleduji (v predem stanovenem rozmezi) prejde se k uprave
toho radku, kde byl retezec znovu nalezen. Vsimnete si, ze
ukazatel se nastavi vzdy na pocatek nalezeneho retezce.
S (SUBSTITUTE) - nahradi predem definovanym retezcem 's'
nalezeny retezec 'f' a provede prikaz 'F' tj. vyhleda nasle-