Amiga 4 perehdyttää lukijan Execiin, Amigan käyttöjärjestelmän perustaan. Execin ja sen rutiinien toiminnan tunteminen on välttämätöntä kaikkea Amigan ohjelmointia ajatellen, koska moniajo, laite-IO, kirjastot ja graafinen käyttäjälityntä rakentuvat kaikki kokonaan Execin varaan.
Kirja edellyttää, että lukija tuntee 68000-prosessoriperheen assembler-kielen, muttei edellytä aikaisempaa tietoa Amigan assembler-ohjelmoinnista.
Kirjan mukana seuraavalla levykkeellä on assembler-kääntäjä ja linkkeri sekä muutamia muita apuohjelmia. Kirjan jokainen luku sisältää vähintään yhden aiheeseen liittyvän esimerkin, jotka on lukemisen helpottamiseksi listattu myös kirjassa.
Table of Contents| |
| Johdanto | 9 |
| |
| Exec | 11 |
| Execin tehtävät | 12 |
| Koneen alustus | 12 |
| ExecBase struktuuri | 13 |
| Sekalaisia Exec-rutiineja | 15 |
| |
| Kirjastot | 17 |
| Ajoaikaiset kirjastot | 18 |
| Ajoaikaisten kirjastojen rakenne |
| 19 |
| Kirjastojen avaaminen ja sulkeminen | 20 |
| Kirjastorutiinien kutsuminen | 22 |
| Rutiinien korvaaminen | 24 |
| Ajoaikaisen kirjaston luominen | 25 |
| Välttämättömät kirjastorutiinit |
| 26 |
| 26 |
| Tarpeellisia struktuureja |
| 34 |
| Kirjastoihin liittyviä rutiineja | 36 |
| |
| Listat ja jonot | 37 |
| Listojen rakenne | 38 |
| Jonot | 39 |
| Listojen käsittely | 39 |
| Alkioiden etsiminen | 41 |
| Tyhjät listat | 42 |
| Listoihin ja jonoihin liittyvät struktuurit | 42 |
| Listojen käsittelyssä hyödyllisiä rutiineja | 44 |
| |
| Viestit ja portit | 45 |
| Viestit | 46 |
| Viestiportit | 46 |
| 48 |
| 48 |
| Viestien odottaminen | 51 |
| Viestien lähettäminen ja niihin vastaaminen | 52 |
| 53 |
| Viesteihin liittyviä rutiineja | 59 |
| |
| Muistinhallinta | 61 |
| Execin iso urakka | 52 |
| Listoja tarvitaan | 62 |
| Varaaminen ja vapauttaminen | 63 |
| Muistityypit | 64 |
| Omat muistilistat | 66 |
| Muistin kopioiminen | 71 |
| AllocEntry | 71 |
| Muistinhallintaan liittyvät struktuurit | 76 |
| Hyödyllisiä rutiineja | 76 |
| |
| Taskit ja moniajo | 79 |
| Ajan jakoa | 80 |
| Taskien tilat | 80 |
| Prioriteettien merkitys | 81 |
| Odottaminen | 83 |
| Moniajon estäminen | 84 |
| Taskien luominen | 84 |
| Taskien päättyminen | 88 |
| Prosessit | 89 |
| Prosessien käynnistäminen |
| 89 |
| Taskeihin ja miniajoon liittyviä rutiineja | 93 |
| |
| Keskeytykset | 95 |
| Keskeytysten toimintaa | 96 |
| Tuttua juttua | 97 |
| Kaksi pääryhmää | 98 |
| 101 |
| 103 |
| Lupa tarpeen | 107 |
| Interrupt-struktuuri | 109 |
| Keskeytyksiin liittyviä rutiineja | 109 |
| |
| IO-Laitteet | 111 |
| Tavallisimpia IO-laitteita | 112 |
| IO-komennot | 113 |
| IORequest-struktuuri | 114 |
| IORequest-struktuurin luominen |
| 115 |
| IO-laitteen avaaminen | 116 |
| Komentojen antaminen | 117 |
| 118 |
| 118 |
| 119 |
| 120 |
| Komennon suorituksen päättyminen | 121 |
| 121 |
| 121 |
| Pysäyttäminen ja käynnistäminen | 121 |
| Komennon keskeyttäminen | 122 |
| 122 |
| Perus-IO-komennot | 122 |
| Ohjaamiseen tarvittavia rutiineja | 124 |
| |
| Audio device | 125 |
| Äänen tuotanto | 126 |
| 126 |
| Kovon ominaisuudet | 127 |
| 128 |
| 131 |
| 131 |
| 132 |
| Käyttöjärjestelmän palvelut | 133 |
| Äänikomentojen käyttö | 134 |
| 135 |
| Esimerkkejä | 136 |
| 140 |
| |
| Narrator device | 153 |
| Translator-kirjasto | 154 |
| Narratorin avaaminen ja käyttö | 155 |
| 156 |
| 156 |
| Äännemerkit | 157 |
| Sano se suomeksi | 159 |
| |
| Serial device | 165 |
| Serial devicen avaaminen | 166 |
| Lisää nopeutta | 167 |
| IORequest-struktuuri | 167 |
| 169 |
| Query-komento | 170 |
| Esimerkkejä | 171 |
| |
| Timer device | 181 |
| Kaksi yksikköä | 182 |
| IORequest-struktuuri | 183 |
| Komennot | 184 |
| Timer-rutiinit | 184 |
| Timer-esimerkki | 186 |
| |
| Trackdisk device | 193 |
| Levyasemat | 194 |
| Laajennettu IORequest-struktuuri | 195 |
| Trackdiskin avaaminen | 196 |
| IO-komennot | 197 |
| 200 |
| 200 |
| MakeBoot-esimerkki | 201 |
| |
| Hakemisto | 210 |