IS-DOS

Felhasználói kézikönyv

Scan&OCR: Kiss László

Frissítve: 2006.06.01.


Tartalom

1. Hogyan dolgozzunk az IS-DOS-al?
1.1 Bevezetés
1.2. AZ IS-DOS indítása
1.3. IS-DOS és a kötegelt file-ok
1.4. Az IS-DOS és a HELP-szöveget tartalmazó file-ok

2. Útmutató a felhasználó számára
2.1. Írásmód
2.2. Általános szabályok
2.3. Az egyes utasítások pontos leírása

3. Úmutató a programozó számára
3.1. Bevezetés
3.2. Tranziens Programterület
3.2.1. Kilépés az IS-DOS-ból
3.2.2. Visszatérés az IS-DOS-ba
3.2.3. A nulláslap alkalmazása
3.2.4. A BIOS ugrási táblázat
3.2.5. Karakter be- és kiadása (I/0)

3.3. File-vezérlőblokkok
3.4. IS-DOS funkcióhívások
3.5. Képernyőkivitelek
3.6. EXOS-rendszerváltozók


4. Függelék
4.1. IS-DOS utasítások áttekintése
4.2. Hibaüzenetek
4.3. Futtatható CP/M programok jegyzéke


1. Hogyan dolgozzunk az IS-DOS-al?

1.1. Bevezetés

Az IS-DOS olyan mágneslemezes operációs rendszer, amellyel kitágíthatók az Enterprise számítógép lehetőségei. Nemcsak olyan hasznos segédprogramokat tartalmaz, mint a DISKCOPY, a BACKUP és az UNDELETE, hanem alkalmassá teszi a számítógépet a legtöbb CP/M operációs rendszer 2.2-es változatával futtatható felhasználói program alkalmazására is. Az EXOOS-ban már megismert kötegelt file feldolgozási képesség IS-DOS-ban tovább nőtt. Az IS-DOS és ugyanúgy az EXOOS file-felépítése azonos az MS-DOS-éval, így mindkét rendszer file-jai lehetnek ugyanazon a mágneslemezen.

(A CP/M a Digital Research, az MS-DOS pedig a Microsoft bejegyzett védjegye.)
Ha CP/M programot akar Enterprise számítógépen futtatni, akkor annak MS-DOS formátumban kell a mágneslemezen lennie. Erre később még részletesen kitérünk. Azonban ügyeljen arra, hogy üzembe helyezéskor néhány CP/M program módosítja az operációs rendszert. Az ilyen programokat nem tudja az IS-DOS végrehajtani. A kézikönyv végén található jegyzék tartalmazza azokat a CP/M programokat, amelyeket az Enterprise-on kipróbáltak. Ezt a jegyzéket a jövőben rendszeresen kiegészítjük, ás Münchenben az Enterprise Computers GmbH-nál megrendelhető. A piacon beszerezhető igen sok CP/M program miatt természetesen a jegyzék nem lehet hiánytalan. Amennyiben ön is sikerrel bevezetett és futtatott CP/M programot IS-DOS-ban, akkor nagyon kérjük, észrevételeit küldje be címünkre.
Ügyeljen arra, hogy az IS-DOS rendszer mágneslemeze felülírás ellen védett legyen. Erről bővebbet az EXDOS bevezetőben írunk. Az IS-DOS mágneslemezről ajánlatos azonnal a beszerzéskor másolatot készíteni és a későbbiek során csak a másolattal dolgozni.

1.2. AZ IS-DOS indítása

Amint az EXDOS bevezetőben leírtuk, kapcsolja be Enterprise-rendszerét. Feltételezzük, hogy számítógépe a Reset billentyű kétszeri lenyomásával már a kiindulási állapotba került. Válassza a BASIC-et, és helyezze be az IS-DOS mágneslemezt az A meghajtóba. Billentyűzze be:

:ISDOS

Ez betölti az IS-DOS-t. Az állapotjelző sorban, a képernyő felső peremén megjelenik az "IS-DOS" kiírás, és a Copyright figyelmeztetés után a várójel:

A>

Ezután már bármilyen IS-DOS utasítást adhat a számítógépnek. Ahogy az IS-DOS-t bevezette az Enterprise gépre, a szabványos szöveges képernyő átvált a 80 oszlopos formátumra. Ha monitorként televíziót használ, akkor ez a formátum nem olvasható valami jól. A 40 oszlopos formátumra a következő billentyűzéssel lehet átváltani:

MODE 40

A mágneslemez tartalomjegyzékének kiírásához a következő billentyűket kell lenyomni:

DIR

A megjelenő file-tartalomjegyzékben többek között a következő file-ok találhatók:

IS-DOS.SYS
BACKUP.COM
CHKDSK.COM
DISKCOPY.COM
UNDEL.COM
XDIR.COM

Az első az IS-DOS rendszer-file, amely tartalmazza a tulajdonképpeni operációs rendszert. Az IS-DOS operációs rendszer működtetéséhez ezt a file-t az indítás során be kell töltenie. Azok a file-ok, amelyeket COM-mal jelöltek, utasításfile-ok, és segédprogramokat tartalmaznak. Alkalmazásuk célja röviden a következő:
Az IS-DOS kétféle utasítást ismer: a belső, és az ún. tranziens utasítást (Transient Command: TC). A belső utasítások végrehajtásához nincs szükség kiegészítő, a rendszerlemezről származó adatokra. Példa erre az ATTR utasítás. Kivehetnénk a rendszerlemezt a meghajtóból, és egy másikat tehetnénk bele, ekkor a felülírás ellen valamennyi adatállomány megvédhető a következő utasítással:

ATTR A:*.* R+

A tranziens utasítás nem tartozik az IS-DOS utasítás állományához, inkább önálló program, amelyet lefuttatása előtt betöltenek a számítógépbe. A tranziens utasítás-file-okat a mágneslemezeken jellemzésül "COM" vagy "BAT" végződéssel kell ellátni. A rendszerlemezen található segédprogramok tranziens utasítási példák, és az utasítások magyarázatakor ennek megfelelten kezelhetők.
Az Útmutató a programozó számára c. fejezetben bemutatjuk, hogyan lehet tranziens utasításprogramot írni gépi nyelven.
A mágneslemezen található "BACKUP" segédprogramot máris felhasználhatjuk arra, hogy az IS-DOS rendszer c. lemezről másolatot készítsünk. Ehhez szükséges, hogy az eredeti az A: meghajtóban legyen. Ha több meghajtó is van, akkor helyezzen be a B: meghajtóba egy formázott mágneslemezt. Ezután billentyűzze be a következőt:

BACKUP A: B:

Az IS-DOS betölti a BACKUP programot, majd pedig végrehajtja azt. Látható, hogy a tulajdonképpeni tranziens utasítás a file-név a "COM" jelölés nélkül. Az utasításhoz csatlakoztatva, további paraméterek is megadhatók. Az IS-DOS olyan utasítás esetén, amely nincs a saját szabványos utasításkészletében, az utasításnév alapján kezdi keresni a file-t a főmeghajtóban lévő mágneslemezen. Egy meghajtós rendszer esetén a számítógép automatikusan ad felszólítást a lemezcserére.
Az IS-DOS-ból is át lehet térni más üzemeltetési programra, ehhez csak be kell billentyűzni pl. azt, hogy BASIC vagy WP. Végül az IS-DOS-ra való visszatéréshez - a már leírt módon - az operációs rendszert ismét be kell tölteni. Ez nemcsak az A:, hanem egy másik meghajtóról is lehetséges, pl. a következő módon:

:ISDOS B:

1.3. IS-DOS és a kötegelt file-ok

Amint láttuk, tranziens utasítás (TC) esetén az IS-OOS olyan megfelelő nevű lemez-file-t keres, amelynek a végződése "COM" vagy a "BAT". Ha "COM" jelet nem talál, de "BAT"-ot igen, akkor ezt kötegelt file-ként kezeli. A kötegelt file-ok egy sor szabványos DOS utasításból állnak. Ezeket az utasításokat a számítógép ugyanúgy hajtja végre, mintha sorban, egymás után a billentyűzeten ütöttük volna le. A kötegelt file-ok előállítását az EXDOS bevezetőben már leírtuk.
Minden indítási eljárás során először az "AUTOEXEC.BAT" file-t keresi az IS-DOS, és ha megtalálja, akkor ezt hajtja végre.
Az IS-DOS rendszerlemezén van egy "EXDOS.INI" file, amely felszólítja a felhasználót, hogy a dátumot és az időpontot adja meg, nincs azonban a lemezen "AUTOEXEC.BAT" file. Ezt egész egyszerűen magunk is előállíthatjuk. így oldhatd meg pl., hogy az IS-DOS indításkor automatikusan átvált a 40 oszlopos szöveges képernyőképre.
Az IS-DOS kötegelt file-jai tartalmazhatják más, további kötegelt file-ok végrehajtandó parancsait, ezenkívül - az "EXDOS.INI" file-okkal ellentétben - paramétereket is. Létrehozhatunk p1. egy "FVID.BAT" nevű olyan file-t, amely tartalmazza a következő utasítást:

VAR 90 %1

Ez a kötegelt program úgy hajtható végre, hogy a paraméterekre adjuk meg a tranziens utasítást:

FVID ON

Ez azonos hatású a VAR 90 ON bebillentyűzésével, amely bekapcsolja a gyors videóvezérlőt (a VAR utasítást l. az utasítások ismertetésénél). Az FVID ON egyszerűbb, mert nem kell megjegyezni a hozzá tartozó EXOS-változó számát. Az utasítás végrehajtása során az IS-DOS a "%1" helyett egyszerűen az ON paramétert helyettesíti be. Ha csak az FVID-et adnánk meg (a VAR 90-nek megfelelően), akkor az EXOS változónak, a 90-nek az aktuális állapota jelenne meg a képernyőn (0 = "ON", ill. 255="OFF").
Egy kötegelt file-nak legfeljebb 9 különböző paraméter adható át. Tételezzük fel, hogy a "MISC.BAT" nevű kötegelt file-nak megadjuk a nevét és három paramétert:

MISC 90 ON FRED

Ha a "%1" előfordul a kötegelt file-ban, akkor helyébe minden esetben a 90-es szám kerül (azaz a lista első változója). A "%2"-t az "ON", a "%3"-at pedig a "FRED" szót helyettesíti.
A "%0"-t maga a kötegelt file neve helyettesíti, beleértve minden, a meghajtóra és az ösvényre vonatkozó adatot is.
Ha a "%" után álló karakter nem számjegy (0...9), akkor azt a rendszer különleges jelentőség nélküli, normális karakterként kezeli, azaz semmivel sem helyettesíti.
Az IS-DOS kötegelt file más kötegelt file-ok végrehajtására vonatkozó utalásokat is tartalmazhat. Normális esetben ez az egymásba ágyazás egészen 10-ig folytatható. Mivel az IS-DOS-ban a verem korlátozott, az egymásba ágyazás mélysége a megadott változók számától is függ. Egy file feldolgozása után a program automatikusan az azt hívó file-lal folytatódik.

1.4. Az IS-DOS és a HELP-szöveget tartalmazó file-ok

A "HELP" utasításra a képernyőn rendszerint információk jelennek meg a rendszerről. Ha az utasítást magunk billentyűzzük be, akkor megkapjuk a rendszerbővítések listáját. Megfelelő bővítés alkalmazásával meghatározott programról is nyerhetünk információkat, p1. "HELP WP" vagy "HELP EXDOS". Az IS-DOS-ban olyan tájékoztató szöveget is megjeleníthetünk a képernyőn a "HELP" utasítással, amelyeket mi magunk állítottunk elő IS-DOS-szal. Tételezzünk fel egy olyan mágneslemezt, amelyen a következő lile-ok találhatók:

CONTROLL.COM
TEST.COM
PATZER.COM

Készítsen a lemezen egy "HELP" nevű altartalom-jegyzéket:

MKDIR A:!HELP

Ezután a rendszer szövegszerkesztőjével írjon HELP-szöveget p1. a "PATZER" TP-hez:

"A Patzer olyan sakkprogram, amely lehetővé teszi a játékos számára, hogy lépéseit az angol jelölésmód szerint közölje a géppel."

Az F3 "PRINT" funkcióbillentyűvel - az ösvény és a file-név, valamint a név után irt ".HLP" megadása után - ezt a szöveget írja fel a lemezre:

A:!HELP!PATZER.HLP

Ha az IS-DOS-ban bebillentyűzi, hogy:

HELP PATZER

akkor megjelenik a korábban szerkesztett HELP-szöveg a képernyőn. Az IS-DOS lemez HELP-file-okat tartalmaz az összes szokásos IS-DOS utasításokra vonatkozóan. A "HELP" utasításról bővebb magyarázat található az utasítások ismertetésénél.

2. Útmutató a felhasználó számára

2.1. Írásmód

A későbbiekben felsorolt utasítások részletes ismertetéséhez a következő írásmódot alkalmazzuk:

A következőkben felsorolunk minden olyan jelet és kifejezést, amely előfordulhat egy utasítássorban:

2.2. Általános szabályok

Az utasítás paramétereit és a tényleges utasítást legalább egy üres hellyel vagy egy tabulátorjellel el kell választani egymástól. Ha paraméterként két file-név szükséges, akkor ezeket is el kell egymástól választani a fenti módon, tehát egy tabulátorjellel vagy egy szóközzel. Azok a bővítések, amelyek "/" jel után állnak, szóköz nélkül bevihetők.
Jóllehet valójában nem utasítás a

d:

de felhasználásával átválthatunk egy másik meghajtóra. Hatására pl. a D: meghajtó lesz a rendszer éppen érvényes tómeghajtója, amelyre már az összes olyan utasítás vonatkozik, amelyben nincs megadva a meghajtó.

2.3. Az egyes utasítások pontos leírása

ASSIGN 
Formátum:ASSIGN (d: (d:))
Cél:Más nevű meghajtó előállítása.
Alkalmazás:
Az elsőnek megnevezett meghajtó hozzárendelése a második meghajtóhoz, miközben egyik meghajtónak sem kell ténylegesen léteznie. Egyetlen meghajtó esetén önmagát sajátmagához rendeli hozzá. Ha egyetlen meghajtó sincs megadva, akkor az összes korábbi ASSIGN utasítás törlődik.
Példa:
ASSIGN C: A:
Az összes olyan meghajtóra vonatkozó utasítást - amelyek normális esetben a C: meghajtóhoz rendelődnek - áttereli az A: meghajtóra.

 

ATDIR 
Formátum:ATDIR (d:) (ösvény) (/H) (-) ' (+) H)
Cél:A tartalomjegyzék jellemzőinek látható vagy láthatatlan megváltoztatása.
Alkalmazás:
A két első paraméter közül legalább az egyiket meg kell adni, hogy a tartalomjegyzékeket - amelyeknek a jellemzőit meg kell változtatni - részletesebben meghatározhassuk. Ha "H"-t vagy "+H"-t adunk meg, akkor a rendszer a megjelölt tartalomjegyzékeket láthatatlannak (hidden) tekinti. Ez azt jelenti, hogy ezekre egyetlen tartalomjegyzékre vonatkozó utasítás sem hat, és a "DIR" utasítás hatására is rejtve maradnak. A "-H" ismét láthatóvá teszi a megfelelő tartalomjegyzékeket.
Példa:
ATDIR BOOT H
ATDIR SOURCE? H
ATDIR BOOT/H -H

 

ATTR 
Formátum:ATTR (d:) (ösvény) (file-név) (/H) ((-) ' (+) H)
ATTR (d:) (ösvény) (file-név) (/H) ((-) ' (+) R)
Cél:A file-jellemzők megváltoztatása láthatóra vagy láthatatlanra, felülírás ellen védettre vagy felülírhatóra.
Alkalmazás:
Az első három paraméter közül legalább az egyiket meg kell adni, hogy a file-okat, amelyek jellemzőit meg kell változtatni, részletesebben meghatározhassuk. A "/H" opció lehetővé teszi a láthatatlan file-ok feldolgozását is.
"H" vagy "+H" megadásakor a file-ok láthatatlannak minősülnek, azaz egyetlen utasítással sem érhetők el, és a "DIR" utasítással sem jeleníthetők meg. A "-H" a megfelelő file-okat újra láthatóvá teszi. Jegyezzük meg: hatástalan a "-H" abban az esetben, ha előzőleg a "/H"-t nem adtuk meg.
"R" vagy "+R" megadásakor a vonatkozó file-ok felülírás ellen védettek (read only). Az "-R" ezt a védettséget feloldja, azaz hatása az előzőekkel ellentétes.
Példa:ATTR FRED R
ATTR B:! BOOT!.COM' H
ATTR !SOURCE /H -H -R

 

BACKUPtranziens utasítás, ha szükség van rá, akkor a gép a mágneslemezről betölti és végrehajtja.
Formátum:BACKUP forrás (cél) (/D) (/M) (/H) (/X) (/T) (/V)
Cél:A BACKUP-pal másolat készíthető vagy a teljes mágneslemezről, vagy pedig egy, a lemezen lévő file csoportról.
Alkalmazás:
A "forrás" összetevői: (d:) (ösvény) (file-név)
a "cél" összetevői: (d:) (ösvény).
Ha az első két paraméter közül csak az egyiket adjuk meg, akkor a program ezt a meghajtót forrásnak, az éppen érvényes főmeghajtót pedig célmeghajtónak veszi. Ha egyetlen meghajtót sem nevezünk meg, akkor a program megkérdezi, hogy melyik meghajtót tekintse forrásnak, illetve célnak. A meghajtók utasításban való megadása logikai kijelölésüket jelenti. Ha úgy alkalmaztuk az ASSIGN utasítást, hogy hatására mind a cél, mind a forrás ugyanahhoz a fizikai meghajtóhoz tartozott, akkor a gép hibaüzenetet küld. A MAPDISK műveletek működése a szokásos, a számítógép üzenetben közli, ha cserélni kell a mágneslemezeket.
Ha nem adjuk meg a forrás-file nevét, vagy általános helyettesítő karaktert rendelünk a file-névhez (amivel egy vagy több altartalom-jegyzékhez is fordulhatunk); akkor ezek a tartalomjegyzékek bevonhatók a BACKUP utasításba. (Az EXDOS COPY utasításával szemben ez igen nagy előny.)
A céllemezen lévő tartalomjegyzékek és file-ok nem kaphatnak más nevet, mint a forrás-lemezen lévő, megfelelő file-ok nevét. A BACKUP utasítás végrehajtása után a másolatlemezen lévő tartalomjegyzékek szerkezete azonos a forráslemezével.
A BACKUP a file-okat úgy másolja át, hogy nem veszi figyelembe jellemzőiket (láthatatlan vagy fellülírás ellen védett).
Ha a "/D"-t is megadjuk, akkor a másolás csak a megadott tartalomjegyzékben lévő file-okra vonatkozik, de nem érinti az esetleges altartalom-jegyzékek file-jait.
Az "/F" a céllemezen lévő összes file-t törli és újra formázza, hacsak nem formázott DOS-lemez volt. Ezzel a funkcióval elsősorban BACKUP-ok készíthetők egy teljes lemezről. A normál BACKUP utasítás a céllemezen esetleg meglévő file-okot nem írja felül. Ha a céllemezen már van egy a másolandóval azonos nevű file, akkor ez - amennyiben felülírás ellen nem védett - törlődik. A gép hibaüzenetet küld, ha a BACKUP-ra olyan tartalomjegyzéket kell másolni, amelynek a neve azonos egy már meglévő file nevével. Ilyen esetben a BACKUP a tartalomjegyzék, illetve a hozzá tartozó file-ok másolása nélkül folytatódik.
A BACKUP eljárással egy már archivált file-ról másolat készíthető az "/M" opcióval. Az /M-mel másolt file automatikus jelölést kap. A következő másoláskor nem készül másolat azokról a file-okról, amelyek ezzel a jelzéssel el vannak látva, feltéve, hogy a legutolsó másolás óta változatlanok maradtak. Az IS-DOS-ban a file-ra irányuló bármely művelet mindig eltávolítja az archív jelzést.
Az "/X" megakadályozza a figyelmeztető üzenetek közlését a képernyőn. Figyelmeztető üzenetet küld a gép, ha pl. úgy akarunk másolni egy lemezt, hogy közben "/F" adott, és a céllemezen még file-ok vannak.
Meghatározott jellemzőjű file-ok másolása során a céllemez file-jainak jellemzői azonosak lesznek a forrás-file-ok tulajdonságaival. A tartalomjegyzék dátum- és időpontbejegyzései is megfelelnek az eredeti bejegyzéseknek, feltéve, hogy a "/T" opciót nem alkalmazzuk.
A "/V" segítségével másolás után az automatikus összehasonlítást (verify) is elvégezhetjük, ellenőrizve, hogy a másolt adatok azonosak-e az eredetiekkel.
A DISKCOPY-val ellentétben, a BACKUP előnye, hogy a részlegesen írt lemezekről egymás mellett álló blokkokban ír át a céllemezre. A céllemez szerkezete ezáltal eltér a forráslemez szerkezetétől. Továbbá: az is lehetséges, hogy a BACKUP-pal a forráslemeztől eltérő formátumú lemezre másoljuk át a file-okat (eltérő sávszám stb).
Példa:BACKUP
BACKUP A: B: /X
BACKUP A:! DATA B:! DATABACK/D/M/T

 

BUFFERS 
Formátum:BUFFERS (lemezpufferek száma)
Cél:A rendelkezésre álló lemezpufferek számának kimutatása vagy megváltoztatása.
Alkalmazás:
Ha nem adunk meg számot, akkor a képernyőn megjeleníti a pillanatnyilag rendelkezésre álló lemezpufferek számát. Egyébként a lemezpufferek számát a megadott számértékre növeli. A pufferek száma nem csökkenthető. A rendszerben a pufferek számának szabványos értéke 3.
Példa:BUFFERS 5

 

CD 
Cél:Aktuális könyvtár megváltoztatása
Alkalmazás:ld. az EXDOS bevezetőben.

 

CHANNELS 
Cél:Információ a nyitott EXOS-csatornákról
Alkalmazás:
A program, indítás után kiírja a nyitott EXOS csatornákat, és külön kijelzi az editor video, és az editor keyboard csatorna számát.

 

CHDIR 
Cél:Aktuális könyvtár megváltoztatása
Alkalmazás:ld. az EXDOS bevezetőben.

 

CHKDSKtranziens utasítás, ha szükség van rá, a rendszer betölti a lemezről és végrehajtja.
Formátum:CHKDSK (d:)(/F)
Cél:A lemez sértetlenségének vizsgálata.
Alkalmazás:
Ha a "D:"-t nem adjuk meg, akkor az éppen érvényes főmeghajtón lévő lemezt ellenőrzi. A CHKDSK átvizsgálja a lemezt, hogy nincs-e rajta adatszerkezeti hiba. Ilyen hiba pl. úgy keletkezhet, ha a lemezen nyitunk egy file-t, de nem zárjuk le. A le nem zárt file által lefoglalt tárolóhelyet (néha több kbyte) más file -rendszerint -- nem használhatja. Ha a CHKDSK megállapítja, hogy a megvizsgált lemezen ilyen módon tárolóhely ment veszendőbe, akkor üzenetet küld, és megkérdezi, hogy ezt hozzáférhetővé kell-e tenni más file-ok számára.
Az így visszanyert tárolóhely bekerül a tartalombejegyzésbe, és a továbbiakban szokásos file-ként használható. (p1. kitöröljük a file-t, és a tárolóhelyet szabaddá tesszük más file-ok számára)
Az "/F"-et megadva a szükséges módosításokat a CHKDSK önállóan hajtja végre, képernyőre küldött üzenet nélkül.
Példa:CHKDSK
CHKDSK B:/F

 

A program lehetővé teszi, hogy nagytakarítást végezzünk lemezeinken. A program bejelentkezését követően sorban megjelennek a lemezen lévő file-ok, és ezeket az E billentyű lenyomásával törölni, a T billentyű lenyomásával type-olni, az N billentyű lenyomásával átugrani tudjuk. A Q billentyű leütésével visszatérhetünk a rendszerhez.

 

CLS 
Cél:Képernyő törlése
Alkalmazás:ld. az EXDOS bevezetőben.

 

COPY 
Cél:File-ok másolása
Alkalmazás:ld. az EXDOS bevezetőben.

 

DATE 
Cél:Rendszerdátum megjelenítése, beállítása
Alkalmazás:ld. az EXDOS bevezetőben.

 

DEL 
Cél:File törlése
Alkalmazás:ld. az EXDOS bevezetőben.

 

DIR 
Cél:lemez-directrory kilistázása
Alkalmazás:ld. az EXDOS bevezetőben.

 

DISKtranziens utasítás, ha szükség van rá, a rendszer betölti a lemezről és végrehajtja.
Cél:Információ kérése a kemezről.
Alkalmazás:
A program a lemezek ellenőrzésére szolgál, visszaadja a clusterenkénti szektorszámot, a szektor méretét, a lemezen lévő clusterek számát, valamint a lemezen szabadon lévő clusterek számát.

 

DISKCOPYtranziens utasítás, ha szükség van rá, a rendszer betölti a lemezről és végrehajtja.
Formátum:DISKCOPY (d: (d:))(/X)
Cél:Egy teljes lemez másolása szektorról szektorra.
Alkalmazás:
Az elsőnek kijelölt meghajtóban lévő teljes lemez másolása a második meghajtóban lévőre. Ha csak egy meghajtót adunk meg, akkor erről a főmeghajtóban lévő lemezre másol. Ha egyáltalán nem adunk meg meghajtót, akkor a program megkérdezi, hogy melyik két meghajtóról van szó. Ha a céllemez még nem formázott, akkor formázása automatikusan bekövetkezik. A céllemez formátuma ugyanolyan lesz, mint a forráslemezé volt.
Ha a céllemez formázott DOS-lemez, akkor figyelmeztetés és - ha rendelkezésre áll - a céllemez neve is megjelenik a képernyőn. Ha a cél- és a forráslemez formátuma eltérő volt, akkor a formázás után azonos lesz.
Az "/X" opcióval letiltjuk a figyelmeztető üzeneteket. Ilyenkor a számítógép anélkül másol, hogy figyelembe venné a céllemezen esetleg meglévő file-okat.
A DISKCOPY eredménye két lemez, amely tökéletesen azonos, egy dolgot kivéve: a láthatatlan file-ok vagy tartalomjegyzékek IS-DOS-ban szokásos ismertetőjele különbözik. A lemezek neve ugyanaz, és a forráslemezen esetlegesen meglévő adathibák is átkerülnek a másolatra.
Példa:DISKCOPY
DISKCOPY A: B:/X

 

DUMPtranziens utasítás, ha szükség van rá, a rendszer betölti a lemezről és végrehajtja.
Formátum:DUMP (file-név)
Cél:File-ok ASCII és HEXA dump-olása.
Alkalmazás:
A program lehetővé teszi a lemezen lévő file-ok ASCII, illetve HEXA dump-olását. A program bejelentkezést követően a megadott file első két rekordját kiírja a képernyőre, majd bármely billentyű lenyomását követően a következő két rekordot írja ki mindaddig, amíg a file végéhez nem ér. A program futása közben a CTRL+P lenyomásával átirányíthatjuk a DUMP-ot a nyomtatóra, a CTRL+C-vel visszatérhetünk a rendszerhez.
Példa:DUMP EXDOS.INI

 

ECHO 
Cél:Üzenet kiírása a képernyőre
Alkalmazás:ld. az EXDOS bevezetőben.

 

ERA 
Cél:File törlése
Alkalmazás:ld. az EXDOS bevezetőben.

 

ERASE 
Cél:File törlése
Alkalmazás:ld. az EXDOS bevezetőben.

 

EXDOS 
Cél:EXDOS-rendszer meghívása
Alkalmazás:ld. az EXDOS bevezetőben.

 

FKEYtranziens utasítás, ha szükség van rá, a rendszer betölti a lemezről és végrehajtja.
Formátum:FKEY
Cél:Funkcióbillentyűk definiálása
Alkalmazás:
A program beállítja a funkcióbillentyűket az alábbiaknak megfelelően:
F1 - DIR
F2 - FAST VIDEO ON
F3 - WP
F4 - MODE 80
F5 - AUTO VERIFY ON
F6 - SPEAKER ON
F7 - CLICK ON
F8 - PRINTER
F9   - CD
F10 - FAST VIDEO OFF
F11 - BASIC
F12 - MODE 40
F13 - AUTO VERIFY OFF
F14 - SPEAKER OFF
F15 - CLICK OFF
F16 - CLS
Példa:FKEY

 

FORMAT 
Cél:lemez formázása
Alkalmazás:ld. az EXDOS bevezetőben.

 

HELP 
Formátum:HELP d: ' (név)
Cél:Egy utasítás HELP-szövegeit jeleníti meg.
Alkalmazás:
Ha a (név) olyan EXOS rendszerbővítés neve, amelyhez HELP-szöveg tartozik, akkor ezt a gép kiírja. Ha nincs ilyen nevű rendszerbővítés, akkor az IS-DOS a "HELP" nevű altartalom-jegyzékben olyan szöveg-file-t keres, amelynek neve azonos ezzel a névvel, és tartalmazza a ".HLP" toldalékot. Ha a megfelelő file létezik, akkor kiírja a képernyőre, egyébként hibaüzenetet küld. A ".HLP" file-t először azon a meghajtón keresi, amelyről az IS-DOS-t betöltötték.
Ha a (név) helyett a d: -t adjuk meg, akkor a következő "HELP" utasítások hatására keresni kezdi a ".HLP" file-okat az érintett meghajtó "HELP" jegyzékében.
Példa:HELP
HELP BASIC
HELP PATH
HELP B:

 

ISDOS 
Cél:Az IS-DOS rendszer indítása
Alkalmazás:ld. az EXDOS bevezetőben.

 

LOAD 
Cél:program betöltése
Alkalmazás:ld. az EXDOS bevezetőben.

 

MAPDISK 
Formátum:MAPDISK d: d:
Cél:Ez az utasítás lehetővé teszi A: és B: meghajtó használatát akkor, ha valójában csak egy meghajtó létezik.
Alkalmazás:
A MAPDISK megadása az összes parancsot és utasítást - amelyek a MAPDISK utasításban közölt első meghajtóhoz hozzáférnek - átirányítja a másodikra, amelynek viszont ténylegesen léteznie kell. Ha a lemezt cserélni kell, automatikusan közli az üzenetet. Így a rendszer - amelynek csak egy meghajtója van - úgy viselkedik, mintha többel is rendelkezne.
Az IS-DOS indításkor megállapítja, hagy a számítógéprendszernek csak egy meghajtója van, és a MAPDISK műveletet automatikusan úgy hajtja végre, hogy az megfelel a "MAPDISK B: A:"-nak.
Példa:MAPDISK B: C:

 

MD 
Cél:alkönyvtár létrehozása
Alkalmazás:ld. az EXDOS bevezetőben.

 

MKDIR 
Cél:alkönyvtár létrehozása
Alkalmazás:ld. az EXDOS bevezetőben.

 

MODE 
Formátum:MODE ((80) ' (40) ' (logikai egység = EXOS egység))
Cél:Megváltoztatja a képernyő vagy az I/0-egységek oszlopszélességét.
Alkalmazás:

Ha nem adunk meg paramétert, akkor a meglévő MODE-érték jelenik meg. Ha egy számot (40 vagy 80) adunk meg, akkor a képernyőformátum átvált 40 vagy 80 oszloposra. Logikai egység megnevezése: LST:, AUX:, RFR: vagy PUN: legyen.
Ha nincs EXOS-egység megnevezve, akkor a közölt logikai egységhez a "NULL:"-t rendeljük. Ez különleges EXOS-egység, amely semmilyen adatkivitelt nem okoz, és bevitelként "file-vége"-t eredményez.
Logikai egységek:

  • LST:
    Kiviteli egység a párhuzamos csatolóegységen szokásos nyomtatás számára. Támogatja a PRINTER: EXOS-egységet.
  • RDR:
    Különleges célú segéd beviteli egység, amelynek nincs szabványos funkciója, de programok felhasználhatják. Az RDR: rendszerint használja az AUX: egységet (ld. a későbbiekben).
  • PUN:
    Különleges célú segéd kiviteli egység, amelynek szabványos funkciója nincs, de programok felhasználhatják. A PUN: rendszerint használja az AUX: egységet (ld. a későbbiekben).
  • AUX:
    Ha egy EXOS-egység hozzá van rendelve az AUX:-hoz, akkor ez az egység automatikusan a PUN:-hoz és az RDR:-hez is hozzá van rendelve. Az AUX: rendszerint használja a SERIAL: EXOS-egységet.

Ügyeljen rá, hogy a PUN: és az LST: egyaránt megnyit egy EXOS kiviteli csatornát, amint a MODE-utasítást kiadtuk. Mind az RDR:, mind az AUX: megnyit egy I/0-csatornát. Ezeket a csatornákat új MODE-utasítással kijelölt új logikai egység zárja le.

Példa:MODE
MODE LST:
MODE 40
MODE LST:=SSERIAL:
MODE PUN:=TAPE:MYFILE
MODE AUX

 

MOVE 
Cél:file mozgatása
Alkalmazás:ld. az EXDOS bevezetőben.

 

MVDIR 
Cél:alkönyvtár mozgatása
Alkalmazás:ld. az EXDOS bevezetőben.

 

PATH 
Formátum:PATH (paraméter (;paraméter)...)
Cél:Tranziens utasításnak jelzi a keresési ösvényt a tartalomjegyzékben, vagy meghatározza a keresési ösvényt.
Alkalmazás:
A következőkből áll a "paraméter": (d:) ösvény
A keresési ösvény olyan tartalomjegyzékbeli ösvények listája, amelyeket a megadott sorrendben akkor kutat át a rendszer, ha tranziens utasítást kap, és ezt az utasítást nem találja meg a lemez fatartalomjegyzékében. A keresés addig folytatódik, amíg a rendszer meg nem találja az utasítást vagy a keresőlista végére nem ér.
Ha a PATH-utasításban nem adunk meg paramétert, akkor az IS-DOS közli az éppen érvényes tartalomjegyzék-keresési ösvényt. Ebben az egyes altartalom-jegyzékeket ";" választja el egymástál. Ha a PATH-utasítás tartalmaz paramétereket, akkor ezek határozzák meg az új tartalomjegyzék-keresési ösvényt.
Ha nem neveztünk meg meghajtót, akkor az utasítás a pillanatnyi főmeghajtóra vonatkozik. Ha a paraméterek ösvényre vonatkozó adatot nem tartalmaznak, akkor a rendszer a megadott meghajtó éppen érvényes tartalomjegyzékében keres.
Ha nem adtunk PATH-utasítást, akkor a tranziens utasítás keresése csak a főmeghajtó pillanatnyi tartalomjegyzékére korlátozódik. Egy korábbi PATH-utasítás ismét végrehajtható a
PATH;
megadásával. A paramétereket a pontosvesszőn kívül a szóköz, a ferde vonal vagy az egyenlőségjel választhatja el egymástól.
Példa:
PATH
erre a számítógép válasza: E:!: A:!: A:!UTIL: B:!
PATH:
PATH A:!, a:!COM, B:

Ebben az utolsó példában a következő történt: a tranziens utasítást legelőször a pillanatnyi főmeghajtó érvényes tartalomjegyzékében keresi, ezt követben az A: meghajtó főtartalomjegyzékében, majd az A:!COM altartalom-jegyzékében, legvégül pedig a B: meghajtó pillanatnyi tartalomjegyzékében.

 

PAUSE 
Cél:felfüggeszti a rendszer működését, az ENTER megnyomására vár
Alkalmazás:ld. az EXDOS bevezetőben.

 

PRINTER 
Formátum:PRINTER (ON ' OFF)
Cél:A nyomtatókivitel be- vagy kikapcsolása.
Alkalmazás:
Ha sem az "ON", sem az "OFF" nincs megadva, akkor az utasítás váltakozva be-, illetve kikapcsolja a nyomtatókivitelt.
Ha a nyomtató be van kapcsolva, akkor - az LST: logikai egységtől függően - minden képernyőkivitelt a nyomtatóra irányít át a rendszer. Az állapotjelző sorban megjelenik a "PRINTER ON" üzenet. Mivel az LST: logikai egység minden más EXOS-egységet is támogathat, a kiviteli út csak a MODE utasításban megadott adatoktól függ.
Az F8 funkcióbillentyű a PRINTER utasításnak felel meg. A billentyűvel az "ON" és az "OFF" állapotok között tudunk ide-oda kapcsolgatni. Ez egyes CP/M-programok esetén is működik.
Példa:PRINTER
PRINTER ON
PRINTER OFF

 

RAMDISK 
Cél:RAMDISK létrehozása, megszüntetése a memóriában
Alkalmazás:ld. az EXDOS bevezetőben.

 

RD 
Cél:könyvtár törlése
Alkalmazás:ld. az EXDOS bevezetőben.

 

REM 
Cél:megjegyzések fűzese :BAT file-okban
Alkalmazás:ld. az EXDOS bevezetőben.

 

REN 
Cél:file átnevezése
Alkalmazás:ld. az EXDOS bevezetőben.

 

RENAME 
Cél:file átnevezése
Alkalmazás:ld. az EXDOS bevezetőben.

 

RMDIR 
Cél:könyvtár törlése
Alkalmazás:ld. az EXDOS bevezetőben.

 

RNDIR 
Cél:könyvtár átnevezése
Alkalmazás:ld. az EXDOS bevezetőben.

 

SAVE 
Formátum:SAVE (szám)(K ' P) (d:) (ösvény) file-név
Cél:Tárolja a Transient Program Area (TPA) részeit.
Alkalmazás:
A "szám" azoknak a byte-oknak a számát jelenti, amelyeket a tranziens programterületből tárolni kell. Ha "K"-t adunk meg, akkor a "szám" a tárolandó byte-ok számát jelenti. A "P" esetében a tárolandó 256 byte-os blokkok számáról van szó (mint a CP/M SAVE utasításánál).
A "file-név"-ben van az a név, amit - a TPA-ból származó - tartománynak a lemezen is adni kell.
Ügyeljen arra, hagy néhány IS-DOS utasítás - mivel a tárolóhelyre saját funkcióihoz szüksége van - tönkreteszi a TPA-kat (pl. COPY).
Példa:SAVE 1 TEST
SAVE 10K B:!UTIL!NEW.COM

 

STATTranziens utasítás, ha szükség van rá, lemezről betölti a rendszer és végrehajtja.
Cél:Rendszer állapotának ellenőrzése.
Alkalmazás:A program az EXOS rendszer állapotát jelzi vissza, az alábbiak szerint:
-Megosztott szegmensek száma
-Szabad szegmensek száma
- Felhasználónak kiosztott szegmensek száma
- Eszközöknek kiosztott szegmensek száma
- Rendszereknek kiosztott szegmensek száma
- Üzemképes szegmensek száma
- Üzemképtelen szegmensek száma
- 0 lapon lévő szegmens
- 1 lapon lévő szegmens
- 2 lapon lévő szegmens
- 3 lapon lévő szegmens

 

TIME 
Cél:rendszeridő megjelenítése, beállítása
Alkalmazás:ld. az EXDOS bevezetőben.

 

TYPE 
Cél:file tartalmának megjelenítése
Alkalmazás:ld. az EXDOS bevezetőben.

 

UNDELTranziens utasítás, ha szükség van rá, lemezről betölti a rendszer és végrehajtja.
Formátum:UNDEL (d:) (ösvény) (file-név)
Cél:Előállítja a korábban törölt file-t.
Alkalmazás:
Az utasítás a fő- vagy megnevezett meghajtó összes file-ját, valamint a törölt tartalomjegyzék-ösvényeket - amennyiben ez lehetséges - ismét helyreállítja. File-névként a régi file-neveket (*.*) kell alkalmazni.
A DELETE utasítás azonban csak akkor hatástalanítható, ha a törlés óta nem végeztek olyan lemezműveletet, amely pl. adatokat vagy programokat tárolt, azaz írt a lemezre. Ha ez lehetséges, akkor minden file-t és altartalom-jegyzéket - amelyek az adott tartalomjegyzék-ösvényen vannak - újra létrehozhat az utasítás. Az UNDEL segítségével még egy RMDIR vagy RD által törölt altartalom-jegyzék is helyreállítható. Az ebben az altartalom-jegyzékben levő file-ok esetében további UNDEL utasítás is szükséges az altartalom-jegyzékre vonatkozó bővített ösvény feltüntetésével.
Példa:UNDEL B:FRED.MAC
UNDEL A:!BOOT

 

VAR 
Cél:rendszer-változók beállítása
Alkalmazás:

ld. az EXDOS bevezetőben.
Ügyeljen arra, hogy az EXDOS kézikönyv 5. függeléke tartalmaz néhány EXDOS rendszerváltozót, amelyek a VAR utasítással kijelezhetők vagy megváltoztathatók. IS-DOS-ban kiegészítésképpen még a következő változókat használhatjuk:

  • VAR 69 (ON ' OFF)
    Ez a változó beállítja az IS-DOS kötegelt file-ok ECHO-állapotát. Ha a változó értéke egy kötegelt file-on belül volt, vagy a file feldolgozása előtt "ON" volt, akkor a rendszer a kötegelt file valamennyi utasítását - még végrehajtásuk előtt - közli. Az előre beállított érték az "OFF".
  • VAR 83 (ON ' OFF)
    Ha a változó értéke "OFF" (alapértelmezés), akkor a gépbe betöltött tranziens programok felülírhatnak egyes IS-DOS részeket. Ez teszi szükségessé az IS-DOS újbóli betöltését, ha visszatérünk az operációs rendszerbe. Nem íródhat felül az IS-DOS, ha a 83-as változó értéke "ON".
  • VAR 90 (ON ' OFF)
    Ha a változót "ON"-ra állítjuk be, akkor a szokásos EXOS-videocsatorna helyett saját videovezérlőt használhatunk. Ennek ugyan nagyobb a tárolóhelyigénye, de gyorsabb. Az alapértelmezés szerinti érték az "OFF" (ld. még a 3.4.48. alfejezetet).
  • VAR 91 (ON ' OFF).
    Ha a változót "0N"-ra állítjuk be, akkor az IS-DOS kibővíti a szabványos várójelet (pl. "A > ") a mindenkori érvényes tartalomjegyzék-ösvénnyel. Ekkor a várójel pl. így nézhet ki: "A:!UTIL > ". Bár ez az áttekintést esetleg megnöveli, de némiképp csökkenti a képernyőgörgetés szabadságfokát és a már korábban beadott utasítássorok ismételt felhasználását.
    Ha ugyanis pl. az "A:!UTIL>" várójel után egy utasítás áll, majd ezt követben visszamegyünk a képernyőszerkesztővel erre a sorra, és megnyomjuk az ENTER-t, akkor ebben az UTIL-ban az IS-DOS tranziens utasítást lát, és azt az A: meghajtó főtartalomjegyzékében keresi.

Az összes IS-DOS-szal befolyásolható EXOSváltozó listát ld. a 3. fejezetben.

 

VER 
Formátum:VER
Cél:Közli az alkalmazott IS-DOS változat számát.

 

VOL 
Cél:lemez-kötetnév címke beállítása
Alkalmazás:ld. az EXDOS bevezetőben.

 

WIPETranziens utasítás, ha szükség van rá, lemezről betölti a rendszer és végrehajtja.
Cél:Funkcióbillentyűk törlése
Alkalmazás:Törli a korábban beállított funkcióbillentyűket az F8 kivételével, amely PRINTER: marad.

 

XDIRTranziens utasítás, ha szükség van rá, lemezről betölti a rendszer és végrehajtja.
Formátum:XDIR (d:) (ösvény) (file.név) (/H)
Cél:Közli az adott tartalomjegyzék-ösvényen lévő összes file nevét
Alkalmazás:
A közlendő file-okat a meghajtó, az ösvény és a file-név (akár helyettesítő karakterekkel) jellemzi. Ez az utasítás összehasonlítható a DIR-rel, de nem csak egy tartalomjegyzék file-jait, hanem, az alárendelt tartalomjegyzékek összes file-jait is közli. Így az
XDIR A:!
utasítás közli az A: meghajtóban levő lemez összes file-jait és tartalomjegyzékeit.
A file-okon kívül járulékos jellemzőiket is kilistázza, kivéve a dátumot és az időpontadatokat. A tételes listán belül minden file-t a helyére illeszt, hogy megmutassa helyzetüket a tartalomjegyzék szerkezetében.
Példa:XDIR
XDIR B:!DATA

 

3. Úmutató a programozó számára

3.1. Bevezetés

Ebben a fejezetben ismertetjük azokat a feltételeket, amelyeket az Enterprise számítógépeken működő IS-DOS a tranziens programokkal (TP-kal) szemben támaszt. Legyen vezérfonal az új IS-DOS programok írásához és segítség a meglévő CP/M programok átírásához.
A tranziens program mindenekelőtt a funkcióhívások során kerül kapcsolatba az operációs rendszerrel. Az IS-DOS-ban ezek a hívások négy különböző úton jöhetnek létre:

Maga az IS-DOS az EXDOS alkalmazói programjának tekinthető, és egy TP úgy működik, mintha az IS-DOS alprogramja lenne. Ez azt jelenti, hogy valamennyi EXOS funkcióhívás a TP rendelkezésére áll. Ha a TP visszaadja a vezérlést az IS-DOS-nak, akkor ajánlatos az óvatosság.
A második funkcióhívási lehetőség (FISH vagy OISKIO) az EXDOS-ROM-on keresztül speciális TP-k számára van fenntartva (mint pl. a lemezek szolgáltató programjai).
Az ebben a fejezetben tárgyalt funkcióhívások nagy része a harmadik csoportba tartozik. Ezek a CP/M 2.2-vel és az MSX-DOS 1.0-val kompatibilisek. Néhány további hívás a speciális Enterprise EXOS konfigurációra vonatkozik.
A funkcióhívások negyedik kategóriáját (CP/M kompatibilis BIOS hívások) itt közelebbről nem ismertetjük, mert ezt rendszerint csak az átírt CP/M programokban használjuk. Ezek alkalmazásához néhány szempontot a 3.2.4. pontban is megemlítünk.

3.2. Tranziens Programterület (Transient Program Area, TPA)

3.2.1. Kilépés az IS-DOS-ból

A tranziens programot (TP) a 0100H címre töltjük be, az IS-DOS a CALL-lal hívja meg, miközben a veremmutató (stackpointer) egy IS-DOS-on belüli veremre mutat. Ez e belső verem elegendő ahhoz, hogy az IS-DOS az EXOS-hívásokat, valamint az IS-DOS megszakításokat lehetővé tegye. Ha több veremre van szükség (rendszerint ez az eset áll fenn), akkor a TPA-ban lévő programnak létre kell hozni a TPA-n belüli saját vermét. Ebben az időpontban a Z-80-as regiszter tartalma még nem meghatározott. Az első 256 RAM byte-ot a különböző paraméterek és programkódok már lefoglalták (1d. a 3.2.3. pontot). Ha a TPA-ba egy TP-t töltünk be, akkor a megszakítások általában véve megengedettek és nem szabad őket megállítani sem. IS-DOS funkcióhívás esetén a megszakítás esetleges megállítása hatástalan.

3.2.2. Visszatérés az IS-DOS-ba

A TP befejezési módjai a következők:

Ami az IS-DOS-t illeti, az első három módszer hatása azonos. Azonkívül azok CP/M és MSX-DOS kompatibilisek. A negyedik lehetőség (80h funkcióhívás) járulékos implementáció. Segítségével a program hibaüzenetet adhat vissza az IS-DOS-nak. Az első három módszer mindig nulla hibaüzenetet ad.
A TP úgy is befejezhető, hogy a felhasználó bebillentyűzi a "CTRL-C"-t vagy úgy, hogy a lemezművelet "megszakítani / ismételni / figyelmen kívül hagyni" üzenetére a "megszakítás"-sal válaszol. Mindkét esetben hibaüzenet megy az IS-DOS-nak.
Egy TP maga is képes "megszakítás"-rutint megadni. Ezt a rutint vagy lemezhiba, vagy a 80h funkcióhívás hívja meg, amikor a programot "CTRL-C"-vel fejezzük be. A rutin megadási módját és alkalmazását ld. a 3.4.44. alfejezetben.

3.2.3. A nulláslap alkalmazása

Programbelépéskor a rendszer különböző paramétertartományokat alakít ki a rendelkezésre álló RAM első 256 byte-ján belül. Ezek a tartományok - az EXOS számára lefoglalt be- és visszalépési területtál eltekintve - kompatibilesek a CP/M-mel és a következők szerint alakulnak:
A 0000h címen egy olyan ugrásutasítás található, amivel befejezhető a TP. Az a cím, ahová ugrani kell, felhasználható a BIOS ugrásvektor helyének a meghatározására is (1d. a 3.2.4.pontot). Az ugrási cím kis értékű byte-ja - hogy a CP/M kompatibilitást megtartsuk - mindig 03h.
A 0004h és a 0005h címeken a két foglalt byte az I/O-t, valamint a CP/M-ben a pillanatnyi meghajtó / felhasználó-t jelző byte. Az IS-DOS mindig megtartja az éppen érvényes meghajtó byte legújabb értékét. A gép nem kezeli a felhasználó számát és az I/0 byte-ot, mivel az I/0 vezérlés elkülönített, és a felhasználok számának nincs külön adminisztrációja.
A 0005h címen található az - az IS-DOS állandóan tárban lévő részének kezdetét jelző - ugrási cím, amelyet az IS-DOS funkcióhívások használnak. Ennek az ugrásnak a címe határozza meg továbbá azt a legmagasabb határt a TPA-n belül, amelyet egy programnak még szabad használnia. A TPA nagysága a rendszerben lévő RAM kapacitástól és egy esetleg védett Command Line Interpreter-től (IS-DOS CLI) függ (ld. a 83-as EXDOS-változót). A maximális TPA nagyság 56 byte (0100h-E105h). A CP/M kompatibilitás kielégítésére az ugrás címének alacsony helyértékű byte-ja mindig 06h. A közvetlenül ez előtt álló hat byte tartalmazza a CP/M változat számát és egy sorszámot.
A 0008h-002Fh tartomány a TP-k számára rendelkezésre áll. Lehetséges, hogy a hibakeresők a töréspontok részére használják a 0008h címet. Szokásos körülmények között ezért ezt a tartományt szabadon kell hagyni.
A 0030h és a 005Bh közötti teljes tartomány foglalt az EXOS be- és visszalépési kódok, valamint a megszakítások részére. Ezért nem szabad, hogy egy TP ezt a tartományt megváltoztassa, eltekintve attól, amikor a program-megszakítási vektort a 003Dh címre írjuk. Ügyeljünk arra, hogy a legtöbb CP/M hibakereső (mint pl. a DDT vagy a ZSID) a 0030h címet a töréspontok számára használja. Ezeket a programokat használatuk előtt megfelelően módosítani kell IS-DOS-ban. Ajánlatos a 0030h helyett a 0028h címet használni.
A 005Ch és a 006Ch címen lévő mindkét FCB érvényes és még nem megnyitott. Ezek tartalmazzák az első két utasítássor-paramétert, amelyeket file-névként értelmez a rendszer. Ha mindkét file-nevet használni kell, akkor a másodikat a TPA valamelyik helyére, egy elkülönített FCB-be kell átmásolni, mert az első megnyitásakor felülíródik (ld. a 3.3. alfejezetet).
A szabványos disk transfer terület címére, a 0080h címre mindig teljes utasítássor kerül a kezdőutasítás nélkül. Az utasítássor kezdeteként ott egy hosszúság-byte áll, a végén egy nulla-byte következik (sem a hosszúság-byte-ot, sem a nulla-byte-ot nem tartalmazza a hossz). A lánc minden karaktere átalakul nagybetűkké, és a CP/M kompatibilitás elérésére a füzér vezető szóközöket tartalmaz. A CP/M-ben rendszerint nincs nulla-byte, de az IS-DOS járulékosan rendelkezésre bocsátja.

3.2.4. A BIOS ugrási táblázat

A 0000h címen léve ugrás mindig olyan címre ugrik, amelynek alacsony helyértéke byte-ja 03h. Ezen a címen további ugrási utasítás található egy olyan ugrási táblázat 2. bejegyzéséhez, amely tizenhét bejegyzést tartalmaz. Ez pontosan megfelel a CP/M 2.2 BIOS ugrási táblázatának. A táblázatban az első nyolc belépés a rendszer újraindítására és az I/O karakterek számára van fenntartva. Ezek a rutinok CP/M kompatibilisek. A fennmaradó ugrások egyszerű lemezkezelő CP/M eszközök, amelyeket az IS-DOS nem használ, mert abban a file-rendszer szervezettsége egészen más. Ezekben a rutinokban egyszerűen visszaugrik a hívó programhoz. A főregiszter megváltoztatásán kívül semmi hatásuk nincs.
BIOS híváskor belső veremmel dolgozik az IS-DOS. Ezért van csak 8 byte-re szükség a felhasználói veremnél.
Figyelembe veendő, hogy - bár ez az ugrási táblázat mindig egy 256 byte-os határon van - nem ez a megfelelő távolság a TPA-k felső határáig (amint ezt a 0006h cím tartalma meghatározza), hogy a CP/M 2.2-vel összhangban legyen. A legtöbb CP/M program esetében ez nem határozhatna meg semmit sem, de néhány program ráhagyatkozik a CP/M 2.2 BIOS-ának pontos nagyságára. Az ilyen programokat használatuk előtt IS-DOS-ban módosítani kell.
A BIOS-ugrásvektorban a következő belépések vannak:

xx00h - JMPWBOOT;Warm boot
xx03h - JMPWBOOT;Warm boot
xx06h - JMPCONST;Console Status
xx09h - JMPCONIN;Console input
xx0Ch - JMPCONOUT;Console output
xx0Fh - JMPLIST;List output
xx12h - JMPPUNCH;Punch (auxilliary) output
xx15h - JMPREADER;Reader (auxilliary) input
xx18h - JMPRETURN;Home in CP/M
xx1Bh - JMPRETURN;Select disk in CP/M
xx1Eh - JMPRETURN;Set track in CP/M
xx21h - JMPRETURN;Set sector in CP/M
xx24h - JMPRETURN;Set DMA adress in CP/M
xx27h - JMPRETURN;Read sector in CP/M
xx2Ah - JMPRETURN;Write sector in CP/M
xx2Dh - JMPRETURN;Always returns A = 0 (not ready)
xx30h - JMPRETURN;Sector translate in CP/M

3.2.5. Karakter be- és kiadása (I/0)

A TP a felhasználóval és az operációs rendszer más részeivel két, különböző jellegű kapcsolatteremtésre képes: a 255-ös számú szabványos csatornán át EXOS funkcióhívással vagy CP/M kompatibilis IS-DOS - vagy BIOS - hívással. Alapvetően csak az egyik lehetőséget használhatja egy program. A két módszert semmi esetre sem szabad vegyesen alkalmazni. Ez előre nem látható következményekkel járhat (pl. a rendszer összeomlásával).
A szabványos EXOS-csatorna rendszerint szerkesztőcsatorna. Ha azonban a "PRINTER ON"-t választottuk, akkor egy speciális IS-DOS programrész kiviteleit mind a szerkesztőcsatorna, mind a nyomtatócsatorna kiadja. Itt most olyan csatornáról van szó, amelyet rendszerint az IS-DOS CLI használ be- és kivitel céljára. Valamennyi, az IS-DOS rendszerlemezen lévő TP (DISKCOPY, BACKUP, CHKDSK, UNDEL és XDIR) ezt a csatornát használja.
Az IS-DOS ki- és bevitel funkciói közvetlenül az EXOS video- és billentyűzetcsatornákat használják, a szerkesztőcsatornán át vezető kerülő nélkül. Erre azért van szükség, mert a szerkesztő sororientáltan dolgozik, ezzel szemben a CP/M be-és kivitelei karakterorientáltak. A karakterkivitelre irányuló első funkcióhíváskor törlődik a képernyő, hogy régi szöveg ne fedje az új kivitelt. A program karakteres kivitelét ezután megjeleníti a képernyő, de az nem a szerkesztő-pufferben található. Éppen ezért egy programmegszakítás után a program szöveges kivitelei már nem szerkeszthetők meg visszagörgetés segítségével.
Ha a képernyő-megjelenítés szabványos IS-DOS funkcióhívással történik, akkor előbb át kell alakítani a karaktereket a VT-52 terminálformátumról az EXOS videovezérlő funkcióra. A VT-52 terminálra bevezetett CP/M programok csak ezután használhatók közvetlenül, azaz az üzembehelyezés megváltoztatása nélkül. Ezenkívül az IS-DOS-nak van egy speciális vezérlője, ami az EXOS videovezérlőt megkerülve közvetlenül hozzáférhet a képernyőtárhoz. Akkor válhat ez a speciális üzemmód érdekessé, ha egy programnál fontos a képernyő gyors elérése (pl. szövegfeldolgozó program). Ezek a programok úgy helyezhetők üzembe, hogy a rendszerindításkor automatikusan bekapcsolják a gyors videóvezérlőt. Az ehhez szükséges IS-DOS funkcióhíváshoz ld. a 3.4 pontot.
A TP-kbeli EXOS funkcióhívások azért előnyösek, mert az EXOS képernyőszerkesztő nyújtotta lehetőségeket a programok teljesen ki tudják használni, és ezáltal olyan felhasználói csatolóegységhez jutnak, amely úgy dolgozik, mint az IS-DOS utasítássor-interpreter (CLI) vagy mint egy másik Enterprise program. Hátrányos, hogy az EXOS hívások nem kompatibilisek a CP/M-mel, és hogy általában lassabb a kivitel. A gyorsaság növelése érdekében a programnak a kiviteli adatokat a megfelelt csatornára kell küldenie.
Az IS-DOS funkcióhívások alkalmazásának előnye a kompatibilitás a CP/M-mel, és az, hogy meglehetősen gyorsak. Mindenesetre nem viselkedik úgy a program, mint az IS-DOS CLI vagy mint egy másik Enterprise program, pl. az IS-BASIC. Egy IS-DOS funkcióhívást alkalmazó program indításakor törli a képernyőt, úgyhogy a már végrehajtott utasítások nem pörgethetők vissza.

3.3. File-vezérlőblokkok (File Control Blocks, FCB)

Minden IS-DOS funkcióhíváskor - ha az lemezen lévő file-ra vonatkozik - a DE regiszterben egy FCB-re kell mutatót átadni. Ezek az FCB-k azonosak a CP/M FCB-jeivel, eltekintve attól, hogy az egyébként fenntartott mezők némelyikét használjuk. Erről ismerhetjük fel azt, hogy az IS-DOS mégiscsak más lemezszervezése.
Egy szokásos FCB hosszúsága 33 byte. Felhasználható minden szokásos file-művelethez (DELETE, RENAME stb.), valamint szekvenciális olvasáshoz és íráshoz. Véletlenszerű olvasáshoz és íráshoz még további 3 byte-ot alkalmazunk az FCB végén, hogy ott rögzítsük a relatív rekordszámot. Az MSC-szel kompatibilis olvasási és írási műveletek szintén használják ezt a három (sőt néhány esetben négy) byte-ot az FCB végén (további részleteket ld. a 3.4 alfejezetben).
A pontos byte-kiosztást, valamint az egyes adatmezők általános ismertetését a következőkben adjuk meg. Az adatmezők pontos ismertetését, valamint alkalmazásukat - amennyiben az az összefüggésekből nem derül ki - később ismertetjük.

00h
Meghajtószám, amely lehet 1...26; az alapértelmezés szerinti meghajtó a 0. Minden alkalmazott FCB-nek tartalmaznia kell, és egyetlen IS-DOS funkcióhívás sem módosítja.
01h...08h
File-név; balra ütköztetve, követő szóközökkel. Tartalmazhat "?"-et, ha az általános helyettesítő karakterek megengedettek (ld. a 3.4. alfejezetet). Összehasonlításkor nincs különbségtétel a nagy- és kisbetűs írás között; a 7-es bit figyelmen kívül marad. Új file-ok létrehozásakor minden betű átalakul nagybetűvé; a 7-es bit érintetlen marad.
09h...0BhFile-név bővítése. Ügyeljen rá: a byte beállított 7-es bitje nem flag, mint a CP/M-ben.
0Ch
File-méret (alacsony értéke byte). Értékét a TP-nek "CREATE" vagy "OPEN" előtt be kell állítania (rendszerint nullára). Szekvenciális olvasáshoz és íráshoz használatos, mindig a legújabb állapotra állítva. Véletlenszerű íráskor és olvasáskor is kap értéket. Ez a funkció kompatibilis a CP/M-mel és az MSX-005-szal.
0DhNem használjuk. Az "OPEN" és a "CREATE" nullára állítja be.
0Eh
File-méret (magasabb értéke byte). Az "OPEN" és a "CREATE" nullára állítja be. Szekvenciális íráshoz és olvasáshoz az előző file-méret bővítéseként használatos, mindig a legújabb állapotra állítva. Így lehetővé teszi nagyobb file-ok elérését. Bár ez a CP/M-ben más megoldású, ez mégsem befolyásolja ott az FCB-k alkalmazását. Hasonló a helyzet az MSX-DOS-ban is.
Adatrekord-hossz (alacsony értéke byte) az MSX-DOS blokkműveletei számára. A blokkolvasás (Block-Read) és blokkírás (Block-Write) műveleteinek használata előtt be kell állítani a szükséges rekord hosszának értékére.
0Fh
Rekordszámláló CP/M műveletekhez. Az "OPEN" és a "CREATE" állítja be az értékét, és ha szükséges, a
szekvenciális olvasás vagy írás megváltoztatja. Azonos a feladata a CP/M-ben és az MSX-DOS-ban.
Rekordhossz (magasabb értéke byte) az MSX-DOS blokkműveletei számára. Blokkírás és blokkolvasás műveleteinek használata előtt be kell állítani a szükséges rekord hosszának értékére.
10h...13h
File-méret byte-ban, az alacsony értékű byte következik előbb. A file-méret pontosan meghatározott és nem 128 byte-ra kerekített. Ezt a mezőt az "OPEN" és a "CREATE" állítja be, és minden írás a legújabb állapotra állítja. A TP nem változtathatja meg, mert amikor egy funkcióhívás lezárja a file-t, visszaíródik a lemezre. Ez a funkció az MSX-DOS-szal kompatibilis. A CP/M ebben a mezőben a file kitöltöttség) információit tárolja.
14h...17h
A lemeznév címkéje. Ez a négy byte-bál álló szám tartalmazza annak a lemeznek az ismertetőjelét, amelyikhez ez az FCB hozzáfér. Értékét az "OPEN" és a "CREATE" határozza meg, és a "READ", a "WRITE" és a "CLOSE" funkciók hívásakor az értéke ellenőrizhető. A TP-nek nem szabad megváltoztatni a címkét. Ez a funkció eltér az MSX-DOS-tól, mert az itt tárolja a dátumot és a file legutolsó hozzáférési időpontját. Eltér a CP/M-tő1 is, mivel az itt a file foglaltsági információit tárolja.
18h...1Fh
Belső információk. Ezzel a byte-ok adatai lehetővé teszik a file megtalálását a lemezen. A TP semmi esetre sem változtathatja meg. Az információk hasonlóak az MSX-DOS megfelelő információihoz, de teljesen eltérnek az CP/M-beliektől.
20h
Jelenlegi rekordszám a (0...127) extent-számon belül. Rendszerint az első szekvenciális olvasás vagy írás előtt a TP-nek a szám értékét be kell állítania (többnyire nullára). Szekvenciális olvasáskor vagy íráskor a rendszer használja és meg is változtatja.
Relatív file hozzáféréskor is használatos. Kompatibilis az MSX-DOS-szal és a CP/M-mel.
21h...24h
Relatív adatrekord szám, elsőként az alacsony értéke byte áll. Ez az adatmező relatív vagy blokkolvasási és -írási művelet végrehajtásához használható (és csak akkor szükséges). Értékét még a tényleges hozzáférés előtt meg kell határozni és a blokkolvasási és -írási műveletekkel mindig karbantartani. A relatív írási és olvasási műveletek nem változtathatják meg. A "relatív adatrekord meghatározása" nevű funkció is használja.

Azok a blokkműveletek, amelyek az MSX-DOS-ban előfordulnak, de a CP/M-ben nem, mind a négy byte-ot használják, ha az adatrekord hossza kisebb, mint 64 byte. Ha a byte-ok száma 64 vagy annál nagyobb, akkor csak az első három byte-ot használják. A relatív írási vagy olvasási műveletek csak az első három byte-ot használják (azzal a feltételezéssel, hogy a rekordhossz 128 byte). Ez kompatibilis a CP/M-mel és az MSX-DOS-szal.

3.4. IS-DOS funkcióhívások

Az IS-DOS funkciók hívása a következő: azt követően, hogy a C regiszter a funkciókódot, a többi regiszter pedig az egyéb paramétereket tárolja, a gép végrehajtja a "CALL 5" parancsot. A funkcióhívás eredményeképpen különböző - a választott funkciótól függő - visszajelzett értékek jelennek meg a főregiszterekben. Az IS-DOS funkcióhívás rendszerint valamennyi főregiszter (AF, BC, DE, HL) tartalmát megsemmisíti. Az indexregiszterek (IX, HL), valamint az alternatív regisztercsoport (AF', BC', DE', HL') mindig változatlanok maradnak. A TPA-hoz tartozó veremből csak 8 byte szükséges, mert hívásakor az IS-DOS átkapcsol egy belső veremre. A CP/M-ben is meglévő funkcióhívások esetében - kompatibilitási okokból - az A és L, valamint a B és H regiszterek ugyanazokat az értékeket tartalmazzák. Gyakran az A regiszterbe "sikerkód" kerül, azaz sikeres hívás után a regiszter tartalma 00h lesz, egyébként O1h vagy FFh. Az összes funkció az "OR A" parancs által beállított flag-gel tér vissza akkor is, ha a visszatérés időpontjában az A regiszter tartalma meghatározatlan.
A következőkben az összes IS-DOS funkcióhívást felsoroljuk. Azok a hívások, amelyeket itt nem tüntettünk fel, semmit nem eredményeznek, és úgy térnek vissza, hogy az A, B és a HL regiszterek tartalmát nullára állítják. A jegyzékben a "CP/M" azt jelenti, hogy a hívás messzemenően kompatibilis a CP/M-mel. Az "MSX" az "MSX"-szel való kompatibilitásra utal.

00hIS-DOS újraindításaCP/MMSX
01hbevitel konzolrólCP/MMSX
02hkonzolkivitelCP/MMSX
03hbevitel külső eszközrőlCP/MMSX
04hkivitel külső eszközreCP/MMSX
05hkivitel listáraCP/MMSX
06hközvetlen konzol I/0CP/MMSX
07hközvetlen konzolbevitel MSX
08hkonzolbevitel visszhang nélkül MSX
09hkarakterfüzér-kivitelCP/MMSX
0Ahpufferezett sorbevitelCP/MMSX
0BhkonzolállapotCP/MMSX
0ChCP/M változatszám közléseCP/MMSX
0Dhdisk reset (pufferürítés)CP/MMSX
0Ehmeghajtó kiválasztásaCP/MMSX
0Fhfile megnyitásaCP/MMSX
10hfile lezárásaCP/MMSX
11helső bejegyzés kereséseCP/MMSX
12hkövetkező bejegyzés kereséseCP/MMSX
13hfile törléseCP/MMSX
14hszekvenciális olvasásCP/MMSX
15hszekvenciális írásCP/MMSX
16hfile létrehozásaCP/MMSX
17hfile átnevezéseCP/MMSX
18hlogin vektor közléseCP/MMSX
19halapértelmezés szerinti meghajtó közléseCP/MMSX
1Ahlemez-transzfercím meghatározásaCP/MMSX
1Bhallokációs információ közlése MSX
1Chnem használatos (írásvédelem a CP/M-ben)  
1Dhnem használatos  
1Ehnem használatos (file-jellemzők a CP/M-ben)  
20hnem használatos (get/set) felhasználó kód a CP/M-ben)  
21hVéletlenszerű olvasásCP/MMSX
22hVéletlenszerű írásCP/MMSX
23hfile-méret közléseCP/MMSX
24hvéletlenszerű adatrekord beállításaCP/MMSX
25hnem használatos (not used a CP/M-ben)  
26hblokk írása MSX
27hblokk olvasása MSX
28hvéletlenszerű írás nulla töltésselCP/MMSX
29hnem használatos (reset drive a CP/M-ben)  
2Ahdátum közlése MSX
2Bhdátum beállítása MSX
2Chidőpont közlése MSX
2Dhidőpont beállítása MSX
2Ehvery flag be- visszaállítása MSX
2Fhabszolút olvasás MSX
30habszolút írás MSX
80hmegszakítás hibajelzéssel  
81hmegszakításrutin megadása  
82hszegmens lefoglalása  
83hszegmens foglaltságának feloldása  
84hutasítássor átvétele a kisbetűk nagybetűkké alakítása nélkül  
85hgyors videovezérlő bekapcsolása  
86hlogikai / fizikai meghajtó átváltása  
87hFISH veremmutató közlése  
88hIS-DOS változók számának közlése  

00h funkciókód - IS-DOS újraindítása
Paraméter: nincs
Hatása: IS-DOS újraindul
A funkció hívása egyértékű a 0000h címre ugrással. Visszaadja a rendszer vezérlését az IS-DOS parancsfeldolgozónak, amely szükség esetén lemezről újratöltődik. A korai programmegszakítás rutinjának hívása nélkül az IS-DOS 00h hibajelet kap vissza.

01h Funkciókód -bevitel konzolról
Paraméter: nincs
Hatása: L = A = billentyűzetről érkező jel
A billentyűzetről leolvasott jel a képernyőn is megjelenik. Ha nincs jel, a rendszer várakozik, amíg egy billentyűt meg nem nyomunk. "CTRL-S", "CTRL-P", "CTRL-C" karakter érkezése esetén bekövetkeznek a megfelelő CP/M funkciók: "programfutás felfüggesztése", "nyomtatás be/kikapcsolása", "programmegszakítás", de e jelek nem adódnak tovább a TP-nek. "CTRL-C" esetén a rendszerhez való visszatérési szándékot a képernyőn megjelent kérdés megválaszolásával kell megerősíteni.

02h Funkciókód - konzolkivitel
Paraméter: E, a kiviendő jel Hatása: nincs
Az E regiszterben lévő jel a képernyőre kerül. Ha "CTRL-"-lel a nyomtatást bekapcsoltuk, a jel a nyomtatón is megjelenik. A rendszer ellenőrzi, hogy a "CTRL-S"-t, "CTRL-P"-t vagy a "CTRL-C"-t megnyomtuk-e. Bizonyos vezérlőkarakterek és Escape-szekvenciák használhatók a képernyővezérlésre is. Ezek a VT-52 szabványon alapulnak, és a 3.5. alfejezetben bővebben olvashatunk róluk.

03h Funkciókód - bevitel külső eszközről
Paraméter: nincs
Hatása: L = A = beolvasott jel
A külső eszközről beolvasunk egy jelet. Amennyiben nem áll rendelkezésre azonnal ilyen jel, a rendszer vár az érkezésére. Az eszközt előzőleg a "MODE" utasítással elérhetővé kell tenni.

04h Funkciókód - kivitel külső eszközre
Paraméter: E = kiadandó jel Hatás : nincs
Az E regiszterben tárolt jel a külső eszközre íródik. Az eszközt előzőleg a "MODE" utasítással a rendszer számára elérhetővé kell tenne.

05h Funkciókód - listára
Paraméter: E = kiadandó jel
Hatása: nincs
Az E regiszterben tárolt jelet a rendszer a nyomtatóhoz küldi. A nyomtató csatornája a "PRINTER:"-hez nyílik meg, ez azonban a "MODE" paranccsal megváltoztatható. Ezáltal pl. soros nyomtató is használható. Ezenkívül ezt a funkciót arra is lehet használni, hogy nyomtatóra küldött adatokat lemezes file-ba átirányítsuk. Konzolkivitel esetén a rendszer ugyanazt a csatornát használja, amely a jeleket nyomtatára küldi. Ebben az esetben minden nyolcadik oszlopra kerülnek a tabulátorok.

06h Funkciókód - közvetlen konzol I/0
Paraméter:
E = 00h...FEh, kiadandó jel
E = FFh, várakozás bevitelre
Hatása: A = L bevitel - 00h, nem várakozik jel a bevitelre, egyébként pedig a bevitt jel nincs kivitelre értelmezve.
Ha a belépéskor az E regiszter tartalma FFh, a rendszer figyeli, hogy van-e megnyomott billentyű. Ha nem, 00h adódik vissza. Ha igen, úgy ez a jel kerül az A regiszterbe anélkül, hogy a képernyőn is megjelenne, és hogy a rendszer vizsgálná, hogy az érkező jel vezérlőjel-e.
Ha a belépéskor az E regiszter tartalma FFh, akkor a rendszer ellenőrzi a billentyűzetet, hogy érkezik-e onnan jel. 00h kerül vissza, ha egy billentyűt sem nyomtak le. Ha volt jel, akkor ez kerül vissza az A regiszterbe anélkül, hogy a képernyőn is megjelenne vagy hogy a rendszer a vezérlőkódot megvizsgálná.
Ha a belépéskor az E regiszter tartalma nem FFh, akkor a jel a konzolra kerül. A tabulálás nincs kiterjesztve, és nincs visszajelzés a nyomtatón keresztül.

07h funkciókód - közvetlen konzolbevitel
Paraméter: nincs
Hatása: L = A = beolvasott jel
Működési szempontból megegyezik a 06h funkció bevitelrészének mechanizmusával. Na nincs jel, a rendszer várakozik valamely billentyű megnyomására. A 06h funkcióhoz hasonlóan a vezérlőkaraktereket nem figyeli a rendszer, és nincs átvitel a nyomtatóra. E funkció lehetővé teszi az MSX-DOS-szal a kompatibilitást. Ez a CP/M-ben nincs, ott e funkció megfelelőjének neve: "Get I/0 Byte".

08h funkciókód - konzolbevitel visszhang nélkül
Paraméter: nincs
Hatása: L = A = beolvasott jel
Ez a funkció megegyezik a 01h funkcióval, azzal a különbséggel, hogy a beolvasott jel nem kerül a képernyőre. A vezérlőkaraktereket a rendszer figyeli. E funkciót az MSX-DOS-szal való kompatibilitás elérésére hozták létre. A CP/M-ben a 08h funkciójelet a "Set I/0 Byte"-hoz használják.

09h Funkciókód - karakterfűzér-kivitel
Paraméter: DE = a karakterfüzér címe Hatása: nincs
A DE regiszterben tárolt mutató által mutatott karakterlánc jelei a normál konzolkivitel-rutinnal (02h funkció) a képernyőre kerülnek. A karakterfüzért "$"-jel (ASCII 24h) zárja le.

0Ah Funkciókód - pufferezett sorbevitel
Paraméter: DE = bevitel-puffer címe
Hatása: nincs
A DE-beli mutató a bevitel pufferként használatos tárterület elejére mutat. A puffer első byte-ja a pufferben tárolható karakterek max. számát (0...255) szabja meg. A billentyűzetről beolvasott jelek a pufferbe íródnak (a DE+2 címtől kezdődően) az ENTER megnyomásáig. A beadott karakterek száma a záró CR nélkül a DE+1 címre kerül. Fia még van hely a pufferben, a CR karakter is - a karakterlánc mögé - a pufferbe íródik. Ez eléggé eltérő a CP/M-tól, de a funkciók hatásukban ennek ellenére kompatibilisek.
Ha a bevitel alatt megtelik a puffer, minden további karakter leütésére figyelmeztető hang szólal meg. A beadott szöveg egyszerűen javítható botkormánnyal, illetve az "INS", "DEL" és "ERASE" billentyűkkel. A begépelt karakterek a beütés sorrendjében a képernyőn is megjelennek. Ha a "PRINTER ON" állapot érvényes, az "ENTER" gomb megnyomása után a bevitt karakterfüzér nyomtatóra is kerül.

0Bh funkciókód - konzolállapot
Paraméter: nincs
Hatása:
L = A 00h, ha nem volt beadott jel
L = FFh, ha volt beadott jel
Az A regiszterbe kerülő érték jelzi, hogy volt-e beadott jel. A 02h funkcióhoz hasonlóan a rendszer figyeli a vezérlőkaraktereket.

0Ch funkciókód - CP/M változatszám közlése
Paraméter: nincs
Hatása:
L = A = 22h
H = B = 00h
Ez a funkció az éppen illesztett CP/M változatszámát adja vissza. A jelenleg létező rendszerben ez mindig 2.2. Az IS-DOS és az EXDOS verziószáma a 88h funkció segítségével kapható meg.

0Dh Funkciókód - disk reset
Paraméter: nincs hatása: nincs
A pufferekben lévő összes adat a lemezre íródik. Meghajtóváltáshoz - a CP/M-től eltérően - nem szükséges e funkciót aktivizálni. A "lenez transzfer" cím a 80h szabványos értékre állítódik vissza.

0Eh Funkciókód - meghajtó kiválasztása
Paraméter: E = meghajtószám 0=A, 1=B és így tovább
Hatása: L = A = a meghajtók száma (1...26)
E funkcióval az adott meghajtót a rendszer főmeghajtójának jelöljük ki, s címe a "DEF-UNIT" EXOS-rendszerváltozóba kerül (részletesebben ld. az EXDOS leírásban). A CP/M-mel való kompatibilitás elérésére a főmeghajtó címe a 0004h címre is fölíródik.
Az MSX-DOS kompatibilitás érdekében az A regiszterbe kerül a meghajtók száma. Ez a lehetőség nincs meg a CP/M-ben. A meghajtók száma a login vektor felkapcsolt bitjeinek számából határozható meg. Vegyük észre, hogy a rendszer nem tudja, hány meghajtót csatlakoztattunk, csak a rendelkezésre álló Unit-Handler-ek száma ismert. Ez azt jelenti, hagy a rendszer alapértelmezésben feltételezi, hogy öt meghajtó (négy lemez és egy RAMDISK) áll rendelkezésre.

0Fh Funkciókód - file megnyitása
Paraméter:
DE = mutató a meg nem nyitott FCB-re
L = A = 0FFh, ha a file nem találgató
L = A = 000h, ha a file megvan
A meg nem nyitott FCB-nek tartalmaznia kell egy meghajtót - ez lehet 0, ha a főmeghajtót rendeljük a file-hoz -, továbbá a file nevét, valamint a név toldalékát. Az általános helyettesítő karakterek használata megengedett. A rendszer az adott meghajtó éppen érvényben lévő könyvtárában megkeresi és - ha megtalálta - megnyitja a file-t. Az altartalomjegyzékre és a rendszerfile-okra vonatkozó bejegyzések a keresés során figyelmen kívül maradnak. Ha a file-név általános helyettesítő karaktert tartalmaz, a maszknak megfelelő, elsőnek talált file-t nyitja meg a rendszer.
A file-méret alacsony értéke byte-ját a funkció nem változtatja meg. A rendszer a file-t csak akkor nyitja meg, ha a megadotthoz képest a file-méret elegendően nagy. Rendszerint egy TP 00h-ra állítja be a file-méretet, mielőtt ezt a funkciót hívja. A file-méret magasabb értéke byte-ja 0-ra állítódik, a CP/M-mel való kompatibilitás érdekében.
A file-nevet és annak toldalékát az FCB-ben a rendszer a megnyitott file adatainak megfelelően állítja be. Ezt csak akkor figyelhetjük meg, ha a keresett file neve általános helyettesítő karaktereket vagy kisbetűket tartalmaz.
A rekordszám a file méretéből számítódik ki, a 128 byte-os rekordhossznak megfelelten. Kitöltődik a lemeznév-mező, és beállítódik a 8 foglalt byte is. Az aktuális rekordot tartalmazó, ill. a direkt hozzáférése mezőket a funkció nem változtatja meg. Ezeket az írási és olvasási műveletek előtt a TP-knek kell beállítani.

10h Funkciókód - file lezárása
Paraméter:
DE = mutató a megnyitott FCB-re
L = A = 0FFh, ha nem volt sikeres
L = A = 000h, ha sikeres volt
E funkció hívása előtt az FCB-nek nyitva kell lennie OPEN vagy CREATE hívás révén. Ha a file-t csak olvastuk, akkor a funkciónak semmiféle hatása nincs. Ha írtunk is a file-ba, a pufferben mén bent lévő minden adat a lemezre íródik, és a tartalomjegyzék karbantartása az új állapotnak megfelelt lesz. Minthogy a file lezárása után a file-hoz bármikor ismét hozzáférhetünk, e - lezárásból fakadt - nagyobb adatbiztonság érdekében elképzelhető, hogy a munka során ez a funkció többször is aktivizálódik.

11h Funkciókód - első bejegyzés keresése
Paraméter: DE = mutató a meg nem nyitott FCB-re
L = A = 0FFh, haa a file nem találgató
L = A = 000h, ha a file megvan
Ez a funkció megkeresi az adott meghajtó éppen érvényes tartalomjegyzékében az FCB-ben megadott nevű és toldalékú file-t. ha a file-név általános helyettesítő karaktereket tartalmaz, a keresés az első - a maszknak megfelelő - file megtalálásáig tart. A rendszer használja a file-méret alacsony értékű byte-ját, és a file-t csak akkor találja meg, ha a file-méret a megadotthoz képest elegendően nagy. E funkció hívása előtt a file-méret rendszerint 00h-ra állítódik. A rendszerfile-okra és az altartalomjegyzékekre vonatkozó bejegyzések a keresés során figyelmen kívül maradnak.
Ha a rendszer talál a keresésnek megfelelt file-t (A=00h), menteajtószámot és a tartalomjegyzékbeli bejegyzést a disk transfer címre másolja. Ezt a későbbi OPEN-hívások közvetlenül mint FCB-t használják. A file-méret az FCB-beli file-méret alacsony értékű byte-ja alapján lesz beállítva, és a rekordszám is ennek megfelelően kap kezdőértéket (akárcsak az OPEN-nél). Ez azt jelenti, hogy nincs tartalomjegyzékbeli jellemző byte-ja, hiszen azt a file-méret bejegyzés foglalja le. A tartalomjegyzék-bejegyzések felépítésének magyarázata az EXDOS leírásban található.
Ha a rendszer a file-t nem találja meg (A=0FFh), a DTA nem változik. A DE-ben tárolt mutatóval címzett FCB semmi esetre sem változik. A funkció minden szükséges információt "megjegyez" ahhoz, hogy a "következő file-bejegyzés megkeresése" funkció végrehajtható legyen.
A CP/M-ben, ha e funkció tartalomjegyzék-bejegyzésében "?" van, a rendszer foglaltságtól függetlenül az összes tartalomjegyzék-bejegyzést összehasonlítja. Ha a file-néret mezőt állítottuk "?"-re, akkor a lemez összes file-mérete lesz összehasonlítva. Ez utóbbi két lehetőséget rendszerint csak speciális CP/M programok használják, amelyek szorosan együttműködnek a CP/M file-kezelő rendszerével (pl. STAT). Egyik lehetőséget sem tartalmazza az MSX-DOS 1.0, habár a rendszerismertetők olykor az ellenkezőjét állítják. Ezek az IS-DOS-ban sem teljesülnek.

12h Funkciókód - következő bejegyzés keresése
Paraméter: nincs
Hatása:
L = A = 0FFh, ha a file nem található
L = A = 000h, ha a file megvan
E funkciót csak a 11h funkció meghívása és végrehajtása után szabad meghívni. Folytatja a keresést a következő megfelelő - a maszkra illeszkedő - bejegyzés után. A funkció által visszaadott értékek megegyeznek az "első bejegyzés keresése" (11h funkció) által visszaadottakéval. A keresés folytatásához szükséges adatokat az IS-DOS tárolja, így az eredeti FCB (llh funkció) megőrzése nem szükséges.

13h Funkciókód - file törlése
Paraméter:
DE = mutató a meg nem nyitott FCB-re
L = A = 0FFh, ha egyetlen file sem törlődött
L = A = 000h, ha legalább egy file törlődött
Az FCB-ben adott meghajtó érvényes tartalomjegyzékében található valamennyi file törlődik, amelynek neve az adott maszkra illeszkedik. Nem törlődnek az altartalomjegyzékekben lévő file-ok, a rendszerfile-ok és az írásvédett file-ok. Az A regiszterbe csak abban az esetben kerül 000h, ha legalább egy file-t törölt a rendszer. 0FFh azt jelenti, hogy file-törlés nem volt.

14h Funkciókód - szekvenciális olvasás
Paraméter: DE = mutató a meg nem nyitott FCB-re
Hatása:
L = A = 01h, file vége (EOF) esetén
L = A = 00h, sikeres olvasás esetén
E funkció kiolvassa a file következő 128 byte-os rekordját, és az aktuális DTA-ba írja. A rekordot a file-méret (high és low hyte) és a pillanatnyi rekordsorszám határozza meg. A rekordszámot a funkció minden sikeres olvasásnál eggyel növeli, a 080h érték elérésekor viszont nullázódik. Ekkor a file-méret értéke nő eggyel. A rekordszámláló karbantartása is folyamatos.
CP/M-ben és MSX-DOS-hon az A regiszterben a 01h hibakód mindig "file-vége"-t jelent. IS-DOS-ban e funkció lényegesen többféle hibakódot adhat vissza. Ez azonban rendszerint nem zavarja a TP további helyes móködését. Pontosabban úgy tekinthetjük, mintha a rendszer közönséges EOF-t jelezne. Az IS-DOS-ban a szekvenciális olvasás egy 2 kbyte-os pufferen keresztül történik. Ez a file gyorsabb olvasását teszi lehetővé, ugyanakkor nem zavarja a TP futását.
A CP/M-től eltérően akadhat olyan rekord is, amoly nem tölti ki mind a 128 byte-ot, hiszen a rekordok hossza nem feltétlenül a 128 többszöröse. Ez esetben a DTA-ra írásnál a hiányzó karakterek helyére nulla byte-ok kerülnek.

15h Funkciókód - szekvenciális írás
Paraméter:
DE = mutató a meg nem nyitott FCB-re
L = A = 01h, hiba esetén (ha a lemez betelt)
L = A = 00h, sikeres írás esetén
E funkció az aktuális DTA-ból 128 byte-ot a file-ba ír, mégpedig az aktuális rekordsorszám és a file-méret által meghatározott pozícióra. A rekordsorszám és a file-méret lépésről lépésre, minden írás után nő. A rekordsorszám byte minden íráskor, ill. a file-méret változásakor aktualizálódik. íráskor a file-méret az FCB-ben is állandóan módosul.
A CP/M-ben és MSX-DOS-ban az A regiszterben a 01h hibakód mindig azt jelzi, hogy a lemez betelt. Az IS-DOS most is többféle hibakódot adhat vissza, ez azonban a TP-oknál a legtöbb esetben nem lényeges.

16h Funkciókód - file létrehozása
Paraméter:
DE = mutató a meg nem nyitott FCB-re
L = A = 0FFh, ha sikertelen
L = A = 000h, ha sikeres
E funkció az adott meghajtó érvényben levő tartalomjegyzékében létrehoz egy új file-t és megnyitja azt. A meghajtót, a file-nevet és a file-méret alacsony értékű byte-ját az FCB-ben előzőleg be kell állítani. A file-név általános helyettesítő karaktert nem tartalmazhat. A rendszer ellenőrzi, hogy a file-névben nincsenek-e tiltott karakterek.
Ha a lemezen már van a megadott néven file, akkor a file-méret mezőtartalmától függ, hogy a továbbiakban mi következik. E mező tartalma általában nulla. Ebben az esetben a meglévő file törlődik, és egy új jön létre ugyanazon a néven. Ha a file-méret nem nulla, akkor a rendszer ezt a meglévő file-t nyitja meg. Ez a megoldás garantálja a régebbi CP/M-változatokkal a kompatibilitást, amelyek a file-méret mező- tartalmától függetlenül végrehajtják a megnyitást.
Az ebből a meghívásból keletkező file megnyitása minden esetben olyan, mintha azt egy "file nyitása" funkció hívásával végeztük volna el.

17h Funkciókód - file átnevezése
Paraméter:
DE = mutató a meg nem nyitott, megváltoztatott FCB-re
L = A = 0FFh, ha sikertelen
L = A = 000h, ha sikeres
A meg nem nyitott FCB-ben a szokásos módon megtalálható a meghajtó megjelölése és a file-név, továbbá a DE+17 címtől kezdődően egy második file-név. A megadott meghajtó érvényes tartalomjegyzékében minden file ezt a második új nevet kapja meg. Ha az új file-névben általános helyettesítő karakterek találhatók, akkor a file-nevek megfelelő betűi nem változnak. A funkció eközben ellenőrzi, hogy az átnevezés során azonos, ill. érvénytelen nevű file-ok nem keletkeznek-e. Az átnevezés az altartalomjegyzékekre és a rendszerfile-okra nem vonatkozik.

18h Funkciókód - login vektor behívása
Paraméter: nincs
Hatása: DE:HL = login vektor
E funkció egy 32 bites szót ad vissza a DE:HL regiszterekbe. A szóban minden felkapcsolt bit egy meglévő meghajtónak felel meg. A HL regiszter nullás bitje az A: meghajtónak felel meg. A CP/M-ber és MSX-DOS-ban a DE regiszterbeli érték nincs meghatározva, e rendszerek ugyanis legfeljebb 16 meghajtó használatát engedik meg.
Vegyük észre, hogy az IS-DOS számára a ténylegesen rákapcsolt meghajtók száma nem ismert. Csupán azt tudja megállapítani, hogy hány meghajtóhoz van Unit-Handler, miután a logikai meghajtószámokat a fizikailag meglévő meghajtókhoz rendelte. Ezért kapjuk állandóan az üzenetet, hogy az A:, B:, C:, D:, ill. E: meghajtók mint RAMDISK-ek csatlakoznak a rendszerhez. Ha valamely meghajtóhoz tartozó bit nincs felkapcsolva (azaz 0), akkor a meghajtó használatának kísérlete azonnal hibajelzéshez vezet. Ha a bitet felkapcsoltuk (azaz 1),az IS-DOS megkísérli a lemez elérését, és hiba észlelése esetén "megszakítás / ismétlés" kérdéssel fordul a felhasználóhoz.

19h Funkciókód - alapértelmezés szerinti meghajtó közlése
Paraméter: nincs
Hatása: L = A = alapértelmezés szerinti (0=A, 1+B, ...)
A funkció csak az aktuális főmeghajtó számát adja vissza.

1Ah Funkciókód - lemez transzfercím meghatározása
Paraméter: DE = szükséges lemez-transzfercím
Hatása: nincs
A funkció hatására a DE regiszterben megadott címet a rendszer DTA-ként kezeli. Ezt követen valamennyi olvasási és írási művelet, a keresőfunkciók és a tartalomjegyzék-funkciók e címet használják. A "disk reset" (0Dh funkció) állítja vissza ezt a címet 80h-ra.

1Bh Funkciókód - allokációs információ közlése
Paraméter: E = meghajtószám (1...26, 0 = alapértelmezés)
Hatása
A - szektorok száma blokkonként,
BC = szektorméret (mindig 512 byte)
DE = blokkok száma a lemezen
HL = a szabad blokkok száma a lemezen
A funkció a megadott meghajtóban lévő lemezről ad információkat. Kompatibilis az MSX-DOS-szal, eltér azonban a CP/M-től, ahol ez a funkció az allocation vektor címét adja vissza.

21h Funciókód - direkt (véletlenszerű) olvasás
Paraméter: DE = mutató a megnyitott FCB-re
Hatása:
L = A = 01h, ha az olvasás sikertelen
L = A = 00h, ha sikeres
A funkció az adott file-ból beolvas egy 128 byte-os rekordot, és az éppen érvényes DTA-ra írja. A file-on belül az olvasás helyét FCB-ben található 3 byte hosszú relatív rekordszám határozza meg (21h...23h) byte. A CP/M-mel ellentétben, az MSX-DOS-hoz hasonlóan a rendszer mindhárom byte-ot használja. A nem teljesen feltöltött rekordok az User DTA-ra írást megelőzően nulla byte-okkal 128 hosszúra egészülnek ki.
A relatív rekordsorszám az olvasás folyamán nem változik, így az újabb olvasással ugyanazt a rekordot érjük el. Magának a TP-nek kell gondoskodnia a relatív rekordsorszám beállításáról. Mellékhatásként az aktuális rekord és a file-méret úgy állítódik be, hogy az a relatív rekordsorszám által kijelölt rekordra vonatkozik. Ez azt jelenti, hogy egy relatív hozzáférést mindenkor követhet szekvenciális olvasás vagy írás, s ez utóbbi a relatív hozzáféréssel elért rekordtól indul. A rekordsorszám és a file-méret byte-ja is megfelelően módosul.

22h Funciókód - direkt (véletlenszerű) írás
Paraméter: DE = mutató a megnyitott FCB-re
Hatása:
L = A = 01h, hiba esetén (a lemez tele van)
L = A = 00h, ha nincs hiba
A funkció az aktuális DTA-ról 128 byte-ot a file-ba ír. A file-on belül az írás helyét a 3 byte hosszú relatív rekordsorszám szabja meg. A rendszer mindhárom byte-ot használja. Ha az írás helye a pillanatnyi file-végen túl van, a lemezen a szükségletnek megfelelően automatikusan újabb tárolóterületeket foglal le a rendszer.
Az érvényben lévő rekord- és a file-méret mező változik, a relatív rekordsorszám azonban nem. A rekordsorszámot abban az esetben is beállítja a rendszer, ha a file bővült, vagy ha a pillanatnyi file-méretet meghaladja.

23h Funkciókód - file-méret közlése
Oaraméter: DE = mutató a meg nem nyitott FCB-re
Hatása:
L = A = 0FFh, ha a file nem található
L = A = 000h, ha a file megvan
Ez a funkció akárcsak a "file megnyitása" a 0Fh) megkeresi az FCB-ben adott névnek megfelelő első file-t. A megtalált file méretét fölfelé kerekíti 128 többszörösére, és meghatározza a rekordok számát. Az FCB-beli rekordsorszám (3 byte) a file-ban lévő rekordok számának megfelelően állítódik be, úgy hogy értéke az első, már nem rendelkezésre álló rekordnak felel meg. A rekordsorszám negyedik byte-ja változatlan marad.

24h Funkciókód - véletlenszerű adatrekord beállítása
Paraméter: DE = mutató az FCB-re Hatása: nincs
A funkció a 3 byte hosszú rekordsorszámot állítja be a pillanatnyi rekord és file-méret által meghatározott értékre. A relatív rekordsorszám negyedik byte-ja nem változik. A rendszer nem ellenőrzi, hogy az adott rekord valóban létezik-e.

26h Funkciókód - blokk Írása
Paraméterek:
DE = mutató a megnyitott FCB-re
HL = a kiírandó rekordok száma
Hatása:
A = 01h, hiba esetén
A = 00h, sikeres írás esetén
E funkció a leginkább előnyben részesített módja az adatok file-ba írásának, ha a programnak nem feltétlenül kell CP/M-kompatibilisnek lennie. A funkció MSX-DOS kompatibilis. A CP/M-ben ennek megfelelő funkció nincs. A rendszer az adatokat nagy blokkokba írja, s ez lényegesen gyorsabb minden más CP/M-beli írási lehetőségnél.
Az adatok az érvényben levő DTA-ról a file-ba íródnak, mégpedig a relatív rekordsorszám által meghatározott helyre. A rekordméretet a rendszer az FCB-beli rekordméret mezőbál (0Eh és 0Fh byte) veszi, ezt viszont a file megnyitása után, de a tényleges írás előtt a felhasználónak kell beállítania. Ha a rekordméret 62 byte-nál kisebb, a relatív rekordsorszám mező mind a 4 byte-ját, egyébként csak az első 3 byte-ját használja a rendszer.
A felírandó rekordok száma a HL regiszterbe kerül, amely a rekordmérettel együtt megadja a kiírandó adatmennyiséget. Az A regiszterbe hibaüzenet íródik, ha az írást a 0FFFh felső blokkhatáron kívülre kíséreltük meg. Ily módon a blokkhossz max. 64 kbyte lehet.
Az adatok kiírása után a relatív rekordsorszám mező a file következő rekordjára áll (azaz a HL ehhez hozzáadódik). A pillanatnyi rekordszámot és a file-méretet a rendszer nem használja és nem is változtatja meg. A funkció hívása után a file-méret aktualizálódik.
A rekordhossz bármilyen 01h és FFFFh közötti értéket felvehet. Kis és nagy rekordhosszak egyaránt használhatók, a rekordhossz speciálisan egyre is beállítható, s ily mádon a rekordszámláló byte-számlálóvá válik. Mégis célszerűbb egyetlen funkcióhívással a lehető legtöbbet írni, minthogy egyetlen nagy blokk átvitele gyorsabb, mint több kisebb blokké.
E funkcióhívás MSX-DOS változatának van egy speciális esete: amikor a megadott rekordszám nulla. Ily módon a file-méret bármikor megváltoztatható, s ezáltal a lemezen szükség szerint hely foglalható le vagy szabadítható fel. Ezt a speciális esetet az IS-DOS nem támogatja.

27h Funkciókód - blokk olvasása
Paraméterek:
DE = mutató a megnyitott FCB-re
HL = az olvasandó rekordok száma
Hatása:
A = 01h, ha hiba van
A = 00h, ha az olvasás sikeres
HL = a beolvasott rekordok száma
E funkció messzemenően hasonlít a "blokk írása" (26h) funkcióra, így a használatára vonatkozó legtöbb utalás az arra vonatkozó pontból átvehető. Itt is érvényes: ha nagy blokkokat olvastatunk, az lényegesen gyorsabb a CP/M hozzáféréseknél. A beolvasott rekordok száma a HL regiszterbe kerül. E szám az eredetileg megadottnál kisebb is lehet, ha az olvasó- során elérjük a file végét. Ebben az esetben a töredékesen beolvasott rekord nulla byte-okkal egészül ki, mielőtt a DTA-ra íródna. A relatív rekordsorszám értéke az első már be nem olvasott rekord sorszáma lesz, azaz a HL regiszter tartalma a rekordsorszámhoz adódik.

28h Funkciókód - véletlenszerű írás nulla töltéssel
Paraméter: DE = mutató a megnyitott FCB-re Hatása:
L = A = 01h hiba esetén
L = A= 00h sikeres írás esetén
Ez a funkció megegyezik a "direkt írás"-sal. Az egyetlen különbség, hogy ha a file bővül, az újonnan lefoglalt blokkok az első írás előtt nulla-byte-okkal töltődnek fel.

2Ah Funkciókód - dátum közlése
Paraméter: nincs
Hatása:
HL = év (1980...2079)
D = hónap (1=jan... 12=dec)
E = nap (1...31)
A = a hét melyik napja (0 = vasárnap... 6 = szombat)
Ez a funkció visszaadja az EXOS naptárának pillanatnyi állapotát, az MSX-DOS-szal kompatíbilisan. Vegyük észre, hogy a dátum bináris formában és nem BCD-formában adódik vissza, mint az EXOS dátum- és időfunkciójának hívásakor.

2Bh Funkciókód - dátum beállítása
Paraméterek:
HL = év (1980 ... 2079)
D = hónap (1=Jan... 12=dec)
E = nap (1...31)
Hatása:
A = 00h, ha a dátum érvényes volt
A = FFh, ha a dátum érvénytelen volt
Ellenőrzi, hogy az átadott dátum a megengedett intervallumban van-e, majd ez lesz az új EXOS-dátum. Az ellenőrzéskor a rendszer tekintetbe veszi - a szökőévekről is tudva -, hogy az egyes hónapok hány naposak. Ha a dátum érvénytelen, a korábbi EXOS-dátum nem változik.

2Ch Funkciókód - időpont közlése
Paraméter: nincs
Hatása:
H = óra (0...23)
L = perc (0...59)
D = másodperc (0...59)
E = tized másodperc (mindig nulla)
Ez a funkció az EXOS belső órájának pillanatnyi állapotát adja vissza MSX-DOS kompatibilis formátumban. Az óra 1 Hz-es megszakítással működik, éjfélkor a dátum is módosul. Vegyük észre, hogy a tized másodpercek értéke mindig nulla, hiszen az EXOS-óra csak 1 másodperc felbontású.

2Dh Funkciókód - időpont beállítása
Paraméterek:
H = óra (0...23)
L = perc (0...59)
D = másodperc (0...59)
E = tized másodperc (figyelmen kívül marad)
Hatása:
A = 000h, ha az idő érvényes volt
A = FFh, ha nem volt érvényes
E funkció állítja be az EXOS belső óráját. Ha az időadat érvénytelen volt, az A regiszterbe FFh kerül, és a korábbi időadat változatlan marad. Az MSX-DOS kompatibilitás miatt a tized másodpercek is átadódnak, azonban figyelmen kívül maradnak, mert az EXOS-óra csak 1 másodperc felbontású.

2Eh Funkciókód - verify flaq be- / visszaállítása
Paraméterek:
E = 0 a verify kikapcsolása
E < > 0 a verify bekapcsolása
Hatása: nincs
E funkció lehetővé teszi a lemezekre írás automatikus ellenőrzésének be-, ill. kikapcsolását. Az IS-DOS betöltésekor a verify flag mindig le van kapcsolva.

2Fh Funkciókód - abszolút olvasás
Paraméterek:
DE = szektorszám
L = meghajtószám (1=A stb.)
H = az olvasandó szektorok száma
Hatása:
A = EXOS hibakód (0 = nincs hiba) DE = következő szektor száma FI = a beolvasott szektorok száma
Ez a funkció a lemezről közvetlenül olvassa a szektorokat, függetlenül attól, hogy a szektor része-e valamely file-nak vagy sem. A lemeznek a DOS által formázottnak kell lennie, hogy egy szektor fizikai helyének kiszámítása a lemezen helyes legyen.

30h Funkciókód - abszolút írás
Paraméterek:
DE = szektorszám
L = meghajtószám (1=A stb.)
H = az írandó szektorok száma
Hatása:
A = EXOS hibakód
DE = következő szektor száma
H = a felírt szektorok száma
Ez a funkció közvetlenül írja a szektorokat anélkül, hogy a szektornak valamely file-hoz kellene tartoznia. A lemeznek a DOS által formázottnak kell lennie, ez teszi lehetővé a lemezen a szektor fizikai helyének helyes kiszámítását.

80h Funkciókód - megszakítás hibajelzéssel
Paraméter: B = hibakód a megszakításhoz
Hatása: megszakítás a programhoz való visszatérés nélkül
Ez a funkció a B regiszterben adott hibajelzéssel megszakítja a TP-ot és visszatér az IS-DOS-hoz. Ha a B regiszter a 00h értéket tartalmazza, a TP nem szakad meg, végrehajtása folytatódik és lefut. A 20h...FFh intervallumbeli hibakódok esetén az IS-DOS hibaüzenetet küld a képernyőre. A 20h alatti hibakódokat nem kíséri hibaüzenet a képernyőn. Az EXOS és az EXOOS számos hibakódot határoz meg, a hozzájuk tartozó üzenetekkel együtt.
Jegyezzük meg: ha a felhasználó saját megszakítórutint használ, akkor a funkció hívásakor a vezérlés erre a rutinra adódik át. Ezt a rutint mindig JMP 0000h utasítással kell befejezni. A hibakód átmenetileg tárolódik, majd az IS-DOS-nak adódik át. A felhasználó által megadott megszakítás-kezelő rutinokról további információk a következő pontban találhatók.

81h Funkciókód - megszakításrutin megadása
Paraméter: DE = a megszakításrutin címe
Hatása: nincs
A DE regiszter tartalmazza a felhasználó által megadott megszakításrutin címét, azt a címet, amelyre mindig ugrik, ha egy TP-t meg kell szakítani. Az ugrás csak akkor következik be, ha a megszakítást a "CTRL-C" meónyomása, egy sikertelen lemezművelet vagy a 80h funkcióhívás váltotta ki. A CP/M-re jellemző visszaugrásoknál (00h funkcióhívás, vagy JMP 0000h) nem következik be az ugrás funkcióra. A megszakításrutin hívásakor, a megszakítási hibakód - amelyet az IS-DOS átvesz - az A regiszterben található Az összes többi regiszter tartalma határozatlan. Maga a megszakítás-rutin képes "tártakarítási munkákhoz" bármely tetszőleges IS-DOS funkció hívás végrehajtására. Az óvatosság mindenesetre ajánlatos: kerülni kell a megszakításrutin rekurzív hívását. A megszakítási rutinnak mindig JMP 0000h-val kell végződnie, hogy a vezérlés visszakerüljön az IS-DOS-ba.
A legtöbb programnak nincs szüksége megszakításrutinra. Ez a rutin olyan speciális EXOS programok számára szükséges, amelyek olyan csatornákat nyitottak meg, amelyeket természetesen az IS-DOS-ba való visszaugrás előtt ismét le kell zárni.

82h Funkciókód - szegmens lefoglalása
Paraméter: nincs
Hatása:
A = EXOS hibakód
C = szegmensszám
Ez a funkció azonos az "Allocate Segment" nevű EXOS hívással. Lefoglal és a felhasználó számára szabaddá tesz egy 16 kbyte-os tárolószegmenst. Ügyeljen rá: az IS-DOS minden, e funkcióhívás által lefoglalt szegmenst "megjegyez magának", és képes azokat programmegszakításkor ismét szabaddá tenni. Ezáltal mentesíti a TP-t a szegmensfoglalás feloldásával járó felelőség alól. Sokkal fontosabb azonban az, hogy a funkció abban az esetben is megszünteti a szegmensek foglaltságát, ha a programmegszakítást melegindítás okozta. Egyébként ugyanis a program többszöri hívása és a RESET gombbal kiváltott megszakítás azt okozná, hogy végül minden tárolószegmens foglalt lenne, és összeomlana a rendszer. Max. 32 szegmenst lehet ezzel a funkcióval lefoglalni.

83h Funkciókód - szegmens foglaltságának feloldása
Paraméter: C = a szabaddá teendő szegmens száma
Hatása: A = EXOS hibakód
A funkció azonos azzal a megfelelő EXOS hívással, amely a felszabadított szegmensek számát a lefoglalt szegmensek belső IS-DOS listájából is törli. Nem szükséges, hogy a TP szegmenseket szabadítson fel, mert az IS-DOS-ba való visszatéréskor a felszabadítás automatikus. Ennek ellenére néha hasznos lehet ez a funkcióhívás.

84h funkciókód utasítássor átvétele a kisbetűk nagybetűkké alakítása nélkül
Paraméter: nincs
Hatása: nincs
Az utasítássor, amelyet egy TP a 80h tárolócímre átvesz - lehetővé téve a CP/M-mel való kompatibilitást az IS-DOS feltételek miatt - rendszerint csak nagybetűket tartalmaz. Néhány TP azonban pontosan úgy igényli az átvett paramétereket, ahogy a felhasználó azokat beadta. A magunk által irt programtól elvárjuk pl., hogy szöveg megkeresése során a kisbetűs szövegrészeket is megtalálja. Ez a funkció a beadott utasítássort egyszerűen átmásolja - anélkül, hogy a betűket nagybetűkké alakítaná - egy szövegpufferbe, a 80h címre. Ennek következményeképpen pontosan úgy jelenik majd meg az utasítássor, ahogy azt programbelépéskor beadtuk.

85h Funkciókód - gyors videovezérlő bekapcsolása
Paraméter: nincs
Hatása: A = EXOS hibakód
Ez a funkció hívja a gyors IS-DOS videovezérlőt. A szokásos EXOS videocsatornák Helyett ezt használjuk majd a szöveg kiadásához a képernyőre. Speciálisan olyan programok számára hozták létre, amelyeket úgy lehet alkalmazni, hogy a gyors videovezérlőt használni tudják (pl. a WORDSTAR). Ezek a programok ezáltal a képernyőműveletek esetében jelentősen felgyorsulnak. A gyors videovezérlő ugyanazt a VT-52-es vezérlőkódot használja, mint a szokásos videovezérlő (ld. a 3.5. alfejezetet).

87h Funkciókód - FISH veremmutató közlése
Paraméter: nincs
Hatása: DE = a 2. szegmensbeli verem címe
Ez a funkció az EXOS rendszerszegmensben (a 0FFh szegmensben) lévő, IS-DOS belső verem címét átadja a Z80-as címterület 2-es szegmensébe. Olyan programokhoz szánták, amelyek a FISH-t vagy a DISKIO-t közvetlenül hívják, mert ezeknek a rutinoknak a hívásánál a veremnek a 2-es szegmensben kell lennie.

88h Funkciókód - IS-DOS változatok számának közlése
Paraméter: nincs
Hatása:
A = CP/M változat
B = EXDOS változat
C = IS-DOS változat
A funkció közli az összes pillanatnyilag szimulált, beépített vagy alkalmazott lemezoperációs rendszer változatainak számát. Minden változatszámot két helyértékű BCD-számként közöl, így a CP/M-változatról pl. mindig a 22h-t közli. Azért hasznos ez a funkció, mert így megállapítható, vajon CP/M vagy IS-DOS alatt fut-e a program, mert a CP/M sohasem ad vissza 22h-t az A regiszterbe.

3.5. Képernyőkivitelek

A következőkben közöljük azoknak a vezérlőkódoknak és Escape-szekvenciáknak a teljes listáját, amelyek felhasználhatók azIS-DOS vagy BIOS hívások képernyőkiviteleinél. A gyors videovezérlő alkalmazása a vezérlőkódok közvetlen feldolgozásával jár. A szokásos EXOS videovezérlőknél az IS-DOS először átalakítja a vezérlőkódot. Így elérhető, hogy az összes program mindkét videovezérlővel működik. A két vezérlő közti különbség a karaktermegjelenítés részben eltérő színkombinációjában, valamint a gyors videovezérlő villogó kurzorának használatában nyilvánul meg.
A képernyőnek 24 sora van, mindegyik sorban 80 karakter. Ha kiadunk egy karaktert a képernyőre, akkor a kurzor egy billentyűt elmozdul jobbra, a sor végéről pedig visszamegy a következő sor elejére. Ha eközben a képernyő jobb alsó sarkába ér a kurzor, akkor az egész képernyőkép egy sornyit felfelé gördül. Az Escape-szekvenciák egyes karaktereinél ügyelni kell a helyes, nagy- vagy kisbetűs írásra. A jobb olvashatóság érdekében a betűk közé szóközök vannak illesztve, ezek azonban nem minősülnek az Escape-szekvenciák alkotórészeinek. Az Escape-szekvenciákban a számadatokat (<n> -nel vagy <m> -mel vannak ábrázolva) megfelelő byte-okra kell kicserélni, miközben normális esetben 20h-s eltolást mindig hozzá kell számítani.

CTRL-G07h - hangjelzés
CTRL-I
09h - mindig 8 képernyő-pozíciót ugrik át, a sor végéről visszaugrik a következő sor elejére, vagy a képernyőképet felfelé görgeti, ha a kurzor a képernyő jobb alsó sarkába ér (tabulátorstop).
CTRL-J0Ah - sorléptetés, a képernyőt felfelé görgeti a jobb alsó képernyőperem elérésekor.
CTRL-K0Bh - a kurzort a képernyő bal felső sarkába viszi (cursor home).
CTRL-L0Ch - törli a képernyőt, a kurzort a képernyő bal felső sarkába viszi (clear screen and home cursor).
CTRL-M0Dh - kocsivisszafutás (carriage return).
CTRL-Y19h - a sort egész végig törli, a kurzor mozdulatlan marad.
CTRL-Ä18h - ESC, ld. később, az Escape-szekvenciáknál.
CTRL-Ö
1Ch - a kurzort jobbra lépteti, a sor végéről visszaugrasztja a következő sor elejére, a képernyő jobb alsó sarkában pedig megállítja.
CTRL-Ü
1Dh - a kurzort balra lépteti, a sor elejéről visszaugratja az előző sor végére, a képernyő bal felső sarkában pedig megállítja.
CTRL-1Eh - a kurzort felfelé lépteti, és megállítja a képernyő felső pereménél.
CTRL-_1Fh - a kurzort lefelé lépteti, és megállítja a képernyő alsó pereménél.
7Fh - törli a kurzor alatti karaktert, az utána álló szöveget egy karakternyi távolsággal balra lépteti, a sor elejéről a megelőző sor végére ugrik, a képernyő bal felső sarkát elérve pedig megállítja a kurzort.
ESC A- a kurzort felfelé lépteti, a képernyő felső peremét elérve pedig megállítja.
ESC B- a kurzort lefelé lépteti, a képernyő alsó peremét elérve pedig megállítja.
ESC C- a kurzort jobbra lépteti, a sor végén megállítja.
ESC D- a kurzort balra lépteti, a sor elején megállítja.
ESC d <n> <m>
- a sorokat <n> -től <m> -ig bezárólag lefelé görgeti, az új sort <n> szabadon hagyja, minden számhoz 20h-s eltolást kell hozzászámítani.
ESC E- törli a képernyőt, és a kurzort kiindulási helyzetébe viszi vissza a képernyő bal felső sarkába.
ESC H- a képernyő bal felső sarkába viszi a kurzort.
ESC I- a kurzort felfele lépteti, a képernyő felső peremét elérve görgeti a képernyőt.
ESC I <n>- Az írás színének <n> megválasztása:

NORMÁL VIDEO
GYORS VIDEO
n = 0
n = 2
fekete alapon zöld;
fekete alapon piros;
n = 4
n = 6
fehér alapon kék;
piros alapon fekete;
zöld alapon fekete;
piros alapon fekete;
ESC J- a képernyő végéig töröl, közben a kurzor mozdulatlan.
ESC j- törli a képernyőt, és a kurzort a képernyő bal felső sarkába viszi.
ESC K- egész végig törli a sort, közben a kurzor mozdulatlan.
ESC L
- a kurzor sora fölé közbeszúr egy sort, a képernyő többi részét lefelé görgeti, a kurzort pedig az új sor elejére viszi.
ESC l- egy egész sort töröl, közben a kurzor mozdulatlan.
ESC M- a kurzor sorát törli, a képernyő többi részét felfelé görgeti, a kurzort a következő sor elejére viszi.
ESC d <n> <m>
- az <n> -től <m> -ig terjedő sorokat felfelé görgeti, az <m> új sort szabadon hagyja; a 20h eltolást minden számhoz hozzá kell számítani.
ESC x 4- blokk-kurzor választása.
ESC x 5- a kurzort kikapcsolja.
ESC Y <n> <m>- a kurzort pozícionálja: az <n> sorra, <m> oszlopra; a képernyő bal felső sarka: n = m = 20h.
ESC y 4- az aláhúzás alakú kurzor választása.
ESC y 5- a kurzort bekapcsolja.

3.6. EXOS-rendszerváltozók

A következőkben közöljük azoknak az EXOS-rendszerváltozóknak a teljes listáját, amelyekre az IS-DOS hatással leltet:

SzámNév
Funkció
64ROM_EXDOSEXDOS-ROMS szegmens száma;
65IS_P0
66IS_P1 
67IS_P2 
68IS_P3lemez transzfer szegmensek a Paging Modus 2 számára
69ECHOvisszhang-flag az IS-DOS kötegelt file-ok számára
70VERIFYEXDOS verify flag (0 = ON, FFh = OFF)
71DEF_UNITaz érvényes főmeghajtó száma (1...26)
72STEP_RATEaz UNITH léptetési egysége (0 = 6 ms, 1 = 12 ms, 2 = 20 ms, 3 = 30 ms)
74DSK_CHK
ellenőrzi a nyitott file-ok miatti lemez cserét (0=0N, 255=OFF); az alapértelmezés
az ON (Disk change checking)
75IN_ERRORaz EXDOS hibakezelés
76OUT_ERRORbe- és kiviteli csatornái
77IN_CLIaz EXDOS CLI parancsok
78OUT_CLIbe- és kiviteli csatornái
79DT_FORMaz EXOOS CLI dátum- és időpont-formátumai
80ER_MESSaz Error-Disable-Flag értelmezése
81AB_ERRmegszakítási hiba Disk-Error-Code-ja
82DSK_ERRa legutolsó IS-DOS parancs által okozott hiba,
83CLI_PROTaz IS-DOS CLI Protection flag-je
84RND_0 
85RND_1 
86RND_2 
87RND_3a DISKIO 32 bites véletlenszáma a lemezek felismerésére
88CLI_ENnulla, az EXOOS CLI zárására
89DCH_DISa Disk Change jel figyelmen kívül hagyása (0=0N, 255=OFF); alapértelmezés az ON
90FAST_VIDnulla, a gyors videovezérlő felszabadítására
91CD_PROMPTnulla, a futó tartalomjegyzék kinyomtatásának felszabadítására, IS-DOS kérés alapján
92  
...  
99 foglalt jövőbeni IS-DOS alkalmazás számára

4. Függelék

4.1. IS-DOS utasítások áttekintése

A következőkben közöljük az alkalmazható összes (hivatalos) IS-DOS utasítás listáját, az utasítások szintaxisát, valamint alkalmazási területüket.

ASSIGNd: (d:)
Lehetővé teszi más név alatt a hozzáférést egy meghajtóhoz
ATDIR(d:)(ösvény) (/H) ((-) ' (+)H)
Megváltoztatja a tartalomjegyzékbeli jellemzőket láthatóra vagy láthatatlanra
ATTR(d:) (ösvény) (file-név) (/H) ((-) ' (+) H)
Megváltoztatja a file-jellemzőket láthatóra vagy láthatatlanra, felülírás ellen védettre vagy felülírhatóra
BACKUPForrás (cél) (/D) (/M) (/F) (/X) (/T) (/V)
Másolat készítésére alkalmas a teljes lemezről vagy a lemezen lévé file-ok egy csoportjáról
BUFFERS(darabszám)
A rendelkezésre álló lemezpufferek számát kijelzi vagy megváltoztatja
CD(d:) (ösvény)
Cseréli vagy kijelzi az aktuális tartalom jegyzékét
CHDIR(d:) (ösvény)
Cseréli vagy kijelzi az aktuális tartalomjegyzéket
CHKDSK(d:) (/F)
Ellenőrzi a lemez sértetlenségét
CLSTörli a képernyőt
COPYForrás (/A) (/H) (cél) (/A) (/T))
Adatokat másol át egy file-ról, egységről vagy csatornáról egy másik file-ra, egységre vagy csatornára
DATE(Dátum)
Kijelzi vagy beállítja az aktuális dátumot
DEL(d:) (ösvény) (file-név) (/H)
Töröl minden a megadott ösvényen lévő file-t
DIR(d:) (ösvény) (file-név) (/H) (/W)
Kijelzi egy lemez összes file-jának a nevét
DISKCOPY(d: (d:)) (/X)
Átmásolja a teljes lemezt szektorról szektorra
ECHO(Szöveg)
IS-DOS utasításfile-ban lévő szövegeket (meg jegyzéseket, utasításokat...) nyomtat
ERA(d:) (ösvény) (file-név) (/H)
Egy megadott ösvényen lévő összes file-t törli
ERASE(d:) (ösvény) (file-név) (/H)
Egy megadott ösvényen lévő összes file-t törli
EXDOS(Készülék: file-név ' csatorna)
Hívja az EXDOS-parancs interpretert, és indítja az EXDOS.INI file-okat
FORMAT(d:) (lemeznév) (/L) (/H) (/8)
Formázza és névvel látja el a lemezt
HELPd: ' (név)
HELP-szöveget ad egy utasításhoz
ISDOS(d: ) (/utasítás)
Az IS-DOS-t betölti a lemezről, és indítja az AUTOEXEC.BAT file-okat vagy a tranziens programokat
LOADEgység: file-név csatorna
Betölt egy EXOS-modult az EXOS operációs rendszerre
MAPDISKd: d:
Az utasítás lehetővé teszi pl., hogy A: és B: meghajtókat használjunk úgy, hogy valójában csupán egy meghajtó létezik
MD(d:) (ösvény)
Új altartalomjegyzéket készít
MKDIR(d:) (ösvény)
Új altartalomjegyzéket készít
MODE((80) ' (40)) ' (logikai egység = EXOS-egység))
Megváltoztatja a képernyő oszlopszélességét vagy az I/0 egységeket
MOVE(d:) (ösvény) (file-név) (/H) (d:) (ösvény)
File-okat mozgat egyik tartalomjegyzékből egy másikba
MVDIR(d:) (ösvény) (file-név) (/H) (s:) (ösvény)
File-okat mozgat egyik tartalomjegyzékből egy másikba
PATH(paraméter(; paraméter)...)
Jelzi egy tranziens utasítás számára a keresési ösvényt a tartalomjegyzékben, vagy kitűzi ezt az ösvényt
PAUSE(szöveg)
Közleményeket és szöveget nyomtat az AUTOEXEC.BAT file-okba és gombnyomásra vár
PRINTER(ON ' OFF)
Be- vagy kikapcsolja a nyomtatókivitelt
RAMDISK(szám) (/D)
Indítja, vagy törli a RAMDISK-et
RD(d:) (ösvény) (/H)
Egy vagy több altartalomjegyzéket töröl
REM(szöveg)
Lehetővé teszi a megjegyzéseket az AUTOEXEC.BAT file-okban
REN(d:) (ösvény) (file-név) (/H) (d:) file-név
Új nevet ad egy vagy több file-nak
RENAME(d:) (ösvény) (file-név) (/H) (d:) file-név
Új nevet ad egy vagy több file-nak
RMDIR(d:) (ösvény) (/H)
Töröl egy vagy több altartalomjegyzéket
RNDIR(d:) (ösvény) (/H) (d:) file-név
Új nevet ad egy, vagy több altartalomjegyzéknek
SAVE(szám) (K ' P) (d:) (ösvény) file-név
Tárolja a TPA (Transient Program Area) részeit
TIME(idő)
Kijelzi vagy beállítja a pontos belső időt
TYPE((d:) (ösvény) (file-név) (/H)) csatorna egység
Megjeleníti egy file, egy EXOS-egység vagy egy csatorna adatait
UNDEL(d:) (ösvény) (file-név)
Ismét létrehoz egy korábban törölt file-t
VARSzám ((szám) ' ON OFF)
Kijelzi vagy beállítja egy EXOS-változó értékét
VERKiadja az alkalmazott IS-DOS változatot
VOL(d:) (lemeznév)
Kijelzi vagy megváltoztatja egy lemez nevét
XDIR(d:) (ösvény) (file-név) (/H)
A megadott tartalomjegyzék-ösvényen lévő összes file nevét közli.

4.2. Hibaüzenetek

Az EXDOS kézikönyv 7. függeléke feltünteti a hibaüzeneteket, amelyeket az EXOOS közöl. Ha azonban IS-DOS-szal dolgozunk, ezeken kívül megjelenhetnek még a következd üzenetek:

*** hibás utasítás
Kísérlet egy TP (transient program) indítására, jóllehet nincsenek jelen megfelelte *.COM- vagy *.BAT-file-ok.

*** túl nagy számú BAT-file van egymásba ágyazva
Egy kötegelt file mindenkor tartalmazhat olyan utasításokat, amelyek feladata más kötegelt file-ok indítása. Az egymásba ágyazás rendszerint egészen 10 tényezőig folytatható. Tekintettel arra, hogy az egymásba ágyazások száma a mindenkori megadott változóktól is függ, a fenti hibaüzenet lényegesen korábban is jöhet.

*** a program megszakítása
Sok tranziens programnál megvan a lehetőségünk arra, hogy a STOP gomb megnyomásával idő előtt megszakítsuk a futást és visszatérjünk az IS-DOS-ba. Ilyenkor többnyire megjelenik a "programot megszakítani (igen/nem)?" biztonsági kérdés. Ha a "nem"-mel válaszolunk, akkor a program futása normálisan folytatódik. Ha a válasz "igen", akkor megjelenik a fenti hibaüzenet, és visszajutunk az IS-DOS-parancs interpreterébe.

*** a STOP gomb megnyomása
Ha a "programot megszakítani (igen/nem)?" üzenetet küldő speciális megszakítási rutin nincs a tranziens programban, akkor közvetlenül a fenti hibaüzenettel fejeződik be a TP.

4.3. Futtatható CP/M programok jegyzéke

ProgramVáltozatForrás
Wordstar3.0Micropro
Wordstar3.30Micropro
Datastar1.41Micropro
Reeportstar1.02Micropro
Calcstar1.45Micropro
Supercalc  
Supercalc II  
SuperWriter  
dBase II2.31Ashton Tate
Multiplan1.05Microsoft
MBasic5.2Microsoft
Turbo-Pascal2.0Borland
Turbo-Pascal3.0Borland
Turbo Database Borland
Z80 figForth1.1 
NPS MICRO-Cobol2.1 

Valamennyi programnak CP/M 80 vagy CP/M 2.2 változatban, MS-DOS formátumban kell a lemezen lennie. Ezt a listát a további programok sikeres tesztelésének megfelelően kell kibővíteni.