1 . CHARAKTERISTIKft OPERAČNÍHO SYSTÉMU AMOS A PRÓCE S NÍM 2 // 1.1. Koncepce OS AMOS // 1.2. Soubory o OS AMOS // 1.3. Hospodárení s paměti RAM // 1.4. Překladače // 1.5. Editor // 1.6. Debugger // 1.7. Ovládání OS AMOS // 1.8. Technická realizace // 1.9. Kompatibilita s ostatními moduly pro IQ 151 // 1.10. O au tor ech // 2. SOUBORY OS AMOS // 2.1. Pojem souboru // 2.1.1. Práce se soubory na úrovni operačního systěmu // 2.1.2. Práce se soubory z uživatelských programů 10 // 2.2. Specifikace souboru 10 // 2.2.1. Jméno souboru 10 // 2.2.2. Předpona 10 // 2.2.3. Přípona 11 // 2.2.4. Dodatek 12 // 2.2.5. Příklady specifikací souborů 12 // 2.3. Typy souborů v OS AMOS 13 // 2.3.1. Textové soubory 13 // 2.3.2. Object-kddy 13 // 2.3.3. Hexadecimální soubory 14 // 2.4. Organizace souborů v OS AMOS 14 // 2.4.1. Tvar souborů v OS AMOS 14 // 2.4.2. Otevření a uzavření souboru 15 // 2.4.3. Soubory se sekvenčním přístupem 15 // 2.4.4. Soubory s přímým přístupem 16 // 2.5. Rutiny jádra OS AMOS pro práci se soubory 17 // 2.6. Spoolovaný výstup 18 // 2.7. Paměť a paměťové soubory 18 // 2.8. Soubory a periferní zařízení 19 // 2.8.1. Magnetofon a magnetofonové soubory 19 // 2.8.1.1. Zápis souboru na magnetofon 20 // 2.8.1.2. Ctení souboru z magnetofonu 23 // 2.8.1.3. Qelikost bloku magnetofonového souboru 26 // 2.8.2. Diskové soubory <:D0: a :D1:> 26 // 2.8.3. Qstup z klávesnice (sCIs) 26 // 2.8.4. Qýstup na obrazovku
< :C0 : ) 27 // 2.8.5. Qýstup na tiskárnu <:LP:> 28 // 2.8.6. Čtení z d.ěrné pásky (sRIs) 28 // 2.8.7. Qýstup na děrnou pásku (:PO:> 29 // 2.8.8. Fiktivnísoubory(:BBs) 29 // 2.8.9. Soubory na uživatelských zařízeních 29 // 1L| 1L| ? 00 00 M m (J, cn U1 ? 4b. rv // 3. OULáDÓNÍ OS AMOS // 30 // 3.1. Spuštění 30 // 3.2. Studený a horky start systému 30 // 3.3. Príkazy a povely 30 // 3.4. Tvar příkazů OS AMOS 31 // 3.5. Hlášení chyb v OS AMOS 32 // 3.6. Činnost interpretu příkazů 32 // 3.7. Spouštění uživatelských programů 33 // 3.8. Systémové příkazy 34 // 3.8.1. Příkazy pro manipulaci se soubory 34 // 3.8.1.1. Vypiš tabulky paměťových souborů - příkaz CAT 34 // 3.8.1.2. Kopírování souborů - příkaz COP 35 // 3.8.1.3. Přejmenování souboru - příkaz REN 36 // 3.8.1.4. Zrušení souboru - příkaz DEL 36 // 3.8.1.5. Připojení jednoho souboru ? druhému - příkaz APP 36 // 3.8.1.6. Vypsání adresáře pružného disku - příkaz DIR 37 // 3.8.2. Editace textových souborů 37 // 3.8.2.1. Editace paměťového souboru - příkaz EDI 37 // 3.8.2.2. Editace obecného souboru - příkaz TRA 38 // 3 .8 .3 . Příkazy vo1ání přek1adačů 38 // 3.8.4. Volání BASICu GA - příkaz BAS 39 // 3.8.5. Nastavení parametrů pro tiskárnu - příkaz PRI 39 // 3.8.6. Archivace aktuálního stavu systému na magnetofon 40 // 3.8.6.1. Příkaz SAVE 40 // 3.8.6.2. Příkaz LOAD 40 // 3.8.7. Ladění cílových programů - příkaz
DEB 41 // 3.8.8. Příkazy pro explicitně alokované programy 41 // 3.8.8.1 . Příkaz SPACE 41 // 3.8.8.2. Alokace uživatelských programů - příkaz LOC 42 // 3.8.8.3. Spuštění již alokovaných programů - příkaz RUN 42 // 3.8.9. Příkazy pro opuštění OS AMOS 43 // 3.8.9.1. Skok do monitoru 43 // 3.8.9.2. Návrat do programu, z něhož byl OS AMOS zavolán 43 // 3.8.10. Příkaz definovaný uživatelem 44 // 3.9. Povely OS AMOS 44 // 3.9.1. Ukončení právě probíhajícího programu - break 44 // 3 .9 .2 . Dal ší pove1 ? 45 // 3.10. Spolupráce s modulem Basic 6 45 // 4. EDITOR • 46 // 4.1. Charakteristika editoru 46 // 4.2. Seznamme se s editorem 47 // 4.3. Informační řádek 47 // 4.4. Mo‘dy práce editoru, zobrazení editovaného souboru // na obrazovce a způsob práce v obrazovkovém režimu 48 // 4.5. Zobrazení textu na obrazovce ’ 51 // 4.6. Povely obrazovkového (video) režimu 51 // 4.6.1. Povely pro pohyb kurzoru 52 // 4.6.2. Povely pro vypuštění a vložení znaku (resp. věty) 53 // 4.6.3. Povely pro roztržení věty resp. spojení dvou vět 53 // 4.6.4. Tabulátor 53 // 4.6.5. Povely ? přesunu značek Ml a ?2 54 // 4.6.6. Povely pro zrrtény mo’dú editoru 54 // 4.6.7. Prechod do príkazového režimu 54 // 4.7. Príkazový režim 54 // 4.7.1. Parametry příkazů 55 // 4.7.1.1. Parametr A - specifikace úseku textu 55 // 4.7.1.2. Parametr F - specifikace hledaného řetězce 55 // 4.7.1.3. Parametr R - specifikace přepisujícího řetězce
56 // 4.7.1.4. Zadávání parametrů 56 // 4.7.2. Příkazy příkazového režimu 56 // 4.7.2.1. Opakování naposledy prováděného příkazu 58 // 4.7.2.2. Specifikace naposledy uvedených parametrů 58 // 4.8. Chybové stavy editoru 58 // 4.9. Volání editoru na paměťový soubor - příkaz EDI tor 59 // 4.10. Volání editoru na obecný soubor - příkaz TRAnsfer 59 // 5. ASEMBLER 62 // 5.1. Specifika programovacího jazyka asembler 62 // 5.1.1. Programování na strojové úrovni 62 // 5.1.2. Jazyk strojových instrukcí 63 // 5.1.3. Jazyk symbolických adres (asembler) 64 // 5.2. Jazyk asembler OS AMOS 66 // 5.2.1. Omezení daná jednoprůchodovostí překladače 66 // 5.2.2. Abeceda jazyka 67 // 5.2.3. Konstanty 67 // 5.2.3.1. Číselné konstanty 67 // 5.2.3.2. Znakové konstanty 68 // 5.2.4. Symbolická jména 68 // 5.2.5. Budoucí odkazy 69 // 5.2.6. Výrazy 70 // 5.2.7. Program v jazyce asembler 72 // 5.2.8. Strojové instrukce 73 // 5.2.9. Pseudo instrukce 74 // 5.2.9.1. Pseudo instrukce EQU 74 // 5.2.9.2. Pseudo instrukce SET 74 // 5.2.9.3. Pseudo instrukce DS 75 // 5.2.9.4. Pseudo instrukce DB 75 // 5.2.9.5. Pseudo i ns trukce DLI 76 // 5.2.9.6. Pseudo instrukce ORG 76 // 5.2.9.7. Pseudo instrukce END 77 // 5.2.9.8. Pseudo instrukce DF 77 // 5.3. Překlad programů v jazyku asembler 78 // 5.3.1. Volání překladače 79 // 5.3.2. Parametry překladu 79 // 5.3.2.1. Přepínače 80 // 5.3.2.2. Parametr Z(n) - místo pro listing 80 // 5 .3.2.3. Parametr 0<n)- délka
object-kódu 81 // 5.3.3. Příklady 83 // 5.3.4. Chyby při překladu 85 // 8. SLUŽBY OS AMOS, JEHO VNITŘNÍ STRUKTURA // 87 // 8.1. Návrat do operačního systému - adresa 9CCP 87 // 6.2. Práce se soubory 88 // 6.2.1. Systémová identifikace souboru 88 // 6.2.1.1. Pseudoinstrukce DF 88 // 6.2.2. Prirazení konkrétních souborů uvedených ve volací // vétě logickým souborům v programu 89 // 6.2.3. Operace se soubory. Přístupové metody 90 // 6.2.4. Základní operace se soubory (sekvenční přístup) 92 // 6.2.4.1. Otevření souboru - podprogram 90PEN 92 // 6 .2.4.2. Č’tení bytu - podprogram 9GET 93 // 6.2.4.3. Zápis bytu - podprogram 9PUT 94 // 6.2.4.4. Uzavření souboru - podprogram 9CLQSE 95 // 6.2.4.5. Příklady práce se sekvenčním přístupem 95 // 6.2.5. Podprogramy pro přímý přístup 98 // 6.2.5.1. Nastavení pozice souboru - podprogram 9SEEK 99 // 6.2.5.2. Zjištění pozice souboru - podprogram 9P0S 99 // 6.2.5.3. Zjištění pozice konce souboru - podprogram 9LASTPQS 100 // 6.2.6. Podprogram 9FILE 100 // 6.2.7. Zrušení souboru - podprogram 9DELETE 103 // 6.3. Vstupní a výstupní konverze čísel 103 // 6.3.1. Vstup čísla - podprogram 9NI 104 // 6.3.2. Výstup čísla - podprogram 9N0 105 // 6.4. Předání textového parametru - adresa 9PARAM 105 // 6.5. Přímý vstup z klávesnice a výstup na obrazovku 106 // 6.5.1. Výstup znaku na obrazovku - podprogram 9C0 106 // 6.5.2. Vstup znaku z klávesnice - podprogramy 9CI, 9CSTS 107
// 6.6. Další podprogramy pro výstup 108 // 6.6.1. Výstup čísel v desítkové soustavě 108 // 6.6.2. Výstup čísel v šestnáctkové soustavě 109 // 6.3.3. Výstup znaků CR, LF do souboru 110 // 6.7. Zpracování chyb při běhu programu 110 // 6.8. Vnitřní struktura OS AMOS 113 // 6.8.1. Ovládání periferií 113 // 6.8.2. Správa paměti 113 // 6.8.3. Správce souborů 116 // 6.8.4. Změna implicitní předpony ve specifikaci souborů 117 // 6.8.5. Změna spoo1 ovacího zař i zení 117 // 6.9. Definování uživatelských zařízení :U0: a sUls 117 // 6.9.1. Princip definice uživatelských zařízení 118 // 6.9.2. Jednodušší varianta 119 // 6.9.3. Další možnosti při definici uživatel, zařízení 120 // 6.10. Příkaz USER 122 // 7. DEBUGGER 123 // 7.1. Principy činnosti simulátoru 123 // 7.2. Režimy práce simulátoru 125 // 7.2.1. Krokování a rychlá simulace 125 // 7.2.2. Standardní a trasovací režim zobrazování 125 // 7.2.3. Sledování programů, pracujících s obrazovkou 125 // 7.2.4. Podprogramy vykonávané v reálném čase 126 // 7.2.5. Simulace instrukci IN a OUT 126 // 7.3. Obrazovka simulátoru 127 // 7.3.1. Obrazovka standardního režimu 127 // 7.3.2. Obrazovka trasovacího režimu 128 // 7.4. Ovládání simulátoru 129 // 7.4.1. Příkazy základního stavu 130 // 7.4.2. Činnost simulačních příkazů 132 // 7.4.2.1. Obrazovka v době simulace 132 // 7.4.2.2. Provádění podprogramů v reálném čase 132 // 7.4.2.3.
Zásahy obsluhy během simulace 133 // 7.4.3. Příkazy změn 134 // 7.5. Disasembler 136 // 7.6. Nestandardní použití simulátoru 138 // 7.6.1. Využíváni operační paměti simulátorem 138 // 7.6.2. Videorežim 138 // 7.6.3. Předepsání podmínky pro zastavení rychlé simulace 139 // 7.7. Polání Debuggeru 140 // 7.8. Přiklad použití Debuggeru 141 // 8. PASCAL POD OS AMOS 142 // 8.1. Jazyk Pascal pod OS AMOS 143 // 8.1.1. Kvantitativní omezení daná implementaci 143 // 8.1.2. Symboly jazyka 143 // 8.1.2.1. Alternativní reprezentace znaků 143 // 8.1.2.2. Identifikátory a klíčová slova 144 // 8.1.3. Datové typy a reprezentace jejich hodnot 144 // 8.1.3.1. Jednoduché datové typy 144 // 8.1 .3.1 .1 . Typ integer 144 // 8.1 .3.1 .2. Typ real 145 // 8.1 .3.1.3. Typ char 145 // 8.1.3.1.4. Typ boolean 146 // 8.1 .3.1 .5.’účtové typy 146 // 8.1.3.1.6. Typy interval 146 // 8.1.3.2. Struktúrované datové typy 146 // 8.1.3.2.1. Pakování typů 146 // 8.1.3.2.2. Typy pole 146 // 8.1.3.2.3. Typy záznam 146 // 8.1.3.2.4. Typy množina 147 // 8.1.3.2.5. Typy soubor 147 // 8.1.3.3. Typy ukazatel 147 // 8.1.4. Přidělování paměti proměnným a parametrům 147 // 8.1.5. Uýrazy 148 // 8.1.5.1. Operátor umočrtování 148 // 8.1 .6 . Př í kazy 148 // 8.1 .6.1 . Rozšíření příkazu case 148 // 8.1.6.2. Příkaz for cyklu 149 // 8.1 .6.3. Příkaz goto 149 // 8.1.7. Procedury a funkce 149 // 8.1.7.1. Procedurální a funkcionální parametry 149 // 8.1.7.2.
Standardní procedury pro dynamickou alokaci 149 // 8.1.7.3. Strojově orientované standardní procedury 150 // 8.1.7.4. Ctení parametru z volací věty 152 // 8.1.7.5. Přesun kurzoru na obrazovce 153 // 8.1.7.6. Čtenř znaku z klávesnice bez čekání 153 // 8.1.7.7. Zastavení výpočtu programu 153 // 8.1.7.8. Funkce změny typu 153 // 8.1.7.9. Ovládání mi ni grafu Ari tma 154 // 8.1.8. Práce se scubory 155 // 8.1.8.1. Parametry programu 155 // 8.1.8.2. Iniciální stav souborů vstupujících z ? 1ávesnice!55 // 8.1.8.3. Interaktivní vstup čísel z klávesnice 158 // 8.1.8.4. Implicitní formáty výstupu 156 // 8.1.8.5. Procedura rewrite 157 // 8.1.8.6. Otevření souboru pro připiš 157 // 8.1.8.7. Uzavírání souboru 157 // 8.1.8.8. Procedura assign 158 // 8.1.8.9. Soubory s přímým přístupem 158 // 8.1.9. Zvláštní rysy implementace 159 // 8.1.9.1. Rozsah platnosti identifikátoru 159 // 8.1.9.2. Alokace proměnných 159 // 8.2. Překlad programů v Pascalu 160 // 8.2.1. Spuštění překladače Pascal z OS AMOS 160 // 8.2.2. Řízení překladu 161 // 8.2.2.1. Přepínače 161 // 8.2.2.2. Řízení tisku listingu 162 // 8.2.2.3. Parametry specifikované ve volací větě 162 // 8.2.2.3.1. Parametr OPTIONS - počáteční nastavení // přepínačů 162 // 8.2.2.3.2. Parametr Z - místo pro listing 163 // 8.2.2.3.3. Parametr 0 - velikost paměti pro běh programu 163 // 8.2.2.3.4. Parametry ZAC a KON 164 // 8.2.3. Příklady 164 // 8.2.4. Protokol o
překladu (listing) 165 // 8.2.5. Chyby při překladu programu 166 // 8.3. Běh programu v Pascalu 167 // 8.3.1. Spuštění přeloženého pascalského programu 167 // 8.3.2. Předání souborů 168 // 8.3.3. Předání textového parametru 168 // 8.3.4. Příklady 168 // 8.3.5. Běhové kontroly 169 // 8.3.6. Proměnné s nedefinovanou hodnotou 169 // 8.3.7. Chyby při běhu programu, dump 170 // 8.3.8. Povel BREAK 172 // 9. LITERATURA // 173