                              GENS3M2
                              -------


1. Příkazy editoru

   I n,m ......... Režim vkládání s automatickým číslováním,
                   kde n je počátek a m je inkrement.
       INST ...... Ukončuje režim vkládání.
   L n,m ......... Výpis programu od řádku n po řádek m.
       INST ...... Ukončuje listing.
       ostatní ... Pokračování v listingu.
   K n ........... Nastaví počet zobrazených řádků pro příkazy
                   L a W.
   D n,m ......... Vymaže řádky od n do m.
   M n,m,l ....... Zkopíruje řádky od n do m před řádek l.
   N n,m ......... Přečísluje zdrojový text; n je počátek a
                   m inkrement.
   F n,m,f,s ..... Hledání řetězce f od řádku n po řádek m.
                   Je-li nalezen, nahradí se řetězcem s.
   E n,m ......... Postupná oprava programu od řádku n
                   po řádek m.
   V ............. Udává celkový počet řádků v text. bufferu.
   W n,m ......... Výpis programu na tiskárně. Paremetry jsou
                   stejné jeko u příkazu L.
   X ............. Zobrazí hexadecimálně počáteční a koncovou
                   adresu textového bufferu.
   S,,D .......... Změní separátor "," za separátor "D".
     ............. Vymaže vkládaný znak.
   B ............. Návrat do monitoru.
   C ............. Definice velikosti bufferů INCLUDE a MACRO.
                   MACRO buffer má implicitně nulovou hodnotu
                   (nutno nadefinovat před započetím práce).
   Q ............. Zpackuje zdrojový text (po přečíslování).


2. Subpovely řádkového editoru - po příkazu E

   space ......... Nastaví kurzor na další znak.
   DEL ........... Nastaví kurzor na předchozí znak.
     ............. Nastaví kurzor na následující tab. pozici.
     ............. Vymaže editovaný řádek.
   CR ............ Ukončení všech změn na editovaném řádku.
   Q ............. Zruší všechny doposud provedené opravy na
                   řádku a vrátí řádek zpět do textového
                   bufferu.
   R ............. Zruší všechny provedené změny na řádku.
   L ............. Zobrazí zbytek editovaného řádku.
   K ............. Vymaže znak na kterém je nastaven kurzor.
   Z ............. Zruší vše od kurzoru do konce řádku.
   F ............. Hledá další výskyt řetězce zadaného
                   příkazem F.
   S ............. Nahradí nalezený řetězec f řetězcem s
                   a pokračuje v hledání dalšího výskytu.
   I ............. Umožňuje vložit znaky na pozici kurzoru.
       CR ........ Ukončuje režim vkládání znaků.
   X ............. Vkládání znaků na konec řádku.
   C ............. Změna znaku na kterém je nastaven kurzor.


3. Překlad (assembling) a spuštění strojového kódu

   A ............. Provede assemblaci od prvního řádku
                   textového bufferu.
   table size: ... Délka návěští + 4 bytes na každé návěští.
       CR ........ Normální velikost.
   options: ...... Volba překladače.
             1 ... Výpis tabulky symbolických adres.
             2 ... Nevytváří strojový kód.
             4 ... Nevypisuje protokol o překladu.
             8 ... Výpis protokolu o překladu na tiskárně.
            16 ... Umístí stroj. kód za tabulku symbol. adres.
            32 ... Neprovádí se kontrola umístění stroj. kódu.
                     Volby překladače je možno zadávat i adi-
                     tivně, např. 2 + 8 = 10.
       SFT+BRK ... Přerušení překladu.
       E ......... Návrat do editoru resp. možnost editace
                   řádku na kterém se překlad zastavil.
       ostatní ... Pokračování v překladu.
   R ............. Spuštění přeloženého strojového kódu od
                   adresy dané pseudoinstrukcí ENT.


4. Příkazy pro manipulaci s magnetofonem

   P n,m,s ....... SAVE obsahu textového bufferu od řádku n po
                   řádek m se jménem souboru s. Pokud chceme
                   později používat příkaz *F, je nutno provést
                   SAVE příkazem T.
   G,,s .......... MERGE souboru ke konci textového bufferu.
   T n,m,s ....... SAVE obsahu textového bufferu od řádku n
                   po řádek m ve tvaru vhodném pro použití
                   v příkaze *F.


5. Formátování textového bufferu znakem v 1. sloupci

   ; ............. Komentářový řádek (nepřekládá se).
   * ............. Příkaz pro řízení assembleru.
   CR ............ Řádek je ignorován.
   space ......... Další znak musí být mnemotechnika Z80.


6. Další používané zkratky

   $ ............. Nastavení programového čítače (PC).
   1026 .......... Dekadická konstanta.
   #403 .......... Hexadecimální konstanta.
   %101 .......... Binární konstanta.
   "A" ........... ASCII znak.
   LBL2 .......... Symbolická adresa, návěští, konstanta.
   & ............. Logický AND.
   ! ............. Logický OR.
   @ ............. Logický XOR.
   * ............. Součin.
   / ............. Podíl.
   ? ............. Zbytek po dělení (modulo).


7. Pseudoinstrukce

   ORG x ......... Nastavení logického umístění stroj. kódu.
   EQU x ......... Přiřadí hodnotu návěští.
   DEFB x ........ Definice hodnoty délky 1 byte.
   DEFW x ........ Definice hodnoty délky 2 bytes.
   DEFM "alfa" ... Definice řetězce znaků.
   DEFS x ........ Rezervuje x bytes v paměti.
   ENT x ......... Nastaví adresu PC pro spuštěni přeloženého
                   strojového kódu.
   IF podmínka ... Podmíněné provádění překladu. Není dovoleno
                   zahnízdění.
       ELSE ...... Nesplnění této podmínky.
   END ........... Konec zdrojového textu určeného k překladu.


8. Makroinstrukce

   MAC ........... Uvádí se za názvem MACRA bez formálních
                   parametrů. Tyto se udávají přimo v instruk-
                   cích např. LD A,=0 ; kde =0 je formální
                   parametr (ASCII znak - podstatné jsou
                   nižší 4 bity). Volání je provedeno udáním
                   názveu MACRA s uvedením aktuálnich (sku-
                   tečných) parametrů. 
   ENDM .......... Konec definice makroinstrukce.
                   Před definicí makroinstrukcí je třeba
                   definovat místo v MACRO bufferu příkazem C.
                   (10 bytes/řádek).

                   příklad:  ROUTIN MAC
                                    LD   A,=0
                                    LD   BC,=1
                                    OUT  (C),A
                                    ENDM

                   volání :         ROUTIN 14,#6CF

                   provede:         LD   A,14
                                    LD   BC,#6CF
                                    OUT  (C),A


9. Příkazy pro řízení překladu v textovém bufferu

   *E ............ Vloží 3 prázdné řádky.
   *H s .......... Vytiskne hlavičku s na začátek protokolu
                   o překladu.
   *S ............ Zastaví výpis protokolu o překladu. Pokra-
                   čování stiskem libovolné klávesy.
   *L+ ........... Výpis protokolu zapnut.
   *L- ........... Výpis protokolu vypnut.
   *D+ ........... Hodnota čítače je zobrazena dekadicky.
   *D- ........... Hodnota čítače je zobrazena hexadecimálně.
   *C+ ........... Výpis přeloženého strojového kódu.
   *C- ........... Potlačení výpisu přeloženého stroj. kódu.
   *M+ ........... Výpis obsahu makroinstrukce.
   *M- ........... Potlačení výpisu obsahu makroinstrukce.
   *F s .......... Zařadí do assembleru textový soubor se
                   jménem s, který byl předtím uchován pří-
                   kazem T. Překladač i uchovaný zdrojový
                   text musí mít tutéž délu buffer size.



Klávesa ALPHA slouží k přepínání malých a velkých písmen.
Řídící kódy zadávané přes klávesu CTRL jsou funkční.
Tato verze GENSu již pracuje pod režimem MZ-800 ve standartním
kódu ASCII bez možnosti přepnutí na kód počítače SHARP.
Odpojeny jsou přitom veškeré ROM paměti a tudíž má daleko větší
paměť a to jak pro vlastní zdrojový text, tak i pro stro-
jový kód. Fyzicky je tento GENS umístěn v RAM od adresy
0000H. Adresa pro horký (warm) start je 1200H resp. 0000H
(CTRL + reset), pro start studený (cold) 1212H.
