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.