Referencia Kézikönyv


TARTALOM
A BASIC szabályai
Parancsok és utasítások
Gépi feltételek
Videofeltételek
Hangfeltételek
Belső függvények és változók
EXOS
Hibaüzenetek
A szövegszerkesztő üzenetei

A BASIC SZABÁLYAI
Ez a fejezet a BASIC nyelv, pontosabban az Enterprise által használt változatának utasításait tárgyalja részletesen. Természetesen lesznek köztük már ismert parancsok is. Azok számára, akik korábban már használták a BASIC nyelvet, könnyen elég lehet, hogy csak ezt a fejezetet kell átnézni a gép használatához. Érdemes az új utasításokat parancsmódban kipróbálni. A könyv korábbi fejezeteiben gondosan ügyeltünk arra, hogy az általános szakkifejezéseket csak fokozatosan kezdjük használni. Ebben a fejezetben már sokkal bátrabban alkalmazzuk őket, hogy elkerüljük a túl terjengős fogalmazást.

ÁLTALÁNOS SZABÁLYOK
A kis- és nagybelük tetszés szerint használhatók a kulcsszavakban és az azonosítókban, tehát pl. a FOR, for, For szavak hatása megegyezik. Az azonosítók legfeljebb 31 karakter hosszúak lehetnek, de a gép minden betűjüket figyelembe veszi. Tartalmazhatnak betűket, számjegyeket, pontot és aláhúzásjelet, az első karakterüknek azonban betűnek kell lenni. Egy programsor max. 250 karakterből állhat és a sorszámának 1 és 9999 közé kell esnie. A sor több, egymástól kettősponttal elválasztott utasítást is tartalmazhat.
A sorokban levő "!" jelek azt jelzik, hogy a sor további része megjegyzésnek számít. Ha parancsmódban egy sort kettősponttal kezdünk, akkor a gép a sor további tartalmát anélkül, hogy megpróbálná végrehajtani, átadja az operációs rendszernek.
A gép a sorszámokat megelőző és követő szóközöket törli, majd a sorszám után automatikusan annyit helyez el, hogy a blokkoknak megfelelő tördelés alakuljon ki. A FOR, DEF, DO, HANDLER, SELECT és WHEN blokkok utasításai, ill. az ELSE és a CASE ágak 2-2 karakterrel beljebb kezdődnek, mint az őket megelőző sorok. A blokkok végét a LOOP, END, NEXT szavakról ismeri fel a gép. sorszámokat mindig oszlopba rendezve kapjuk. Az Enterprise legtöbbször az ANSI X3J2/82-17 "Draft Proposal for Standard BASIC"-nak megfelelően jár el.

TÖBB PROGRAM KEZELÉSE
Az Enterprise egyszerre több programot is tárolhat, amelyeknek saját sorszámaik és önálló változóik lehetnek. Mindegyik programra egy számmal, ill. a PROGRAM utasításban megadott névvel hivatkozhatunk (I. még: CHAIN, EDIT, PROGRAM parancsok). A legtöbb parancs mindig az aktuális programra fejti ki hatását (ez alapértelmezésben a nullás), amelynek a számát az állapotjelző sorban is olvashatjuk. A nullás program max. 42, a többi legfeljebb 32 k helyet foglalhat el a tárban.

KITERJESZTÉSEK
Léteznek olyan programok, amelyeket betöltve korábban nem ismert utasításokat is végre tud hajtani a számítógép. Ezeknek az utasításoknak a leírását a programokhoz mellékelt tájékoztató mindig részletesen ismerteti, ezért gondosan tanulmányozzuk át használat előtt.

ADATTÍPUSOK
Két adattípus van, a szám és a karaktersorozat. A változók neveire ugyanazok a szabályok érvényesek, mint bármely más azonosítóra, de a karakterváltozók neve végén egy dollárjelnek kell állnia. A számváltozók tartalmát binárisan kódolt decimális alakban tárolja a gép tíz számjeggyel. A legkisebb, kezelhető szám az 1e-64, a legnagyobb a 9.999999999e62. A karaktersorozatok hossza max. 254 karakter lehet, de a karakterváltozókat kisebbre is definiálhatjuk a STRING utasítással. A részsorozatokra változónév$(x:y) alakban hivatkozhatunk, ahol x az első, y az utolsó karakter sorszáma a sorozatban. Ha x vagy y elmarad, akkor a sorozat elejét, ill. végét használja helyette a gép.

Az ismert műveleti jelek:

*- szorzásRelációs (összehasonlító) műveleti jelek:
/- osztás >- nagyobb
^- hatványozás < - kisebb
+- összeadás = - egyenlő
-- kivonás >= - nagyobb vagy egyenlő
Karaktersorozatokra vonatkozó műveleti jel: <= - kisebb vagy egyenlő
& - konkatenáció: összekapcsolás <> - nem egyenlő
   AND - logikai ÉS
   OR - logikai VAGY
   BAND - bináris ÉS
   BOR - bináris VAGY

RÖVÍDÍTÉSEK
A kulcsszavak leírása közben a következő rövidítéseket használjuk:

csat- csatornaszám
azon - azonosító
str - fűzér, azaz karaktersorozat
vált - változó
kif - kifejezés
relop - relációs műveleti jel
para paraméter

PARANCSOK ÉS UTASÍTÁSOK

Sorszám
Sorszám szöveg
Sorszám szóköz
Sorszám

Egy új sor ad hozzá a programhoz vagy töröl a programból. Ha a sorban csak egy szóköz van, akkor automatikusan "!" jel kerül az elejére. A magában sorszám a megfelelő sort törli. Csak parancsmódban adható ki. Törli a változókat
Jegyezzük meg, hogy azok a parancsok, amelyek törlik a változókat, automatikusan lezárják az 1-99 között levő nyitott csatornákat.

ALLOCATE
ALLOCATE kif
A gépi kódú rutinokkal kapcsolatban használatos. A kifejezésnek megfelelő helyet hagy ki a programban a rutin számára és az üres hely elejére állítja az elhelyezésszámlálót. Törli a változókat, ezért csak a program elején használható.

ASK
ASK gépi feltétel vált
A változóba teszi a megadott gépi feltétel értékét. (Ezekről bővebben A gépi, A video- és A hangfeltételek c. alfejezetben olvashatunk majd.) L. még: SET, TOGGLE utasítás.

AUTO
AUTO
AUTO AT 100 STEP 10
AUTO STEP 10

Speciális, csak parancsmódban alkalmazható utasítás, amely bekapcsolja az automatikus sorszámozást. Alapértékek: kezdősorszám = 100, lépésköz =10. Az új sorszámú sorok felülírhatják a régieket. A szolgáltatást a STOP billentyűvel kapcsolhatjuk ki.

CALL
CALL függvény
CALL függvény(paraméterlista)

A beépített vagy felhasználó által definiált (DEF) függvények hívásának egyik módja. E megoldás esetén a gép a függvény értékét kiszámítja, de nem használja fel. CALL USR(A,B) pl. egy gépi kódú rutin meghívása. Parancsmódban is alkalmazható.

CAPTURE
CAPTURE FROM £csat TO £csat
Az első csatornáról érkező inputtal helyettesíti a másik csatornáról érkezőt A második csatorna olvasása mindaddig áll, míg le nem ütjük a STOP gombot, az első csatornán end-of-file jelzés érkezik, vagy hiba keletkezik. A parancs hatását később úgy tudjuk kikapcsolni, hogy ugyanezt az első csatornát adjuk meg ugyanilyen parancsban, de második csatornának a 255-öst írjuk. A 255 csatorna más használata hibát okoz.

CASE
L. SELECT blokk

CAUSE EXCEPTION
CAUSE EXCEPTION kif
A megadott számú hiba bekövetkezését okozza, a hibaszám 1-99 között lehet. Az EXCEPTION szó elhagyható.

CHAIN
CHAIN programszám
CHAIN "név"(paraméterlista)

Az aktuális programból egy másik programot hív meg, a paramétereket az új program kapja meg. L. még: PROGRAM.

CLEAR

CLEAR £csat:CLEAR £csat:NET
CLEAR ENVELOPE CLEAR QUEUE hangforrás-szám
CLEAR FKEYSCLEAR SCREEN
CLEAR FONTCLEAR SOUND
CLEAR GRAPHICSCLEAR TEXT

Törli a megadott feltételeket. Parancsmódban is végrehajtható.

CLOSE
CLOSE £csat
Kiírja a pufferben levő adatokat, lezárja a csatornát, és felszabadítja a puffert.

CODE
CODE=str
CODE vált-név=str

A gépi kódú rutinokkal kapcsolatban használatos. A karaktereket sorra beírja az elhelyezés-számlálóhoz és annak értékét betölti a változóba (ha az adott). Az utasítás végrehajtása után az elhelyezés-számláló az első szabad címre mutat. A változó később a rutin hívásához vagy ugrási címként használható fel.

CONTINUE
Parancsmódban a STOP billentyűvel megállított programot indítja tovább. Program közben a különleges eseteket kezelő rutinokból, ún. handlerekből való visszatérésre használható, ilyenkor a gép a mögé az utasítás mögé tér vissza, ahol a végrehajtás megszakadt.

COPY
COPY FROM £csat TO £csat

Az első csatornáról másol a másodikra. Mindkét csatornának nyitva kell lennie. A művelet a STOP gomb, az end-of-file jel vagy valamilyen hiba hatására fejeződik be. Ha az egyik csatornát nem adjuk meg, akkor az alapértelmezés a beolvasásra a 0., a kiírásra a 104. csatorna használható, azaz a rendszercsatornáról olvas és a sornyomtatóra ír ki.

DATA
DATA adatlista
A READ utasítással olvasható adatok itt helyezhetők el. L. még: READ.

DATE
DATE "eeeehhnn"
A gép által tárolt dátumot állítja be, amely automatikusan változik, ha a tárolt idő eléri az éjfélt. Parancsmódban is használható. L. még: DATE$ függvény. A megadás formája a nemzetközi szabványnak felel meg, tehát pl. 1987. jan. 31. a DATE 19870131 paranccsal állítható be.

DEF
DEF szám-vált=kif
DEF szám-vált(paraméterek) = kif
DEF str-vált=str-kif
DEF str-vált(paraméterek) = str-kif

Két felhasználása létezik, az első a közvetlen függvény megadása.
DEF atlag(x,y)=(x+y)/2

A második a DEF blokk, ami olyan programrészlet, amit a nevével lehet meghívni és a lefutása után egy értéket ad vissza a saját neve helyett. L. még: CALL, EXIT DEF, NUMERIC és STRING. A struktúrája a következő:
def-sor
néhány utasítás vagy belső blokk
end-def-sor

def-sor:
DEF szám-vált
DEF szám-vált(paraméterek)
DEF str-vált
DEF str-vált(paraméterek)

end-def-sor:
END DEF

A visszaadandó értékre a blokkon belül a blokk nevével hivatkozhatunk.
DEF valasz(a$)
  IF UCASE$(a$(1:1))="Y" THEN valasz =1
  ELSE IF UCASE$(a$(1:1))="N" THEN
    valasz= 0
  ELSE valasz=-1
  END IF
END DEF

A változók hatásköre dinamikusan változik, tehát függ a korábban lefuttatott soroktól és nem függ az utasítások programlistabeli helyétől.

100 NUMERIC FRED
110 LET FRED= 1
120 CALL Q
130 PRINT FRED
140 END
200 DEF P
210   LET FRED=123 !ez a kulso FRED
220 END DEF
300 DEF Q
310   NUMERIC FRED !ez a helyi FRED
320   LET FRED=0
325   CALL P
330   PRINT FRED
350 END DEF

A 210. sorban nem a 100. sorban megadott, hanem a 310. sor FRED nevű változója kap új értéket. A program a 123 és az 1 számot írja ki, pedig a listabeli r sorrend alapján 0-t és 123-t várnánk. Minden a blokkon belül definiált változó lokális (helyi) és csak a blokk futása alatt létezik és kaphat értéket. Ha egy korábban már használt változónevet újra deklarálunk, akkor a blokkon belül az új, azon kívül a régi változót érhetjük el. A külön nem definiált változók lokális vagy globális (nem helyi) volta csak a programban korábban végrehajtott utasításoktól függ, ezért ajánlatos a blokkban használt helyi változókat a blokk elején definiálni.

100 CALL P !ez a hivas a P lokalis I-jel valtoztatja,
110 LET I=9
120 CALL P !ez meg a globalis I-t
130 END
200 DEF P
210   LET I=6
220 END DEF

Ha azt akarjuk, hogy mindkét hívás ugyanarra az I-re vonatkozzon, akkor szúrjuk be a következő sort:
90 NUMERIC I

Mivel a lokális változók csak a blokk futása közben foglalnak el helyet a tárból, ezért a tártakarékosság miatt is célszerű lehet használatuk.
A hétköznapi paraméterek csak az értéküket adják át a blokkon belüli változóknak, de az ezekre vonatkozó blokkon belüli utasítások nem tudják az eredeti változókat megváltoztatni. Az ún. referenciaparaméterek értéke is megváltozhat a blokkban. A következő program pl. először a 23-t és csak aztán a 99-t írja ki.

100 DEF CSERE(REF A,REF B)
110   NUMERIC T
120   LET T=A
130   LET A=B
140   LET B=T
150 END DEF
200 LET X=99
210 LET Y=23
220 CALL CSERE(X,Y)
230 PRINT X,Y

A tömböket és a függvényeket mindig REF paraméterként kell átadni. A következő program 66-ot és 0.5-et ír ki.

100 NUMERIC A(10)
110 OPTION ANGLE DEGREES
120 DEF P(REF FN,X)
130   PRINT FN(X)
140 END DEF
150 LET A(2)=66
160 CALL P(A,2)
170 CALL P(SIN,30)

A függvények rekurzívan is hívhatják egymást vagy magukat.

DELETE
DELETE sormeghat TO sormeghat
DELETE sormeghat-sormeghat
DELETE blokknév

Törli a megadott programsorokat. Csak parancsmódban használható. Törli a változókat.
DELETE LAST
DELETE FIRST TO 100
DELETE 1 TO 99,300,500 TO 9999

A TO szócska helyettesíthető a "-" jellel is. Ha valamelyik paramétert elhagyjuk, akkor a program első, ill. utolsó sorát használja helyette a gép. Egy definiált függvényblokk sorait a függvény nevére kiadott DELETE-vel tudunk törölni. Az üres DELETE parancs az egész programot törli.

DIM
DIM tömblista
Szám-vagy karaktertömböket definiál. Az alsó indexhatár alapértelmezése 0. Max. kétdimenziós tömbök megengedettek. A karakterláncok hossza itt nem adható meg, hanem az alapértelmezés szerinti 132-t használja. (L. STRING.) A következő tömbök mind tízelemesek:
DIM a(1 TO 10),FRED$(9),B(-7899 TO -7890)

DISPLAY
DISPLAY £csat: AT a FROM b TO c
Egy grafikus vagy szöveges lap egy részét megjelenítő ablakot definiál. Az ablak első sora a képernyő a-adik sorában lesz, és az ablakban a lap b-edik sorától c-edik soráig terjedő része látható. A sorokat karaktersorban mérjük. (L. még: PRINT.)
DISPLAY GRAPHICS
A felső 20 sort nyitja meg a legutóbb használt grafikus lapnak, ha van már ilyen megnyitva (pl. £101). A szöveglapot nem törli.
DISPLAY TEXT
A teljes képernyőt nyitja meg szöveges lapnak ( £102). A grafikus lapot nem törli. Ha csak kicsi szöveges lap volt eddig nyitva, akkor megnyit egy teljes képernyős lapot.

DO struktúra
do-sor
néhány utasítás vagy blokk
loop-sor

do-sor:
DO
DO WHILE relációs kifejezés
DO UNTIL relációs kifejezés

loop-sor:
LOOP
LOOP WHILE relációs kifejezés
LOOP UNTIL relációs 'kifejezés

A DO és a LOOP sor közti rész a ciklustörzs. A DO és a LOOP nem lehet feltételes sorban. A ciklus belsejébe nem ugorhatunk be kívülről. (L. még: IT DO.)
DO WHILE A>3 AND A<10
LET A=A+1
PRINT A
LOOP

EDIT
EDIT programszám
EDIT "név"

Csak parancsmódban használható. A megadott programot teszi az aktuális programmá, tehát ezután erre vonatkoznak az olyan parancsok, mint pl. a LIST, RENUMBER. (L. még: CHAIN, INFO, PROGRAM.)

ELSE
L.: I F

END
A program logikai végét jelzi, a program futása ennél az utasításnál ér véget. De END DEF, END HANDLER, END IF, END SELECT és END WHEN a nekik megfelelő blokk végét jelzik.

ENVELOPE
ENVELOPE £csat:NUMBER a;b,c,d.e;...
...;RELEASE;j,k,l,m;...

Egy hangburkolót határoz meg, amelyet majd a SOUND utasítás használ. A hangburkolót azonosító "a" számnak 0-254 között kell lennie. A b,c,d,e paraméterek egy hangfázist határoznak meg, ahol "b" a hangmagasság félhangokban,"c" és "d" a bal és a jobb oldali hangszóró hangerejét adja a max. hangerőhöz viszonyítva, végül "e" a fázis időtartama 1/50-ed másodpercekben. A "b" és a "c" 0-63-ig terjedhet. A -63 kikapcsolja a hangot, az értelmes tartományon kívül levő értékek pedig nem változtatják meg. A hangburkoló elején a hang ki van kapcsolva. Mono hallgatáskor a két csatorna összege szól. Egymás után több fázis adható meg, amíg a hangpuffer be nem telik. (L.: SOUND BUFFER a hang opcióknál.)
A RELEASE szó és az azt követő fázisok elhagyhatók. Ezek nem csak akkor szólalnak meg, ha az előttük levők véget értek, hanem ha a SOUND utasításban megadott időtartam lejárt, és nincs ugyanezen a csatornán más következő hang.

EXIT
EXIT DO
EXIT FOR
EXIT DEF

A megfelelő blokkból ugrik ki. A blokkon kívül kiadva hibát okoz.

EXlT HANDLER
Egy rendkívüli esetet kezelő "handler" működését szakítja meg és ezzel újabb rendkívüli esetet okoz, amit vagy a felhasználó által megírt, vagy a beépített handler fog kezelni.

EXT
EXT paraméter-str
A parancsban levő karaktersorozatot adja át a külső programnak, vagy ha ilyen nincs, akkor az operációs rendszernek. Az első szó ezért általában valamilyen parancs vagy egy új program neve szokott lenni. PI. a következő utasítás a szövegszerkesztőbe ugrik a programból.
EXT "WP"
A HELP szó hatása itt különleges, ez ugyanis az összes külső programmal kiíratja a nevét az alapértelmezésnek megfelelő rendszerű csatornára. (L.:DEFAULT CHANNEL.)
Ha a HELP szó után külső program nevét is megadjuk, akkor a program a paramétereit is listázza: EXT"HELPNÉV". Parancsmódban nem az EXT szót kell használnunk, hanem kettőspontot kell a sor elejére írnunk és a karaktersorozat idézőjeleit elhagynunk a parancs használatához:
:HELP
:HELP név

pl.
:HELP BASIC
:HELP WP
:WP

FLUSH
FLUSH £csat
A pufferben levő adatokat küldi ki a csatornára - kiüríti a puffert -anélkül, hogy lezárná a csatornát vagy end-of-file jelet küldene. Csak a lokális hálózat bizonyos eszközeinél használatos. Parancsmódban is kiadható.

FOR
A struktúra:

for sor
néhány utasítás vagy blokk
next sor

for sor:
FOR egyszerű változó=kif TO kif STEP kif
Ha nem adunk meg STEP részt, a lépésköz alapértelmezésben 1.

next sor:
NEXT
NEXT valt

A FOR és a NEXT nem lehet feltételes sorban.
FOR Y=0 TO 10 STEP 2
  PRINT Y
NEXT Y

A ciklusváltozó értéke a ciklus lefutása után a (végérték+ lépésköz) lesz, az előbbi példában 12.
Az egymásba ágyazott ciklusok nem használhatják ugyanazt a ciklusváltozót. A végérték és a lépésköz a ciklus elején tárolódik, így azt a ciklusban már nem lehet megváltoztatni. Tilos a ciklusba kívülről beugrani. (L. még: EXIT FOR.)

GET
GET £csat:str-valt
Egyetlen karaktert olvas be a megadott csatornáról. Ha nincs a csatornában karakter, akkor üres karaktersorozatot ad vissza. A csatorna alapértelmezése a 105 (KEYBOARD:, billentyűzet), így hatása hasonló a "LET str-változó=INKEY$"-hoz.

GOSUB
GOSUB sorszám
Meghívja a megadott sorral kezdődő programrészletet (szubrutint).

GOTO
GOTO sorszám
A program végrehajtása a megadott sornál folytatódik.

GRAPHICS
GRAPHICS
GRAPHICS HIRES/LORES színállapot szám
GRAPHICS ATTRIBUTE

A GRAPHICS parancs lezárja és újra megnyitja az alapértelmezés szerinti grafikus és szöveges-lapokat (£101, £102) úgy, hogy a képernyő felső húsz sorát rendeli a grafikus laphoz.
A lehetséges színállapot számok a 2,4,16 és a 256. Ha sem ezt, sem a HIRES/LORES opciók egyikét nem adjuk meg, akkor az előző GRAPHICS parancs paramétereit használja újra a gép. A paraméterek jelentését a VIDEO MODE pontnál találhatjuk a Videofeltételek alfejezetben. Alapértelmezésben a GRAPHICS nagyfelbontású (HIRES) képernyőt nyit 4 színnel.
GRAPHICS ATTRIBUTE az ún. attributum-üzemmódba juttatja a grafikus lapot, ahol minden színcellának (8 pont széles és 1 pont magas) egy-egy tinta-, ill. papírszín felel meg. Ez az üzemmód 16 színű palettával még ugyanazt a felbontást adja, mint a négyszínes HIRES grafika. (Ilyenkor a felbontást és a színállapot számot nem mi adjuk meg.) Az ilyen lapra írni és rajzolni is tudunk. (L. még: ATTRIBUTES video opció és a DIPLAY GRAHICS parancs.)

HANDLER
HANDLER handler-név
handler utasításook
END HANDLER

A handler blokkok -továbbiakban megszakításkezelők- az olyan különleges problémákat kezelik a program futása során, mint a hibák, a CAUSE EXCEPTION utasítások által, ill. a gép által generált megszakítások. Az ilyen eseményekkor használandó megszakításkezelő nevét a WHEN blokk fejlécében adhatjuk meg. (L. még: CONTINUE, RETRY, EXIT HANDLER utasítások és az EXLINE, ill. EXTYPE függvények.) A megszakításkezelők nem hívhatók meg GOSUB vagy GOTO utasítással, csak a CAUSE EXCEPTION-nal.
Ha a blokk végrehajtása közben újabb megszakítás következik be, akkor a következő külső megszakításkezelőé a vezérlés - hasonlóan az EXIT HANDLER utasítás hatásához -, de az EXLINE és az EXTYPE értéke természetesen megváltozik. Külső megszakításkezelő az, amelyiket a jelenlegi WHEN blokkot tartalmazó WHEN blokkban jelöltünk ki.

IF
IF relációs-kifejezés THEN sorszám
IF relációs-kifejezés THEN egyszerű utasítás

Az IF utasítás sorában nem lehetnek a következő utasítások: DATA, DEF, END, DIM, NUMERIC, STRING, egy másik IF vagy bármely olyan utasítás, amihez blokk tartozik.
IF A>=3 AND A<=-9 THEN 100
IF A>=3 THEN GOTO 100

A másik if-struktúra az if-then-else-end elágazási rendszer:

if sor
utasítások vagy blokkok
else if sor
utasítások vagy blokkok
else sor - (nem kötelező)
utasítások vagy blokkok
end if sor

if sor:
IF relációs kifejezés THEN

else if sor:
ELSE IF relációs kifejezés THEN

Az else if ágból több is lehet egymás után.

else sor:
ELSE

end if sor:
END IF

Az ilyen if blokkok bármilyen, programban végrehajtható utasítást tartalmazhatnak. A blokk belsejébe nem ugorhatunk be kívülről, csak az if soron keresztül.
IF A<10 THEN
  PRINT A
ELSE IF A>30 AND A<=40 OR A>50 THEN
  PRINT A+100
ELSE
  PRINT B
END IF

IMAGE
IMAGE: formátummegadás
A PRINT utasításokkal kapcsolatban a kiírási formát irányítja. A formátum megadás a következő vezérlőkarakterekből állhat:

,
- írj vesszőt a számba
$
- írj vezető dollárjelet az előjel elé
-
- írj vezető szóközt vagy - előjelet
+
- írj + vagy - előjelet
%
- írj egy számjegyet, vezető nullákat is
£
- írj egy számjegyet, vezető nullákat elhagyva
*
- írj egy számjegyet vagy egy vezető * jelet
.
- írj decimális pontot
^
írd ki az exponenst, minimum négy karakteren

Ha a szám nem felel meg a formátumnak, akkor ez hibaüzenetet okoz. Karaktersorozat formátum karakterek:

<
- A £ jelekkel megadott mezőben levő karaktersorozat balra igazítása
>
- Ugyanennek jobbra illesztése
£
- írj ki egy karaktert

Az illesztést meghatározó karakternek a mező előtt kell állnia, ha nem adjuk meg, akkor a mező tartalma középre állítódik. Az IMAGE utasításban a formátum meghatározás a : jeltől kezdve a sor utolsó karakteréig tart.

INFO
Információt ír ki a képernyőre a tár foglaltságáról és a tárban levő programokról. Törli a változókat. Csak parancsmódban használható. Az információ formája:
programszám programméret a program első sora

INPUT
INPUT £csat, IF MISSING sorszám, AT sorszám-kif, oszlopszám-kif, PROMPT str: valt-lista
Adatokat olvas a megadott csatornáról a változókba. Alapértelmezés a 0 csatorna (EDITOR:). A változólista elemei között vesszőknek kell állniuk. Az INPUT kulcsszón és a változólistán kívül minden más elhagyható.
A PROMPT után megadott karaktersorozat az alapértelmezésként használt ?" jelet váltja fel. Az AT után megadott sor-, ill. oszlopszám független a PROMPT résztől. Az IF MISSING-ben meghatározott tevékenységre akkor jut a vezérlés, ha a csatornán end-of-file (adatvég) jel vagy hibás típusú adat érkezik. (L. még: LINE INPUT.)

LET
LET változólista = kifejezés
Értékadó utasítás. Ha a változó neve nem kulcsszó, akkor a LET elhagyható, de a program listázásakor a számítógép automatikusan kiírja. Parancsmódban is használható. Egyszerre több változó is kaphat értéket:
LET a,b(4),c=0
A.VAR=A.VAR+1
A$,FRED$="Azt mondja, "&FRED$(i:j)
LET INPUT=3

LINE INPUT
Hasonló az INPUT-hoz, de ezzel csak karaktersorozatokba lehet beolvasni, és egy teljes sort egyetlen karakterláncba olvas be.

LIST
LIST £csat:sor-meghat TO sor-meghat
LIST £csat:sor-meghat - sor-meghat
LIST blokknév

A programot vagy annak egy részét listázza ki alapértelmezésben a 0 csatornára. A STOP billentyűvel megszakítható, a PAUSE-vel pedig felfüggeszthető. A TO kulcsszó helyettesíthető a - jellel. Ha valamelyik sorszámot elhagyjuk, hatása hasonló a DELETE utasításnál leírtakhoz.
LIST 300
LIST 300 TO 400
LIST FIRST TO 900,1000,2000 TO LAST
LIST TO 500,700 TO
LIST Eljaras
LIST LAST
LIST FIRST-100,500-LAST
LIST FIRST TO 100,500 TO LAST

LLIST
Hasonló a LIST-hez, de az alapértelmezés ennél a 104 (PRINTER:) csatorna.

LOAD
LOAD #csat:file-név
LOAD eszköznév

Az adott csatornáról olvas be egy file-t, alapértelmezés itt a 106 csatorna (lemez vagy magnetofon). Ha nem adunk meg lile-nevet, akkor az első file-t olvassa be. Ha a file BASIC programot tartalmaz, akkor az aktuális program helyére tölti be, ha egyszerre több programot tartalmaz, akkor az összes korábbi programot törli, és helyettük beírja az újakat, majd a nullás programot választja aktuálisnak. A file más adatokat, ill. különleges (pl. gépi kódú) programokat is tartalmazhat, ezeket az operációs rendszer kezeli. Törli a változókat. Csak parancsmódban adható ki, programutasításként azonos hatású a RUN-nal. Az eszköznevet és a lile-nevet az OPEN parancsnál ismertetjük részletesen.

LOOK
LOOK £csat,AT x,y:v
A v változóba tölti az x,y pont színének palettaszámát. A csatorna alapértelmezése a standard grafikus csatorna. Ha nem adunk meg pozíciót, akkor a rajzolósugár aktuális helyét - továbbiakban rajzolópont - használja helyette. Ha megadunk egy pozíciót, akkor a rajzolósugár kikapcsolódik, és a rajzolópont új helye a megadott lesz. Ha szöveges képernyőn használjuk, nem használhatjuk a kurzor pozícionálására az AT paramétert, ezt az utasítás kiadása előtt a PRINT £csat,AT x,y:; utasítással kell elvégezni.

LOOP
L.: DO

LPRINT
Hasonló a PRINT-hez, csak az alapértelmezés itt a 104 csatorna (PRINTER:).

MERGE
Hasonló a LOAD-hoz, de nem törli a korábbi programokat. Az új program(-ok) sorai felülírhatják a régieket. Csak parancsmódban alkalmazható. Törli a változókat.

NEW
Törli az aktuális programot. Csak parancsmódban használható. Törli a változókat.

NEW ALL
Az összes programot törli a tárból és a 0-ás szintet teszi aktuálissá.

NEXT
L.: FOR

NUMERIC
NUMERIC vált/tömb-lista
Szám típusú változók és tömbök deklarálására alkalmazható, amelyek egy DEF blokkon belül lokálisak lehetnek. Az alsó indexhatár alapértéke 0. L.: DIM
NUMERIC i,a(10),b(-10 TO 20,2 TO 4)

ON
ON kif GOTO sorszám-lista
ON kif GOSUB sorszám-lista

Kiszámítja a kifejezés értékét és egésszé alakítja át. Ha a kifejezés értéke N akkor a sorszámlistából az N-edik sorszámot véve ott folytatja a programot (a számlálás 1-től kezdődik). Ha a listában nincs N-edik elem, akkor az utasításnak nincs hatása. Ennél célszerűbb a SELECT vagy az IF utasítás használata.
ON A + 2 GOTO 100,200,300,400,99,700

OPEN
OPEN £csat:NAME eszköz/file-név ACCESS mód
OPEN £csat:eszköz/file-név

Az ACCESS után megadott mód (elérési mód) lehet INPUT vagy OUTPUT. OUTPUT hatására új file-t nyit meg, INPUT hatására egy már meglevőt próbál használni, az alapértelmezés itt INPUT.
A parancs egy eszközt vagy file-t és egy csatornát rendel egymáshoz, úgy, hogy ettől kezdve a különböző parancsok a csatornára hivatkozva tudnak a file-ba írni vagy onnan olvasni. Egy csatornához egyszerre csak egy eszköz, ill. file rendelhető. Az egymáshoz rendelési viszonyt a CLOSE paranccsal szüntethetjük meg. A csatornák számozása 0-254 közötti, a 255 csatorna nem használható csak egyes utasítások különleges alkalmazásaira. A BASIC rendszer a következő csatornákat használja alapértelmezésben:

A 100-254 csatornák csak külön utasítással zárhatók le, az 1-99 csatornákat minden olyan parancs lezárja, amelyik törli a változókat. Ha a BASIC rendszer valamelyik alapértelmezésben használt csatornája zárva van, akkor az összes csatornát lezárva (0-254) az alapértelmezés szerintieket újra megnyitja. Amennyiben ez nem sikerül, a gép villogtatni kezdi a bordert, és mindaddig áll, míg újra nem indítjuk (RESET).
Az eszközök nevét a végükön álló kettőspontról ismeri fel a rendszer. Ha több azonos nevű eszköz is van, akkor ezeket egymástól számokkal lehet megkülönböztetni, pl. "DISK-1:" és "DISK-2:". A lehetséges eszköznevek:

A géphez csatolt többi eszköznek ezektől eltérő nevűnek kell lennie. A legtöbb esetben elég egy eszköz nevét megadni az OPEN utasításban, csak a file szervezésű adatforgalomnál kell file-nevet is kijelölni. A teljes file-név szerkezete a következő:
eszköz-n:név
- eszköz: elhagyható, ilyenkor a rendszer automatikusan jelöl ki, ha nincs lemezegység csatolva, akkor a "TAPE:"-t.
- n: az egység száma, ha van. Ha elhagyjuk, alapértelmezése 1.
- név: a file azonosítója az egységen belül. A BASIC azonosítókra vonatkozó szabályok erre is érvényesek, azzal a különbséggel, hogy a rendszer csak az első 28 karaktert veszi figyelembe.
Ha a teljes file-névből kifelejtjük a kettőspontot, akkor a gép azt hiszi, hogy nem adtunk meg eszközt, így pl. a "SOUND" egy file a "TAPE-1:" egységen, a "SOUND:" pedig a hanggenerátor.
A "TAPE:" és a "DISK:" egységek kivételével a többi eszköz esetén a rendszer nem veszi figyelembe a "név" mezőt, annak tartalma hatástalan. Egyes utasításokban mind a csatornát, mind a file-nevet megadhatjuk, ilyen pl. a LOAD, SAVE.

OPTION
OPTION ANGLE DEGREES/RADIANS
A szögek megadásának módját választja ki: DEGREES fokban, RADIAN; radiánban. Alapértelmezés: radián.

OUT
OUT n,a
Az "a" byte-ot írja ki az "n"-edik portra.

PING
Billentyűhangot ad ki.

PLOT
PLOT £csat:pontlista
PLOT £csat:ANGLE kif
PLOT £csat:FORWARD/BACK kif
PLOT £csat:LEFT/RIGHT kif
PLOT £csat:ELLIPSE kif,kif
PLOT £csat:PAINT

A pontlistát tartalmazó PLOT utasítás pontokat és/vagy vonalakat rajzol a képernyőre. Ha az utasítás végén pontosvessző áll, akkor a parancs végrehajtása után a rajzolósugár bekapcsolva marad, ha valami más, akkor nem. Ha tehát a rajzolósugár be van, kapcsolva és mi a sugarat az aktuális helyéről a "PLOT x,y" utasítással egy másik pontba mozdítjuk el, akkor a sugár nyomot hagy a képernyőn és vonalat rajzol a két pont közé. Az utasítás végére pontosvesszőt téve ("PLOT x,y;") a sugár bekapcsolva marad, így további vonalakat tudunk folytatólagosan húzni. A "PLOT x1,y1; x2,y2;..." utasítás az x1,y1 és az x2,y2 pont közé húz vonalat, amelyet folytatni is lehet, mivel a sugár bekapcsolva marad. Rajzolni mindig az aktuális tintaszínnel (INK) lehet a "LINE STYLE", ill. a "LINE MODE" feltételeknek megfelelően. L.: videofeltételek.
A PLOT utasítás a grafikus koordinátákat használja, tehát a (0,0) pont a képernyő bal alsó sarkában van és az első szám a vízszintes, a második pedig a függőleges távolságát jelenti e (0,0) ponttól.
Az ELLIPSE segítségével ellipszist rajzolhatunk, amelynek középpontja az aktuális rajzolópontban lesz, a kontúr távolságát vízszintes irányban az első, függőlegesen pedig a második paraméter adja meg. Ha nem akarjuk, hogy az ellipszis közepén levő pont is megjelenjen a képernyőn, akkor rajzolás előtt kapcsoljuk ki a rajzolósugarat.
A PAINT feltétellel egy zárt alakzatot tudunk kiszínezni az aktuális tintaszínnel. Az alakzat határát onnan ismeri fel a számítógép, hogy az ott levő pontok színe különbözik a rajzolópont kiindulási helyének eredeti színétől. Ha
tehát a rajzolópont helyén a képernyő színe éppen a tintaszín, akkor nem történik semmi, mert a gép azt hiszi, hogy máris elérte az alakzat határát.
A PLOT parancs alapértelmezésben a 101-es csatornát használja.

POKE
POKE cím,érték
A megadott értéket helyezi el a kijelölt tárcímre.

PRINT
PRINT £csat, AT sorszám-kif,oszlopszám-kif:adatlista
PRINT £csat,USING sorszám:adatlista
PRINT £csat,USING formátumleírás:adatlista

Az adatlista eleme kifejezés vagy a TAB kulcsszó és az utána zárójelek között álló oszlopszám lehet. Az elemeket vesszők vagy pontosvesszők választják el. A kettő között az a különbség, hogy a vessző hatására a következő elem kiírását mindig a következő tabulátorpozíciónál kezdi, a pontosvessző esetén pedig közvetlenül az előző mező után (I. korábban: vonalzósor). A TAB hatására a kurzor a megadott oszlopra ugrik és ott folytatódik a kiírás. Az adatlista végén álló vessző vagy pontosvessző hatására nem generálódik sorvége jel az utasítás végén, így a kiírás ugyanabban a sorban folytatható. Parancsmódban is használható.
Az AT feltétellel a kurzor a kívánt helyre állítható, ilyenkor a szöveges koordináta-rendszert kell használni, amelynek a kiindulópontja a képernyő bal felső sarkában van és első paramétere a sorszámot, a második az oszlopszámot jelöli. A "PRINT AT 2,15: a$" tehát a második sor tizenötödik oszlopától kezdve írja ki az a$ tartalmát.
A USING feltétellel a kiírás formáját határozhatjuk meg vagy egy IMAGE utasításra mutató sorszám, vagy egy az ottanihoz hasonló formátumleíró lista megadásával.
Az utasítás alapértelmezésben a 102-es csatornára ír.

PROGRAM
PROGRAM név (változólista)
Az aktuális program nevét adja meg, amit később a CHAIN vagy a SAVE utasításban majd használhatunk. A változólistán keresztül az egyes programok paramétereket adhatnak át egymásnak. (L. még: CHAIN, EDIT.)

RANDOMIZE
A véletlenszám-generátor kiindulóértékét változtatja meg, enélkül ugyanis az egyes lefuttatások alkalmával mindig ugyanazokat a számokat állítaná elő.

READ
READ változólista
READ IF MISSING sorszám:változólista
READ IF MISSING EXIT DO:változólista

A DATA utasítással tárolt adatokat olvassuk be a változókba. Ha az adatok elfogyása után is olvasni akarunk, akkor az IF MISSING után meghatározott tevékenységet hajtja végre a gép.

REDIRECT
REDIRECT FROM £csat TO £csat
Az első csatornáról beolvasott adatokat írja ki a második csatornára, addig, amíg adatvége jel nem érkezik, hiba nem következik be, vagy le nem ütjük a STOP billentyűt. A tevékenységet úgy tudjuk kikapcsolni, hogy ugyanezt a parancsot adjuk ki, de a második csatorna helyett a 255 csatornára hivatkozunk.

REM
A megjegyzéssorokat jelöli, utána legalább egy szóköznek kell állnia. Helyettesíthető a "!" jellel.

RENUMBER
RENUMBER sormeghatározás TO sormeghatározás AT kif STEP kif
RENUMBER blokknév AT kif STEP kif

A programnak, ill. egyes részeinek az újrasorszámozására alkalmas, csak parancsmódban alkalmazható. A STEP vagy az AT paramétert elhagyva, a kezdő sorszám 100, a lépésköz 10 lesz. Sortartomány megadása nélkül az egész programot újrasorszámozza. Az átsorszámozandó blokkot DEF vagy HANDLER blokk esetén a nevével is megadhatjuk. Egyéb tekintetben a sorszámtartomány megadására ugyanazok a szabályok vonatkoznak, mint a DELETE utasításra.
A programban levő valamennyi sorszámhivatkozást módosítja az új sorszámoknak megfelelően. A parancs hatására azonban a program sorainak sorrendje nem módosulhat. Az átsorszámozott sorok nem írhatják fölül és nem vehetik körbe a régieket, nem kerülhetnek a programon belül új helyre és természetesen sorszámuk nem haladhatja meg a lehetséges legnagyobb értéket (9999). Ilyen esetekben a gép nem hajtja végre a parancsot, a program változatlan marad.

RESTORE
RESTORE
RESTORE sorszám

A következő READ utasítás által olvasandó DATA adatsor sorszámát adja meg. Ha a paraméter hiányzik, akkor a program első DATA utasítására vonatkozik.

RETRY
A megszakításkezelő (HANDLER) rutinból visszatér arra az utasításra, aminek végrehajtása közben a megszakítás bekövetkezett. (L.: CONTINUE.) A STOP billentyűt elfogó megszakításkezelö ezzel tér vissza a megfelelő utasításra.
Az utasítás nem megengedett parancs IF... THEN szerkezetben, de IF utasításcsoportban igen:
IF ... THEN
RETRY
END IF

RETURN
A GOSUB-bal hívott programrészletből való visszatérésre szolgál.

RUN
RUN (paraméterlista)
RUN sorszám
RUN £csat:file-név(paraméterlista)
RUN eszköz(paraméterlista)

Az önmagában álló RUN a programot a legelső sorától kezdi lefuttatni. Más sorszámmal a belépési pontot tudjuk módosítani. Valamilyen file-nevet megadva az ilyen nevű file-ban levő programot tudjuk betölteni és lefuttatni. A paramétereknek a PROGRAM utasításban megadottakkal illeszkedőeknek kell lenniük. (L: PROGRAM.) Törli a változókat.

SAVE
SAVE £csat file-név
SAVE eszköznév
SAVE ALL £csat:file-név

Az aktuális, ill. az ALL kiterjesztést megadva az összes programot a megadható eszközre, ill. csatornára lehet menteni (alapértelmezés: £106) a szintén nem kötelezően megadandó file-névvel. File-név nélkül a korábban a PROGRAM utasításban kijelölt nevet használja. A programokat kódolt formában menti ki, ha ASCII karakterekkel akarjuk kiíratni, akkor használjuk a LIST £csat:file-név utasítást. Csak parancsmódban használható.

SELECT
A struktúra:

select sor
case sor
   utasítások vagy blokkok
end select sor

A case sor és a hozzá tartozó utasítások többször is ismétlődhetnek.

select sor:
SELECT CASE kif

case sor:
CASE kif
CASE kif TO kif
CASE IS relop kif
CASE ELSE

end select sor:
END SELECT

A select struktúrában megvizsgáljuk egy változó, ill. kifejezés értékét, és aszerint, hogy a vizsgálat eredménye igaz vagy hamis, haladunk tovább egyes programágakon. A megvizsgálandó változót, ill. kifejezést a select sorban adjuk meg, az itt levő CASE kulcsszó elhagyható, kivéve, ha a kifejezés éppen a CASE azonosítóval kezdődik:
SELECT CASE CASE+23
Az egyes ágakat a sorszámok sorrendjében vizsgáljuk meg, a CASE ELSE ág után nincs értelme továbbiakat írni, mert ezeket úgysem hajtja végre a program. Több CASE feltétel egyetlen sorba is összevonható, egymástól vesszővel elválasztva.

SELECT CASE N
CASE 1
  PRINT "első"
CASE 2 TO 9,11,21
  PRINT "valami más"
CASE IS<=A+20
  PRINT "ez is más"
CASE ELSE
  PRINT "maradék"
END SELECT

A CASE ELSE sor csak egyszer fordulhat elő, és utolsónak kell lennie. A SELECT blokkokba tilos kívülről ugrani.

SET
A különböző gépi feltételek állíthatók be vele. (L.: gépi, video-, hangfeltételek, ASK, TOGGLE.)

SOUND
SOUND £csat:PITCH kif, DURATION kif, LEFT kif, RIGHT kif, SOURCE kif, STYLE kif, ENVELOPE kif, SYNC kif, INTERRUPT
A hanggenerátor irányítására szolgál. A paraméterek sorrendje nem lényeges.
A PITCH után álló szám 0-127 közötti lehet, de csak a 0-83 tartomány használatos. Itt a hang magasságát adja meg félhangokban. A középső C-nek a 37 felel meg, ez egyben az alapérték is.
A DURATION a hang időtartamát adja meg, 1/50 másodpercben, az alapértéke 50.
A LEFT és a RIGHT a bal és a jobb oldali hangszóró hangerejét jelöli ki a lehetséges maximumhoz viszonyítva (0 = csend, 255 = teljes hangerő). Mono eszköznél a két csatorna hangereje összeadódik.
A SOURCE a felhasználandó hanggenerátort adja meg (0-3). A 3 a zajgenerátor, ennek alkalmazásakor a hangmagasság paraméterét figyelmen kívül kell hagyni. Alapértelmezés: 0.
A STYLE (0-255, alapérték: 0) jelentését a hang feltételeknél ismertetjük majd.
Az ENVELOPE a használandó hangtár számát határozza meg, alapértét a 255, a beépített hangtár. (L.: ENVELOPE utasítás.)
A SYNC segítségével különböző hanggenerátorokat tudunk szinkronizálni. Ha pl. három hangot akarunk egyszerre indítani, akkor mindegyik hangfeltételei között meg kell adjuk a SYNC 2-t. Alapérték: 0.
Az INTERRUPT hatására valamennyi más hangforrásból származó hang megszakad, és az új hang szólal meg.

SPOKE
SPOKE szegmens, cím, érték

Hasonló a POKE-hoz, csak ez szegmens- és ofszetcímet ad meg.

START
Beolvassa és elindítja az első programot a 106 csatornáról. Ha már van program a tárban, akkor hatása azonos a RUN-éval.

STOP
Megszakítja a program futását, folytatni a CONTINUE paranccsal lehet.

STRIRIG
STRING*n vált/tömb-lista*n
A karaktersorozat típusú változókat deklarálja, alapértelmezésben 132 karakter max. hosszúságot megadva. A kulcsszót követő csillag utáni számmal az összes itt deklarált változóra más hosszúságadatot adhatunk meg, a nevet követő csillag után csak arra az egy változóra vonatkozót. Mindkét megoldás elhagyható. A tömbindex alsó határértékének alapértéke 0.
STRING*8 nev$*20, cim$*40, jel
STRING tomb$(4 TO 99)*10

A "nev" hossza 20, a "cim"-é 40, a "jel"-é pedig 8 karakter lehet. A "tomb-nek 96 darab 10 karakteres eleme van.

TEXT
TEXT
TEXT 40
TEXT 80

Az állapotjelző sor kivételével a teljes képernyőre nyit meg egy szöveges lapot és lezárja a korábban megnyitott grafikus lapokat. A paraméter az egy sorban levő karakterek számát adja meg, hiánya esetén az előző értéket használja újra.

THEN
L. IF

TIME
TIME "oo:pp:mm"
A gép belső óráját állítja be. Parancsmódban is használható. (L. még: TIME$ függvény, WAIT DELAY parancs, TIMER gépi feltétel.) PI. a délután fél ötöt a következő módon állítom be:
TIME "16:30:00"

TOGGLE
A kétértékű gépi feltételek átkapcsolására szolgál. (L. még: gépi, video, hang feltételek, SET, ASK.)

TRACE
TRACE ON TO £csat
TRACE OFF

Az éppen végrehajtott utasítás sorszámát írja ki a megadott csatornára, annak hiányában a 0 csatornára. A TRACE OFF kikapcsolja ezt a nyomkövetést.

TYPE
A szövegszerkesztőt hívja meg a BASIC-ből, de előtte még egy ENTER-rel meg kell erősítenünk a parancsot, nehogy véletlenül töröljük a programunkat. Az utasítás ugyanis törli az összes programot és változót a tárból.

VERIFY
VERIFY £csat file-név
A korábban mentett programot ellenőrzi, beolvassa a programot és összehasonlítja az aktuális programmal. Ha eltérést talál, hibát jelez. Alapértelmezés a 106 csatorna. Csak parancsmódban használható.

WAIT DELAY
WAIT DELAY kif
A kifejezésben megadott számú másodpercig felfüggeszti a program futását. Max. érték: 32767. (L. még: TIMER gépi feltétel.) A DELAY szó elhagyható. A következő utasítás egy percre állítja meg a programot:
WAIT DELAY 60

WHEN
A struktúra:
WHEN EXCEPTION USE megszakításkezelő
utasítások
END WHEN

A blokkon belül bekövetkező megszakításokat, hibákat, különleges eseteket kezelő rutint határozza meg. A WHEN blokkok egymásba ágyazhatók. (I HANDLER.)

GÉPI FELTÉTELEK
A legtöbb rendszerváltozót és gépi eljárást közvetlenül irányíthatjuk BASIC nyelven. Egy-egy ilyen feltétel beállítását a SET utasítással, értékének lekérdezését az ASK utasítással, átkapcsolását pedig a TOGGLE utasítással érhetjük el.

DEFAULT CHANNEL
SET DEFAULT CHANNEL kif
Az alapértelmezés szerinti rendszercsatorna számát lehet vele beállítani Ezt a csatornát használják a rendszer eljárásai a felhasználóval való kommunikációra. Ezen a csatornán keresztül válaszolnak az egyes programok a HELP hívásra. Induláskor a rendszer a 0 csatornát jelöli ki.
A változó azt adja meg, hogy a 255-ös csatornára történő írást, melyik csatornára küldje a rendszer. Ezt a 255-ös csatornát kell használnia például a rendszerbővítőknek. A SET DEFAULT CHANNEL 101 utasítás után például a HELP vagy a DIR a grafikus lapra fog írni.

EDITOR BUFFER
SET EDITOR BUFFER kif
Az editor pufferjének a méretét adja meg 256 byte-os lapokban. Használható az ASK.

EDITOR KEY
SET EDITOR KEY csat
Az ezzel kijelölt csatornán keresztül olvassa az editor a billentyűzetet. (KEYBOARD:) Használható az ASK.

EDITOR VIDEO
SET EDITOR VIDEO csat
Ezen a csatornán keresztül ír az editor a képernyőre. (VIDEO:) Használható az ASK.

FAST SAVE
SET FAST SAVE ON/OFF
A szalagra vétel sebességét állítja be. A gyors felvétel kb. 2400 baud, a lassú ennek a fele. Betöltéskor a megfelelő sebesség automatikusan beáll. Használható a TOGGLE.

FKEY
SET #csat:FKEY bill.szám str
A funkcióbillentyűk hatására megjelenő karaktersorozatokat állítja be. A csatorna alapértelmezése: # 105.
A funkcióbillentyűk 1-16-ig számozódnak, 1-8 önmagukban, 9-16 a SHIFT-tel együtt lenyomva. A rendszer által eredetileg beállított jelentéseket a CLEAR FKEYS paranccsal állíthatjuk vissza. Az utasításvégi automatikus ENTER-t a CHR$(13)-mal érhetjük el.

INTERRUPT
ASK INTERRUPT CODE vált
A legutolsó szoftver megszakítás kódját kérdezi le.
SET INTERRUPT KEY ON/OFF
Bekapcsoláskor minden billentyű leütése szoftver megszakítást okoz. Használható a TOGGLE.
SET INTERRUPT NET ON/OFF
Bekapcsoláskor a lokális hálózatról érkező adatok szoftver megszakítást okoznak.
SET INTERRUPT STOP ON/OFF
A STOP billentyű hatására bekövetkező szoftver megszakítást kapcsolja be, ill. ki. Használható a TOGGLE.

KEY CLICK
SET KEY CLICK ON/OFF
Bekapcsolt állapotban a billentyűk lenyomását rövid hanggal jelzi a gép. Használható a TOGGLE.

KEY DELAY
SET KEY DELAY kif
Azt az időt állítja be - 1/50 másodpercekben mérve -, ameddig egy billentyűt lenyomva kell tartanunk ahhoz, hogy a gép elkezdje automatikusan ismételni. Használható az ASK.

KEY RATE
SET KEY RATE kif
Beállítja, hogy az automatikus ismétlés során az egyes billentyűk mekkora időközökkel ismétlődjenek. Mértékegysége 1/50 másodperc. Használható az ASK.

NET CHANNEL
ASK NET CHANNEL vált
Annak a csatornának a számát adja vissza, amelyiken a pufferben levő olvasásra váró adat érkezett. Ha az első byte-ot beolvassuk, akkor a NET CHANNEL értéke automatikusan átáll a következő olyan csatorna számára, amelyik adatot szeretne nekünk átadni. Ha nincs több ilyen csatorna, akkor a 255 értéket veszi fel.

NET MACHINE
ASK NET MACHINE vált
A NET CHANNEL-lel együtt kap értéket és annak a gépnek a hálózatbeli számát adja vissza, amelyik az adatot küldte. Ez különösen fontos, ha az adat az általános (NET-0:) csatornán érkezett.

NET NUMBER
SET NET NUMBER kif
A saját gépünk hálózatbeli számát állítja be. Eredeti értéke 0, ami hibát okoz, ezért a hálózat használata előtt be kell állítanunk egy 1-32 közötti, még szabad értékre.

REM1
SET REM1 ON/OFF
Az 1. távvezérlő kimenetet állítja át. (A magnetofont kezelő utasítások automatikusan állítják.)

REM2
SET REM2 ON/OFF
Ugyanaz, csak a REM2 kimenetre.

SERIAL BAUD
SET SERIAL BAUD kif
A kifejezés (0-15) a soros kimenet (RS232) és a lokális hálózat sebességét állítja be. Használható az ASK. A kódok:

0- 50 (baud) 8- 1200
1- 759- 1800
2- 11010- 2400
3- 134,511- 3600
4- 15012- 4800
5- 20013- 7200
6- 30014- 9600
7- 60015- 9600
Alapérték: 15 (9600 baud)

SERIAL FORMAT
SET SERIAL FORMAT kif
A soros meghajtó által használt formátumot állítja be az egyes biteken keresztül. A 3-nál magasabb helyiértékű biteknek 0-nak kell lenniük. Alapértelmezés: 8 bit, paritás nélkül, 2 stop-bit. Ügyeljünk arra, hogy a lokális hálózat használata mindig az alapértelmezést állítja vissza. A bitek jelentése:

BIT
ÉRTÉK
HATÁS
0
0
8 bit
 
1
7 bit
1
0
nincs paritás
 
1
van paritás
2
0
páros paritás
 
1
páratlan paritás
3
0
két stop bit
 
1
egy stop bit

STATUS
SET STATUS ON/OFF
A képernyő tetején levő állapotjelző sor kiírását kapcsolja be/ki. Használható a TOGGLE.

TAPE LEVEL
SET TAPE LEVEL kif
A magnetofonkimenet jelszintjét állítja be. A kifejezés az 1-6 tartományban használatos, itt minden szint az előzőnek a kétszeresét jelenti, és az 1 szint kb. 40mV-nak felel meg. Alapértelmezés: 2.

TAPE PROTECT
SET TAPE PROTECT ON/OFF
Egy jelzőt állít a magnós fejlécben. Ha ez a jelző bekapcsolt állapotban van a kimentett file fejlécében, akkor a file másolásvédett, vagyis az EXOS nem enged megnyitni egyszerre két csatornát a TAPE: eszköz számára írásra, olvasásra. Ha a jelző nulla (vagyis alapértelmezés szerinti), akkor a file nem másolásvédett. Használható a TOGGLE.

TAPE SOUND
SET TAPE SOUND ON/OFF
A kazettás bemenetről jövő jeleknek a beépített hangszóróra és a HI-FI kimenetre való vezérlését kapcsolja be/ki. Használható a TOGGLE.

TIMER
SET TIMER kif
Olyan órát indít el visszafelé, amely a nullát elérve szoftver megszakítást generál. A kifejezés a beállítandó időt adja meg másodpercben, maximuma 255. A 0 érték beállításakor az óra kikapcsol. A nullát elérve az óra mindig automatikusan megáll és újra el kell indítanunk.
Az ilyen megszakításkor az EXTYPE értéke 9229, az INTERRUPT CODE 64 lesz.

VARIABLE
SET vált-szám,kif
ASK vált-szám vált
TOGGLE vált-szám

Az operációs rendszer megfelelő sorszámú változójára végzi el a műveletet, Ezekről részletes leírást ez a könyv nem tartalmaz, csupán az operációs rendszernél ismertetjük röviden.

VIDEOFELTÉTELEK
Ezekkel a feltételekkel a "VIDEO:" működését tudjuk irányítani. Ez az eszköz egyszerre több videolapot kezelhet, de leggyakrabban a standard szöveges (102), ill. a grafikus (101) lapot használjuk, amit általában nem is kell külön jelölnünk az egyes parancsoknál. A feltételek használata során a COLOUR szó helyett bármikor használhatjuk a COLOR szót.

ATTRIBUTES
SET ATTRIBUTES kif
Speciális jelzőkkel irányítja az "attributum video mód" működését (I. VIDEO MODE 15). Az egyes jelzőértékek a következőek:

1
- rajzolás papírszínnel (0)
2
- rajzolás a képpontok megváltoztatása nélkül
4
- rajzolás a tintaszínek megváltoztatása nélkül
8
- rajzolás a papírszínek megváltoztatása nélkül
16
- írás papírszínnel
32
- írás a képpontok megváltoztatása nélkül
64
- írás a tintaszínek megváltoztatása nélkül
128
- írás a papírszínek megváltoztatása nélkül

A kívánt szolgáltatások jelzőértékeit össze kell adni, és az összeget be kell írni a feltételbe. Alapértelmezés: 0.

BEAM
SET £csat:BEAM ON/OFF
A rajzolósugarat lehet vele be/ki kapcsolni. Kikapcsolt állapotban a sugár mozgatása nem hagy nyomot a képernyőn. A csatornaszám alapértelmezése: 101.

BIAS
SET £csat:BIAS színkód
A paletta felső nyolc színét (8-15) állíthatjuk be vele. A lehetséges 256 szín 32 db nyolcas csoportba van osztva, egy csoport bármelyik színének a kódját megadva, a csoport színei kerülnek a paletta felső részére. A színt az RGB függvénnyel is megadhatjuk. A csatorna alapértelmezése 101, azonban a BIAS valamennyi lapra kifejti hatását.

BORDER
SET £csat:BORDER színkód
A képernyő peremének színét állítja be. A csatorna alapértelmezése: 101.


CHARACTER
SET £csat:CHARACTER n,a,b,c,d,e,f,g,h,i
Az "n" kódú (ASCII) karakter alakját határozza meg. Minden további paraméter az alak egy-egy sorát adja, felülről lefelé haladva. Az sorokat a BIN függvénnyel adhatjuk meg kényelmesen, ahol a nullák a papír, az egyesek a tinta színét jelentik. Bár megadhatunk csatornaszámot, a parancs az összes videolapra vonatkozik. A csatornaszám alapértelmezése 102. Az eredeti karakteralakokat a CLEAR FONT paranccsal állíthatjuk vissza.

COLOUR
SET £csat:COLOUR palettaszám:színkód
A paletta egyik alsó (0-7) színét állítja be. A szín kódját az RGB függvénnyel vagy színnévvel is megadhatjuk. Csatorna alapérték: 101.

CURSOR
SET £csat:CURSOR CHARACTER kód
SET £csat:CURSOR COLOUR palettaszám

A kurzor alakját és színét adhatjuk meg vele, az alakot a CHARACTER utasításban használt ASCII kóddal, a színt a palettáról választva. Csatorna alapérték: 102.

INK
SET £csat:INK színszám
A tinta színét állítja be, a "COLOUR MODE 3"-nál a színkóddal, a másik három üzemmódnál a palettaszámmal. Csatorna alapérték: 101.

LINE MODE
SET £csat:LINE MODE kif
A régi és az új képernyősorok színeinek egymásra hatását adja meg. Nullás módban (alapértelmezés) az új sorok színei felülírják a régieket, a többi módban viszont a kettő kombinációja alakul ki a következők szerint:
mód 1 - vagy (OR)
mód 2 - és (AND)
mód 3 - kizáró vagy (XOR)
Csatorna alapértelmezés: 101.

LINE STYLE
SET £csat:LINE STYLE kif
Szaggatott vonalak rajzolását teszi lehetővé a paraméter (1-14) értékétől függően. Csatorna-alapértelmezés: 101.

PALETTE
SET £csat:PALETTE a,b,c,d,e,f,g,h
A paletta elsö nyolc (0-7) színét állítja be. Csatorna-alapérték: 101. Egyes színmódban (COLOUR MODE) csak az első négy szín használható, grafikus lapokon nullás színmódban csak az első kettő. A meg nem adott színek alapértelmezése: 0. A színeket a standard kódjukkal (0-255), az RGB függvénnyel vagy egyes esetekben a nevükkel adhatjuk meg. A paletta felső nyolc színét a BIAS opcióval tudjuk beállítani.

PAPER
SET £csat:PAPER színszám
Hasonló az INK-hez, csak itt a papír színét adhatjuk meg. Csatorna alapértelmezés: 101. Grafikus lapokon (VIDEO MODE 1, ill. 5) a parancs csak a lap letörlése után hatásos.
A 80 karakteres sorok használata esetén (VIDEO MODE 2) a papír csak a 0,2,4,6, a tinta csak az 1,3,5,7 színű lehet, de az egyik megadása a másikat is megfelelően beállítja. A 40 karakteres sorok esetén (VIDEO MODE 0) csak az első két papír-tinta páros használható.

SCROLL
SET £csat: SCROLL ON/OFF
Az automatikus képernyőléptetést kapcsolja be/ki. Csatorna-alapérték: 102.
SET £csat:SCROLL UP/DOWN n,m
A képernyőt lépteti az (n-32)-ik sortól az (m-32)-ig. Csatorna-alapértelmezés: 102.

VIDEO COLOUR
SET VIDEO COLOUR kif
A színüzemmódot (színmód, VIDEO COLOUR) állítja be az ezután megnyitandó videolapokra. A lapok megnyitásakor a nullás módot választja ki alapértelmezésként a gép. Nagyfelbontású grafikus lapoknál (HIRES) a vízszintes irányban egymás mellet levő képpontok és a használható színek száma a következő:
mód 0 - 2 szín, 640 képpont;
mód 1 - 4 szín, 320 képpont;
mód 2 - 16 szín, 160 képpont;
mód 3 - 256 szín, 80 képpont.
Kisfelbontású lapokon (LORES) a színek száma nem változik, csak a képpontok száma fele akkora.

VIDEO MODE
SET VIDEO MODE kif
Az ezután megnyitandó lapokon állítja be a video-üzemmódot. A lehetséges értékek a következők:
mód 0 - 40 oszlopos szöveglap (2 színpár);
mód 1 - nagyfelbontású grafikus lap;
mód 2 - 80 oszlopos szöveglap (4 színpár);
mód 5 - kisfelbontású grafikus lap;
mód 15 - attributum típusú grafikus lap.

VIDEO X
SET VIDEO X kif
Az ezután megnyitandó lapok szélességét adja meg. A méretet (2-42) karakterekben kell számolni.

VIDEO Y
SET VIDEO Y kif
Az előzőhöz hasonló, csak a függőleges méretet határozza meg karakter sorokban mérve (1-255).

HANGFELTÉTELEK

SOUND BUFFER
SET SOUND BUFFER kif
A legközelebb a "SOUND:" eszközre megnyitandó csatorna hangtárának a méretét adja meg hangfázisokban mérve (1-255). Az alapérték 20. Használható az ASK.

SOUND STOP
SET SOUND STOP ON/OFF
Bekapacsolt állapotban, ha a lejátszandó hangok tárolására szolgáló puffer megtelt, a következő hang sorba állítása előtt a program várakozik, amíg azt a pufferbe nem lehet helyezni. (Ez az alapértelmezett mód). Kikapcsolt állapotban, ilyen esetben a puffer SOUND QUEUE FULL hibaüzenetet kapunk.

SOUND STYLE
A paraméter hatása a következő:
A 0 hangcsatornára:

Az 1 hangcsatornára:
Ugyanaz, de a felüláteresztő szűrő órajele a 2 csatorna és a gyűrűmoduláció a 3 csatornát használja.

A 2 csatornára:
Ugyanaz, de a felüláteresztó szúró órajele a 3 csatorna és a gyűrümoduláció a 0 csatornát használja.

A 3 csatornára (zajcsatorna):

A kívánt paramétereket össze kell adni, és az utasításba az összeget kell beírni.

SPEAKER
SET SPEAKER ON/OFF
A beépített hangszórót kapcsolja be/ki.

BEÉPÍTETT FÜGGVÉNYEK ÉS VÁLTOZÓK
A trigonometrikus függvények a megfelelő feltétellel beállított szög mértékegységben dolgoznak. A Minimál BASIC az ABS, ATN, COS, EXP, INT, LOG, RND, SGN, SIN, SQR, TAB és TAN függvényeket ismeri.

ABS(x)
Az x abszolút értéke, a függvény egyszerűen csak az előjelet törli.

ACOS(x)
A koszinuszfüggvény ellentettje, azaz azt a szöget adja meg, amelynek a koszinusza x.
ACOS(COS(X))=X.

ANGLE(x,y)
A pozitív x tengely és a (0,0) pontból induló, (x,y) ponton átmenő egyenes szöge.

ASIN(x)
A szinuszfüggvény ellentettje.

ATN(x)
a tangensfüggvény ellentettje.

BIN(x)
Az x bináris szám értéke, pl. BIN(11001)=25.

BLACK
A fekete szín, azaz RGB(0,0,0).

BLUE
A kék szín, azaz RGB(0,0,1).

CEIL(x)
Az x-nél nem kisebb, legkisebb egész szám, azaz a legközelebbi egészre felkerekített érték.
PI. CEIL(3.45)=4, CEIL(-3.45)=-3.

CHR$(x)
Az x ASCII kódú karakter.

COS(x)
A koszinuszfüggvény.

COSH(x)
A koszinusz hiperbolikusz függvény.

COT(x)
A kotangensfüggvény.

CSC(x)
A koszekánsfüggvény.

CYAN
A lila szín, azaz RGB(0,1,1).

DATE$
A dátum, szabványos formában: eeeehhnn. (L. DATE parancs.)

DEG(x)
Az x radián szög értéke fokban, azaz x*180/PI.

EPS(x)
A legkisebb mennyiség, amit x-hez adva vagy belőle levonva az x tárolt értéke megváltozik.

EXLINE
A legutóbbi megszakítást okozó sor sorszáma.

EXP(x)
Az "e" az x-edik hatványon függvény. Az "e" (=2.71828...) a természetes logaritmus bázisa.

EXSTRING$(n)
Az a kódú megszakításra jellemző üzenet (hibaüzenet) szövege, az elején egy szóközzel.

EXTYPE
A legutóbbi megszakítás kódszáma.

FP(x)
Törtrész függvény, az IP ellentéte.
FP(1.23)=0.23, FP(-1.23)=-0.23.

FREE
Az aktuális program számára rendelkezésre álló szabad byte-ok száma a tárban, nem azonos a BASIC rendszer számára szabad tárral.

GREEN
A zöld szín, azaz RGB(0,1,0).

HEX$(x$)
Az x$-ban egymástól vesszővel megadott hexadecimális byte-okból képzett karaktersorozat.
HEX$("31,32,33")="123"

IN(n)
Az n input portról olvas be.

INF
A gép által használható legnagyobb pozitív szám= 9.999999999*10^62.

INKEY$
A lenyomott billentyű karaktere, ill. ha nincs egyetlen billentyű sem benyomva, akkor egy üres karaktersorozat ("").

INT(x)
A legnagyobb, x-nél nem nagyobb egész szám.
INT(3.4)=3, INT(-3.4)=-4.

IP(x)
Egész rész, azaz a tizedespont utáni részt törli.
IP(9.9)=9, IP(-9.9)=-9.

JOY(n)
Az n botkormány helyzetétől függő értéket ad ki:
1 - jobbra dől;
2 - balra dől;
4 - lefelé;
8 - felfelé;
16 - a tűzgomb benyomva.
Ha a botkormány átlósan áll vagy a tűzgomb is be van nyomva, akkor a függvény az egyes értékek összegét adja. A beépített botkormány száma 0 ezenkívül az 1 és a 2 használható. A beépített botkormánynál a szóközbillentyű a tűzgomb.

LBOUND(a)
Az "a" egydimenziós tömb alsó indexhatára.

LBOUND(a,n)
Az "a" többdimenziós tömb n-edik dimenziójának alsó indexhatára.

LCASE$(a$)
A nagybetűket kisbetűvé alakítja.

LEN(a$)
A a$-ban levő karakterek számát adja.

LOG(x)
Természetes, azaz "e" alapú logaritmus.

LOG10(x)
Tízes alapú logaritmus.

LOG2(x)
Kettes alapú logaritmus.

LTRIM$(a$)
Törli a karaktersorozat elején álló szóközöket.
LTRIM$(" hh")="hh".

MAGENTA
A bíborvörös, azaz RGB(1,0,1).

MAX(x,y)
A két szám közül a nagyobbik, pl. MAX(6,99)=99.

MAXLEN(a$)
A karakterváltozó lehetséges max. hossza.

MIN(x,y)
A két szám közül a kisebbik.

MOD(x,y)
X modulo y, azaz az x és y osztásának egész maradéka.
MOD(-1,3)=2. L.: REM(x,y).

ORD(a$)
Az a$ karakter vagy karaktersorozat esetén az első karakter ASCII kódja.

PEEK(n)
A Z80 a memóriacímén levő érték.

PI
A Pi nevű szám, a gép kerekítve 3.141592654-gyel számol.

POS(x$,y$)
Az y$ szövegrészlet első előfordulásának a helyét adja meg az x$ szövegben. Ha y$ nincs benne az x$-ban, akkor az értéke nulla.

POS(x$,y$,n)
Hasonló az előzőhöz, de a keresést az x$ szöveg n-edik karakterénél kezdi. Tehát POS("LONDON","ON") = 2, de POS("LONDON","ON",4) =5, mert a második esetben a keresést a "D" betűnél kezdte.

RAD(x)
Az x fok értéke radiánban, azaz x*PI/180.

RED
A piros szín, azaz RGB(1,0,0).

REM(x,y)
Az x és y osztásának maradéka.
REM(-1,3)=-1. L.: MOD(x.,y).

RGB(r,g,b)
A függvényt egy szín megadására használhatjuk a színkódja helyett. A piros (RED), a zöld (GREEN) és a kék (BLUE) színekből keverhetünk ki egy újat egyes összetevők arányát megadva a maximumhoz képest, pl.:
SET INK RGB(0.5,1/3,0.25)

RND
Egy 0 és 1 közötti véletlenszámot állít elő, de az 1-et nem éri el soha. Az értéktartományt szorzással tudjuk növelni, pl. az INT(RND*100) egy 0 és 99 közti egész számot ad.

RND(x)
Egy 0 és x közötti egész véletlenszámot ad, "n" maximuma 32767.

ROUND(x,n)
Az x számot kerekíti n jegyre, pl. ROUND(1.7668,2)=1.77,de ROUND(-1.7668,2)=-1.76.

RTRIM$(a$)
A karaktersorozat végén levő szóközöket levágja.

SEC(x)
A szekánsfüggvény.

SGN(x)
Az x előjelétől függően, ha x negatív, akkor -1, ha x pozitív, akkor + 1, ha pedig x nulla, akkor a függvény értéke is az.

SIN(x)
A szinuszfüggvény.

SINH(x)
A szinusz hiperbolikusz függvény.

SIZE(a)
Az "a" tömb elemeinek a száma.

SIZE(a,n)
Az "a" tömb n-edik dimenziójában levő elemek száma.

SPEEK(s,n)
Hasonló a PEEK-hez, de az s szegmens n címéről olvas.

SQR(x)
Az x négyzetgyöke.

STR$(x)
Az x számot karaktersorozattá alakítja, és ha szükséges a "-' előjelet is elé teszi.

TAB(x)
Csak a PRINT utasításon belül alkalmazható, az x-edik oszlopba állítja a kurzort.

TAN(x)
A tangensfüggvény.

TANH(x)
A tangens hiperbolikusz függvény.

TIME$
Az aktuális idő értéke szabványos formában: "oo:pp:mm". (L.: TIME parancs.)

TRUNCATE(x,n)
Az x-ből n db decimális pozíciót vág le (csonkít).

UBOUND(a)
Az "a" tömb felső indexhatára.

UBOUND(a,n)
Az "a" tömb n-edik dimenziójának felső indexhatára.

UCASE$(a$)
A kisbetűket alakítja át nagybelükké a karaktersorozatban.

USR(n,x)
Az n című (ami általában a CODE utasításban betöltött cím) gépi kódú rutint hívja meg, és az x értékét átadja neki a HL-ben. A függvény értéke a rutinból való visszatéréskor a HL-ben levő szám lesz.

VAL(a$)
Egy karaktersorozatot alakít át számmá. A STR$ függvény ellentettje. A átalakítást a karaktersorozat első nem szám karakteréig végzi.

VER$
Az IS-BASIC 2.1-es verziójában (Enterprise 128) az

Enterprise IS-BASIC version 2.1
© 1985 Intelligent Software Ltd

üzenetet tartalmazza, az IS-BASIC 2.0-ás verziójában (Enterprise 64):

Enterprise IS-BASIC version 2.0
© 1984 Intelligent Software Ltd

VERNUM
Az IS-BASIC 2.1-es verziójában (Enterprise 128): 2.1,
az IS-BASIC 2.0-es verziójában (Enterprise 64) a 2 értéket adja.

WHITE
A fehér szín, azaz RGB(1,1,1).

WORD$(n)
Az n szám értékének megfelelő két byte-ot adja vissza karaktersorozatként, elől a kisebb helyiértékű byte-tal. Általában egy CODE utasításban beállított "n" értékét használjuk fel ugrási cím számításhoz.

YELLOW
A sárga szín, azaz RGB(1,1,0).

EXOS
Az EXOS az Enterprlse eXpandable Operating System, azaz az Enterprise-t bővíthető operációs rendszer rövidítése. Ez olyan program, amely lehetővé teszi hogy a gép szolgáltatásait és lehetőségeit valamely magas szintű nyelvből (pl. a BASIC-ből) közvetlenül vegyük igénybe. A számítógép legfőbb szolgáltatásai a különböző eszközök és perifériák, mint pl. a képernyő, a magnetofon, a sornyomtató. Az operációs rendszer egyik része ezeket az eszközöket segít kezelni, a másik pedig a tárral való gazdálkodást végzi.

INPUT/OUTPUT RENDSZER
Az Enterprise számítógép rendkívül összetett, így az olyan egyszerűnek tűnő feladatok, mint egy karakter vagy sor kiírása a képernyőre vagy a sornyomtatóra is több száz vagy több ezer gépi kódú utasítást igényel. Az operációs rendszer lehetővé teszi, hogy az egyes eszközöket bizonyos formai szabályoknak eleget tevő azonosítókra hivatkozva kezeljük. (PI. VIDEO:, DISK-n:) Minden írás, ill. olvasás az ún. csatornákon keresztül történik, ezek a csatornák az egyes eszközökkel kötik össze a programot. A rendszer a következő funkciókat képes ellátni:

KÓDSZÁM
FUNKCIÓ
0
Rendszer újraindítás
1
Csatorna megnyitása
2
Csatorna létrehozása és megnyitása
3
Csatorna lezárása
4
Csatorna lezárása és törlése
5
Karakter olvasása a csatornáról
6
Blokk olvasása
7
Karakter írása a csatornára
8
Blokk írása
9
Csatornaállapot olvasása
10
Csatornaállapot állítása és beolvasása
11
Speciális feladat végrehajtása
16
Egy rendszerváltozó írása, olvasása vagy átkapcsolása
17
Az egyik csatorna helyettesítése a másikkal
18
Az egyik csatorna átirányítása a másikra
19
Az alapértelmezésként használt eszköz nevének beállítása
20
A rendszerállapot beolvasása
21
Eszköz csatlakoztatása
22
A rendszerhatárok beolvasása
23
A felhasználó hatókörének beállítása
24
Egy szegmens lefoglalása
25
Egy szegmens felszabadítása
26
A bővítések vizsgálata
27
Csatornapuffer lefoglalása
28
A hibaüzenet küldése
29
Modul betöltése
30
Áthelyezhető modul betöltése
31
A idő beállítása
32
A idő kiolvasása
33
A dátum beállítása
34
A dátum kiolvasása

Ezeket a szolgáltatásokat bármely programnyelvből - így gépi kódból is használhatjuk. Ilyenkor az RST 30H utasítással hívhatjuk meg a rendszert és az RST utasítás utáni byte-ba kell letennünk a kívánt funkció kódját. A funkciók teljes listája és a hívásuk pontos leírása az Enterprise Technikai Ismertetőben található.

TÁRKEZELÉS
Az operációs rendszer ún. ROM tárban van, de a rendszerváltozókat RAM-ban táróija. Az Enterprise rendkívül nagy tár kezelésére is alkalmas. A gép a tárat 16 kbyte-os lapokra (nem azonos a videolapokkal!) osztja, s ezekből 256-ot tud használni, tehát összesen mintegy 4 Mbyte memóriát. A mi számítógépünk természetesen nem tartalmaz ennyit, csak 128 kbyte-nyit. A gép lelkét jelentő Z80-as processzor egyszerre csak négy ilyen lapot kezel, ahogy mi is egyszerre csak két lapot látunk egy könyv olvasása közben.

RENDSZERVÁLTOZÓK
Mivel lehetőségünk van a rendszerváltozók közvetlen beolvasására, módosítására vagy átkapcsolására, ezért most röviden leírjuk a fontosabbakat (részletes információt ezekről is a Technikai Ismertető ad):

SORSZÁM
RÖVIDÍTÉS FUNKCIÓ
0
IRQ ENABLE STATE b0 - hang,
b2 - 1 Hz,
b4 - video,
b6 - külső,
b1,b3,b5,b7 nulla kell legyen.
1
FLAG SOFT IRQ szoftver megszakítás, engedélyezés
2
CODE SOFT IRQ szoftver megszakítás kódja
3
DEF TYPE 0 = magnetofon,
1 = lemez
4
DEF CHAN aktuális csatornaszám
5
TIMER 1 Hz-el számol visszafelé, 0-nál megszakítást generál
6
LOCK KEY Billentyűzet üzemmód:
0 = reteszeletlen, 1 = CAPS lock, 2 = SHIFT lock, 8 = ALT lock.
7
CLICK KEY 0 = van billentyűhang
8
STOP IRQ 0 = STOP billentyűre megszakítás
9
KEY IRQ 0= minden billentyűre megszakítás
10
RATE KEY billentyű ismétlés 1/50 másodpercben
11
DELAY KEY a billentyű ismétlés megkezdése előtti idő 1/50 másodpercben
12
TAPE SND 0= magnetofonhang kikapcsolva
13
WAIT SND  
14
MUTE SND 0 = belső hangszóró bekapcsolva
15
BUF SND takarógörbe
16
BAUD SER soros vonal sebesség
17
FORM SER soros vonal formátum
18
ADR NET hálózati cím
19
NET IRQ 0 = hálózati-hívás hatására megszakítás generálódik
20
CHAN NET a blokkot küldd csatorna száma
21
MACH NET feladó gép NET címe
22
MODE VID video üzemmód
23
COLR VID szín üzemmód
24
X SIZ VID videolap x dimenziója
25
Y SIZ VID videolap y dimenziója
26
ST FLAG 0 = állapotkijelző sor van
27
BORD VID keret színe
28
BIAS VID paletta felső színei
29
VID EDIT a csatorna, amire az EDITOR ír
30
KEY EDIT a csatorna, amiről az EDITOR olvas
31
BUF EDIT pufferméret 256 byte-okban
32
FLG EDIT elérhetőség jelzők
33
SP TAPE 0 = gyorstárolás kazettán
34
PROTECT 0 = nincs kazettavédelem
35
LV TAPE kazetta felvétel erősség
36
REM1 0 = távirányító kimenet kikapcsolva
37
REM2 ugyanaz, csak a másik kimenetre
38
SPRITE külső színprioritás
39
RANDOM IRQ minden megszakításnál eggyel nő

HIBAÜZENETEK
A programban levő hibák felismerése és megtalálása gyakran igen nehéz és bonyolult feladat. A számítógép segít nekünk ebben is azzal, hogy ha hibát észlel a programban, akkor rövid üzenetet küld a hiba feltételezett okáról és kijelzi a hiba bekövetkezésének a helyét. Ne felejtsük el azonban, hogy a gép csak bizonyos hibákat képes felismerni! Ha például nem vesszük figyelembe a műveletek módosult végrehajtási sorrendjét egy kifejezés felírásakor, akkor könnyen azt tapasztalhatjuk, hogy a gép által kiírt eredmény nem egyezik az általunk várttal. A gép azonban nem jelez hibát, mert csak a formai (szintaktikai) vagy a programszerkezetbeli hibákat jelzi, a program számítási menetének (szemantika) a hibáját nem. Ha a program futása közben észlel hibát, akkor a hibaüzeneten kívül azt a sort is kiírja, ahol a feltételezett hiba van, ezzel is segítséget nyújtva a hibás sor kijavításához.
*** Invalid argument to SQR
300 PRINT SQR(Y)

Ezután a szokásos módon módosíthatjuk a sort. Az EXLINE, EXTYPE, EXSTRING$ függvények az ilyen hibák programbeli kezelését könnyítik meg. Minden ilyen hibából vagy más rendkívüli eseményből adódó megszakításnak van egy kódja és a legtöbbhöz valamilyen hibaüzenet is tartozik. Ha nincs ilyen hibaüzenet, akkor a hiba típusa és azonosító kódszáma jelenik meg.
Az ilyen megszakítások kezelésére előre felkészülhetünk és ezeket a WHEN blokkok és a megszakításkezelő "HANDLER"-ek segítségével elintézhetjük. A bekövetkező megszakítás jellegétől függetlenül mindig a legbelső WHEN blokkhoz tartozó HANDLER-t hívjuk meg, ezekkel óvatosan kell bánnunk, hiszen nem tudhatjuk, hogy milyen megszakítás miatt került a vezérlés a kezelőre. Egyes hibák (pl. a szintaktikai hibák vagy a memória túlcsordulás) esetén ugyanis a RETRY típusú visszatérés stabilizálja a hibás állapotot, és a programot végtelen ciklusba juttatja. (L.: CONTINUE hatása a programon belül.)
Más hibák elfogása, mint pl. a nullával osztás vagy a negatív számból való négyzetgyökvonás nem okozhatja a program megsérülését.

ANGOL NYELVŰ HIBAÜZENETEK ÉS MAGYAR MEGFELELŐI
Általános hibatípusok:

0 -
999
UserFelhasználói hiba
1000 -
1999
Overflow Túlcsordulás
2000 -
2999
Subscript Indexhiba tömbnél
3000 -
3999
Mathematical Matematikai hiba
4000 -
4999
Parameter Paraméterhiba
5000 -
5999
Storage exhausted Nem elegendő tár
6000 -
6999
Matrix Mátrixhiba
7000 -
7999
File Use File-kezelési hiba
8000 -
8999
Input-output Beolvasás / kiírás hiba
9000 -
9999
Exos EXOS hiba
10000 -
10999
Control Vezérlési hiba
11000 -
11999
Graphical Grafikai hiba
12000 -
12999
Real-time Időzítési hiba
20000 -
20999
Syntax Szintaxis hiba
30000 -
  System Rendszerhiba

Egyedi hibaüzenetek:

1000 - Unexpected value given
1000 - A megadott érték nem megfelelő

1001 - Overflow in numeric constant
1001 - Túlcsordulás a számkonstansban

1002 - Overflow in numeric expression
1002 - Túlcsordulás a számkifejezésben

1051 - Overflow in string expression
1051 - Túlcsordulás a szövegkifejezésben

1106 - Overflow in string assignment (ie. string too long)
1106 - Túlcsordulás a értékadásban (pl. a karakterlánc túl hosszú)

2001 - Array subscript out of bounds
2001 - Tartományon kívüli tömbindex

3001 - Division by zero
3001 - Nullával osztás

3004 - Invalig argument to LOG
3004 - Hibás LOG argumentum

3005 - Invalig argument to SQR
3005 - Hibás SQR argumentum

3007 - Invalid argument to ASIN or ACOS
3007 - Hibás ASIN vagy ACOS argumentum

4000 - Error in DEF parameters
4000 - Hiba a DEF paramétereiben

4002 - Argument to CHR$ out of range
4002 - A CHR$ argumentuma nem megfelelő

4003 - Invalid argument to ORD
4003 - Hibás ORD argumentum

4004 - Index to SIZE out of range
4004 - SIZE-beli index a megengedett tartományon kívül

4005 - Argument to TAB out of range
4005 - A TAB argumentuma nem megfelelő

4008 - Index to LBOUND out of range
4008 - Az LBOUND-beli index hibás

4009 - Index to UBOUND out of range
4009 - Az UBOUND-beli index hibás

4301 - Error in CHAIN parameters
4301 - Hiba a CHAIN paramétereiben

5000 - Insufficient memory
5000 - A tár betelt

5100 - Insufficient stack space
5100 - A veremtár betelt

5110 - Insufficient extension space
5110 - A bővítéstár betelt

5120 - Insufficient ALLOCATE space
5120 - Az ALLOCATE tár betelt

7001 - Invalid channel no.
7001 - Hibás csatornaszám

7003 - Channel already open
7003 - A csatorna már nyitva van

7004 - Channel not open
7004 - A csatorna nincs nyitva

7401 - TRACE channel not open
7401 - A TRACE csatorna nincs nyitva

8001 - out of dala in READ/INPUT
8001 - Nincs elég adat a READ/INPUT-hoz

8101 - Numeric data expected
8101 - Szám kellene

8201 - Invalid USING strong
8201 - Hibás USING karakterlánc

8202 - No format item in USING string
8202 - Nem formátumelem a USING-ban

8203 - USING format item too short
8203 - A USING formátumelem túl hosszú

9208 - Casette CRC error
9208 - Kazetta ellenőrzőkód hiba (CRC)

9209 - Editor - load file too big
9209 - Editor - a betöltendő file túl nagy

9210 - Editor - keyboard channel error
9210 - Editor - billentyűzet-csatorna hiba

9211 - Editor - keyboard channel error
9211 - Editor - billentyűzet-csatorna hiba

9212 - Editor - video channel error
9212 - Editor - videohiba

9213 - Network link already exists
9213 - A hálózat összekapcsolás már létezik

9214 - Network address not set
9214 - A hálózatcím nincs beállítva

9215 - Cannot use both serfal and network
9215 - Egyszerre nem lehet a soros vonalat és a hálózatot is használni

9216 - Invalid beam position
9216 - Hibás rajzolópont pozíció

9217 - Invalid cursor coordinates
9217 - Hibás kurzorpozíció

9218 - Invalid row number to scroll
9218 - Hibás sorszám a képernyőléptetéshez

9219 - Invalid video page file
9219 - Hibás videolap-file

9220 - Invalid display parameters
9220 - Hibás képernyő paraméter

9221 - Invalid video mode
9221 - Hibás video-üzemmód

9222 - Invalid video page size
9222 - Hibás videolap-méret

9223 - Sound queue full
9223 - Hangtár megtelt

9224 - Envelope storage full
9224 - Az ENVELOPE tár megtelt

9225 - Envelope too big
9225 - ENVELOPE túl nagy

9226 - Function key string too long
9226 - A funkcióbillentyű szövege túl hosszú

9227 - Protection violation
9227 - Tárvédelem megsértése

9228 - Unexpected end of file
9228 - Hibás adatvége jel

9229 - STOP key pressed
9229 - A STOP billentyű lenyomva

9230 - Invalid escape sequence
9230 - Hibás kilépési sorozat

9231 - Call not supported by this device
9231 - A hívás nem támogatott ezen az eszközön

9232 - Invalid unit number
9232 - Hibás egységszám

9233 - Device already in use
9233 - Az eszközt már használják

9234 - Invalid special function call
9234 - Hibás speciális funkció hívás

9235 - invalid date or time value
9235 - Hibás dátum vagy idő megadás

9236 - End of file module
9236 - Adatvége modul

9237 - Invalid relocatable module
9237 - Hibás áthelyezhető modul

9238 - Unknown module type
9238 - Ismeretlen modultípus

9239 - Invalid file header
9239 - Hibás file-fejléc

9240 - Unrecognised command string
9240 - Ismeretlen parancs

9241 - Invalid device description
9241 - Hibás eszközleíró

9242 - Unknown EXOS variable number
9242 - Ismeretlen EXOS rendszerváltozó

9243 - Invalid user boundary
9243 - Hibás felhasználói határ

9244 - Cannot free segment
9244 - A szegmens nem szabadítható fel

9245 - No free segment
9245 - Nincs szabad szegmens

9246 - Insufficient video memory
9246 - A videotár elfogyott

9247 - Insufficient memory
9247 - A tár megtelt

9248 - Channel open error
9248 - Csatorna-megnyitási hiba

9249 - Channel already exists
9249 - A csatorna már létezik

9250 - Device does not exist
9250 - Az eszköz nem létezik

9251 - Channel does not exist
9251 - A csatorna nem létezik

9252 - EXOS stack overflow
9252 - A rendszerverem megtelt

9253 - Invalid EXOS string
9253 - Hibás EXOS szöveg

9254 - EXOS function call not allowed
9254 - Az EXOS funkció hívás nem engedélyezett

9255 - Invalid EXOS function code
9255 - Hibás EXOS funkciókód

10002 - Return without GOSUB
10002 - RETURN GOSUB nélkül

10004 - No CASE selected
10004 - Nincs CASE ág

10005 - Program does not exist
10005 - A program nem létezik

20000 - Not understood
20000 - Nem érthető

20001 - Invalid line number
20001 - Hibás sorszám

20002 - Invalid line number range
20002 - Hibás sortartomány

20004 - Line number does not exist
20004 - A sorszám nem létezik

20010 - Cannot do specified RENUMBER
20010 - Végrehajthatatlan RENUMBER

20020 - Continue not possible
20020 - Nem folytatható

20030 - Indentifier expected
20030 - Azonosító hiányzik

20031 - String identifier expected
20031 - Karaktersorozat azonosító hiányzik

20032 - Array identifier expected
20032 - Tömbazonosító hiányzik

20034 - Type mismatch
20034 - Típuseltérés

20040 - Variable not initialised
20040 - A változónak nincs értéke

20041 - Identifier declared twice
20041 - Kétszer deklarált változó

20042 - Identifier too long
20042 - Az azonosító túl hosszú

20043 - Missing closing quotes
20043 - Hiányzik a lezáró macskaköröm

20050 - Missing end of block
20050 - Hiányzik az blokkvége jel

20051 - Invalid end of block
20051 - Hibás blokkvége jel

20052 - Too many nested blocks
20052 - Túl sok egymásba ágyazott blokk

20060 - Invalid machine option use
20060 - Hibás gépi feltétel használat

20071 - Statement in immediate mode
20071 - Ez az utasítás nem lehet parancsmódban

20072 - Command in program
20072 - Ez a parancs nem lehet programban

20073 - Statement not allowed after THEN
20073 - THEN után nem állhat ilyen utasítás

20074 - Invalid mulli-statement line
20074 - Hibás többutasításos sor

20075 - Line too long
20075 - A sor túl hosszú

20080 - Invalid file format
20080 - Hibás file-formátum

20081 - Programs do not VERIFY
20081 - A program nem azonos

30000 - BASIC data has been corrupted
30000 - A rendszer változói megsérültek

A SZÖVEGSZERKESZTŐ ÜZENETEI
A szövegszerkesztő üzenetei a gép nyelvének megfelelően vagy német, vagy angol nyelvűek. A továbbiakban az egyes funkcióknál angol nyelven megadjuk a kiírt üzenetet, valamint a jelentését magyarul.
A szövegszerkesztőbe való belépéskor a gép mindig a "Press ENTER to exit BASIC" felirattal kéri a parancs megerősítését, azaz azt, hogy nyomjuk le ENTER billentyűt, ha valóban ki akarunk lépni a BASIC rendszerből. Ennél valamennyi más szövegszerkesztő funkciónál az ESC billentyűvel tudjuk parancsot törölni, azaz jelen esetben a BASIC rendszerbe visszatérni.
A funkcióbillentyűk használatakor a következő üzenetekkel találkozhatunk: (Először mindig az angol, majd a magyar nyelvű szövet, közöljük.)

F1:
Type filename and ihen press ENTER
Szöveg betöltése következik. Gépelje be a szöveg nevét, aztán nyomja le az ENTER-t!

F2:
SAVE the document. Type filename and then press ENTER.
Szöveg mentése következik. Gépelje be a szöveg nevét, aztán nyomja le az ENTER-t!

F3:
Press ENTER for parallel printer, or type device-name:
A párhuzamos csatolású sornyomtató használata esetén nyomja le az ENTER-t, egyébként pedig adja meg az eszköz nevét!

F4:
A billentyű hatására a szövegszerkesztő funkcióit röviden ismertető ún. HELP-lapot ír ki a gép, majd az F4 újabb leütésére egy másikat és ettől kezdve ezt a kettőt váltogatja, amíg az ENTER leütésével vissza nem térünk a szövegszerkesztéshez. A HELP-lapok kiírása nem módosítja a tárolt szöveget, tehát az nem sérül meg!
A HELP-lapok szövege a következő (csak magyar nyelven közöljük):

ctrl F1
- Bekezdés újraformázása
ctrl F2
- Sor középre állítása
ctrl F3
- Tabulátor beállítása/törlése
ctrl F4
- Bal margó beállítása
ctrl F5
- Margók felfüggesztése
ctrl F6
- Bekezdés mozgatása felfelé
ctrl F7
- Sor színének megváltoztatása
alt F1
- Bekezdés újraformázása igazítással
alt F2
- Tabulátorok törlése
alt F3
- Vonalzósor be/ki kapcsolása
alt F4
- Jobb margó beállítása
alt F5
- Margók és tabulátorok törlése
alt F6
- Bekezdés mozgatása lefelé
alt F7
- Bekezdés színének változtatása


Nyomja le az ENTER-t, hogy visszatérjen a szerkesztéshez, vagy az F4-et további információért.

A második lap :

fel / le- Egy sorral fel/le
shift fel/le - Egy lappal fel/le
ctrl fel/le - Egy bekezdéssel fel/le
balra/jobbra - Betűnként balra/jobbra
shift balra/jobbra - Sor elejére/végére
ctrl balra/jobbra - Szavanként balra/jobbra
ERASE - Betű törlése balra
shift ERASE - Sor törlése balra
ctrl ERASE - Szó törlése balra
DEL - Betű törlése jobbra
shift DEL - Sor törlése jobbra
ctrl DEL - Szó törlése jobbra
INS - Szóköz beszúrása
shift INS - Sor beszúrása
ctrl DEL - Beszúrás üzemmód be/ki

F5:
Press ENTER for 80 column mode, this will delete your text. Press ESC to return to editing.
Nyomja le az ENTER-t, ha át akar térni 80 karakteres üzemmódra, de ekkor törlődik a korábbi szöveg. Ha nem akar áttérni, akkor az ESC-et nyomja le.

F6:
Ugyanaz, mint az F5, csak 40 karakteres üzemmóddal.

F7:
Nincs üzenet.

F8:
Press ENTER to start BASIC.
Üsse le az ENTER-t, ha vissza akar térni a BASIC-be!