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 reserved
nasledovana kurzorem editoru '>'.
   Za  kurzorem  muzete  vlozit  prikazovy  radek  nasledujiciho
formatu:
         C N1,N2,S1,S2 ENTER
C   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-