GENSnav.4 TASWORD TWO
dujici vyskyt retezce 'f'. Tento spolu s prikazem 'F'
uvedenym vyse se pouziva ke krokovani textovym souborem
pricemz se nahrazuji retezce 'f' retezci 's' - viz kapitola
3.3, kde je uveden priklad.
I (INSERT) - Vlozi znaky na pozici ukazatele. V teto cinnosti
setrvava dokud se nestiskne ENTER - ten vrati cinnost do
hlavni smycky s ukazatelem nastavenym za posledni vlozeny
znak. Pri teto cinnosti zpusobi CH ( DELETE ) vymazani znaku
vlevo od ukazatele, zatimco CI ( ridici funkce ) posune
ukazatel na dalsi tabelacni pozici a vklada mezery.
X - Posune ukazatel na konec radku a automaticky prechazi do
cinnosti vkladani ( INSERT ) popsane vyse.
C (CHANGE) - Zmeni znak. Tento prikaz umoznuje prepsat znak na
pozici ukazatele a posunout ukazatel o jeden krok dopredu.
Nadale se zustava u teto cinnosti dokud se nestiskne ENTER,
cimz se vrati do hlavni smycky programu a ukazatel bude za
poslednim zmenenym znakem. CH ( DELETE ) v tomto pripade
posune pouze ukazatel o jeden krok zpet zatimco CI nema
ucinek.3.2.4 Prikazy pro pasku
Text muze byt ulozen na pasku nebo nahran z pasku pouzitim
prikazu 'P', 'G' a 'T'.Prikaz: P n,m,s
Oblast radku definovanou n<x<m ulozi na pasku se jmenem
urcenym retezcem 's'. Pamatujte, ze tyto argumenty mohou byt
definovany drive vlozenym prikazem. Pred vlozenim tohoto
prikazu se presvedcte, ze magnetofon je zapnut na nahravani.
Nepouzivejte tento prikaz, budete-li si pozdeji prat tuto
oblast vlozit 'Include' (do jineho programu - textu). V takovem
pripade pouzijte prikaz 'T'.
Prikaz: G ,,s
Na pasce hledate soubor s nazvem 's', je-li nalezen, pak jej
ulozite na konec textu. Neni-li vlozeno jmeno, nahraje se prvni
textovy soubor na pasce.
Po vlozeni prikazu se objevi zprava 'Start tape ..' -
spustte prehravani. Nyni se hleda soubor s uvedenym jmenem nebo
v pripade,ze jmeno nebylo uvedeno, je vzat prvni textovy soubor.
Pri souhlasu nazvu se zobrazi zprava 'Using filename', jinak
'Found filename' a hledani na pasce pokracuje.
Pamatujte, je-li jakykoliv textovy soubor jiz umisten v
pameti, pak nove nahrany soubor z pasky bude pripojen ke
stavajicimu souboru a cely soubor bude precislovan pocinaje
radkem 1 s krokem 1.
Prikaz: T n,m,s
Ulozit blok textu mezi radky n a m vcetne, na pasku ve tvaru
vhodnem k pozdejsimu vlozeni prikazem assembleru *F - viz
kapitola 2.8. Soubor je ulozen s nazvem s. Ukladani se zahaji
okamzite po stisknuti ENTER, proto se presvedcte, ze je
magnetofon pripojen a spusten pred vlozenim tohoto prikazoveho
radku.
3.2.5 Kompilace a spusteni
Prikaz: A - Provest kompilaci od prvniho radku textoveho
souboru. Podrobneji viz kapitola 2.
Prikaz: R - Byla-li kompilace provedena bez chyby a urcena
prikazem ENT adresa spusteni, pak lze pouzit prikazu 'R' ke
spusteni programu ve strojnim kodu. Strojni kod muze pouzit
instrukci RET (#C9) k navratu do editoru pokud ukazatel
zasobniku (stack) bude po provedeni tohoto programu na stejne
pozici jako byl na zacatku.
Uvedomte si, ze ENT se neprovede v pripade, ze pro kompilaci
byla zvolena cinnost 16.
3.2.6 Ostatni prikazy
Prikaz: B - Jednoduse vrati rizeni do operacniho systemu BASIC.
Navrat do assembleru se provede studenym nebo teplym startem viz
kapitola 1.
Prikaz: C - Tento prikaz umoznuje prevest textove soubory
vytvorene pomoci GENS 1 na format pro GENS 3. Nahraje se textovy
soubor GENS 1 prikazem 'G' a potom se prikazem 'C' provede
konverze souboru a nahraje se jiz jako soubor GENS 3 prikazem
'P' na pasku.
'C' nema argument a muze chvili trvat nez se konverze
provede.
Prikaz: S,,d - Tento prikaz umoznuje zmenit separator, ktery
oddeluje argument v prikazovem radku. Pri vstupu do editoru je
carka ',' brana jako separator; toto muze byt zmeneno prikazem
'S' na prvni znak uvedeneho retezce d. Pamatujte, ze po
definovani noveho separatoru musi byt tento pouzivan dokud neni
specifikovan jiny prikazem 'S'.
Jako separator nesmi byt pouzita mezera.
Prikaz: V - Zobrazi okamzitou hodnotu N1, N2, S1 a S2 tj.
standardni hodnoty cisel radku a retezcu. Pouziva se pred
vkladanim prikazu pouzivajicich standardnich hodnot ke kontrole,
zda tyto hodnoty jsou vhodne.
Prikaz: W n,m - Provede vypis oblasti s cisly radku n az m
vcetne na tiskarnu. Pokud n a m maji standardni hodnotu, pak se
vytiskne cely textovy soubor. Tisk se prerusi po poctu radku,
nastavenem prikazem 'K' a pokracuje stlacenim libovolneho
tlacitka.
Prikaz: X - zobrazi dekadicky pocatecni a koncovou adresu
textoveho souboru. To je uzitecne pro ulozeni textu v ramci
BASICu nebo chceme-li zjistit kolik pameti nam zbyva za textovym
souborem. GENS 3 ocekava, ze text zacina na prvni adrese dane
prikazem 'X' a koncovou adresu textu ma ulozenu v pozici
TEXTEND, ktera je 'Start of GENS3 + 54'. Takze chcete-li vepsat
textovy soubor (napr. vytvoreni MONS3), musite prevest textovy
soubor na adresu urcenou prvni adresou zobrazenou prikazem 'X',
zmenit TEXTEND tak, aby obsahoval koncovou adresu souboru a
konecne vstoupit do GENS 3 teplym startem. Napr. vytvorili jste
textovy soubor spravne umisteny, ktery konci na (adresa za
poslednim znakem konce radku) adrese #9A02. Dale prdpokladejme,
ze jste nahrali GENS 3 od 24064, mate v BASICu provest prikaz
POKE 24064+54,2 (#02) a POKE 24064+55,154 (#9A) a potom spustit
GENS 3 pomoci RANDOMIZE USR 24125. Nyni muzete pracovat s
textovym souborem primo z editoru.
3.3 Priklad pouziti editoru
Predpokladejme, ze jste psali do nasledujiciho programu (pomoci
prikazu I10,10).
10 #h 16 BIT RANDOM NUMBERS
20
30 ;INPUT: HL contains previous random number or seed.
40 ;OUTPUT: HL contains new randon number.
50
60 Random PUSH AF ;save registers
70 PUSH BC
80 PUSH HL
90 ADD HL,HL ;*2
100 ADD HL,HL ;*4
110 ADD HL,HL ;*8
120 ADD HL,HL ;*16
130 ADD HL,HL ;*32
140 ADD HL,HL ;*64
150 PIP BC ;old random number
160 ADD HL,DE
170 LD DE,41
180 ADD HL,DE
190 POP BC ;restore registers
200 POP AF
210 REYV programu jsou nasledujici chyby:
Radek 10: v prikazu bylo pouzito h misto H
radek 40: randon misto random
radek 70: PUSH BC zacina v poli navesti
radek 150: PIP misto POP
radek 160: chybi komentar (stylizacni chyba)
radek 210: REY misto RET
Rovnez dva dalsi radky ADD HL,HL by mely byt vlozeny mezi radky
140 a 150 a vsechny reference na registrovy par DE na radcich
160 az 180 by mely byt na registrovy par BC.
Opravy provedeme takto:
E10 ENTER pak_(space) C nasleduje H ENTER ENTER
F40,40,randon,random ENTER pak pomocny prikaz 'S'
E70 ENTER pak I_______(7 mezer) ENTER ENTER
I142,2 ENTER 142_______ADD HL,HL ;*128
144_______ADD HL,HL ;*256 a 'CC'
F150,150,PIP,POP ENTER pak pomocny prikaz 'S'
E160 ENTER pak X___;*257 + 41 ENTER ENTER
F160,180,DE,BC ENTER pak opakovane pouzit 'S'
E210 ENTER pak CI CI ____C T ENTER ENTER
N10,10 ENTER precisluje textDurazne doporucujeme projit celym vyseuvedenym prikladem a
skutecne pouzit editor.
PRILOHA 1 CHYBOVA HLASENI A JEJICH VYZNAM.
*ERROR* 1 Chyba v kontextu v danem radku
*ERROR* 2 Neznama mnemonika
*ERROR* 3 Chybne formulovany prikazovy radek
*ERROR* 4 Vicenasobne definovany symbol
*ERROR* 5 Radek obsahuje nedovoleny znak, tj. znak,
ktery je v danem kontextu neplatny*ERROR* 6 Nedovoleny operand
*ERROR* 7 Pouzity symbol je rezervovane slovo
*ERROR* 8 Neshoda registru (mismatch)
*ERROR* 9 Mnoho registru v prikazu
*ERROR* 10 Vyraz pouzity jako 8 bitovy ma vetsi
hodnotu nez 255*ERROR* 11 Instrukce JP (IX+n) a JP (IY+n) nejsou
dovoleny*ERROR* 12 Chyba v usporadani assembleroveho povelu
*ERROR* 13 Nedovolena predbezna reference tj. Pouziti
EQU pro dosud nedefinovany symbol*ERROR* 14 Deleni nulou
*ERROR* 15 Preplneni pri nasobeni
Bad ORG! Byl proveden ORG pro adresu, ktera zasahuje
do GENS, textoveho souboru nebo tabulky
symbolu. Rizeni se vraci do editoru.Out of Table space! Vyskytne se pri prvnim prubehu, pokud
tabulka symbolu ma nedostatecnou velikost.
Rizeni se okamzite vraci do editoru.Bad Memory! Zobrazi se, kdyz neni prostor pro dalsi text
tj. konec textu se blizi k ramtop. Stavajici
textovy soubor nebo jeho cast by se mela
ulozit na pasku.-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+