| Előszó | 10 |
| Irodalomjegyzék | 11 |
| Kinek szánjuk ezt a könyvet? | 12 |
| A könyv szerkezetéről | 13 |
| Tematikai megjegyzések | 13 |
| Terminológiai megjegyzések | 15 |
| Mentegetőzés | 17 |
| Az IBM PC/XT hardware elemeinek áttekintése | 19 |
| Az IBM PC/XT programozható elemei | 22 |
| A ROM BIOS | 24 |
| A ROM BIOS funkciók hivása | 26 |
| A hardware elemek közvetlen elérése | 27 |
| Az IT-MOD.INC file | 29 |
| Az Intel 8087 koprocesszor | 33 |
| Az INTEL 8087 által ismert adattípusok | 34 |
| Műveleti hibák (kivételek) | 44 |
| A koprocesszro belső regiszterei | 47 |
| Az Intel 8087 stackje | 48 |
| Stackleíró regiszter (Tag Word) | 48 |
| Vezérlőregiszter (Control Word) | 49 |
| Státuszregiszter (Status Word) | 50 |
| Utasításregiszter (Instruction Pointer) | 54 |
| Adatregiszter (Data Pointer) | 54 |
| A koprocesszor utasításkészlete | 55 |
| Adatmozgatási utasítások | 58 |
| Aritmetikai és összehasonlítási utasítások | 61 |
| Lebegőpontos függvények | 64 |
| Vezérlőutasítások | 68 |
| Az assembler és a lebegőpontos aritmetika | 70 |
| Lebegőpontos aritmetika koprocesszorral | 70 |
| Lebegőpontos aritmetika emulátorral | 70 |
| A klaviatúra | 73 |
| A klaviatúra működése | 73 |
| A klaviatúrakezelő rutinok elvi működése | 74 |
| Klaviatúrakezelési funkciók | 76 |
| Karakter beolvasása | 76 |
| Buffer lekérdezése | 76 |
| Shiftstátusz lekérdezése | 77 |
| Speciális klaviatúrafunkciók | 78 |
| A CTRL-ALT-DEL kombináció | 78 |
| A CTRL-BREAK kombináció | 79 |
| A CTRL-NUM kombináció | 79 |
| Az ALT billentyű és a numerikus billentyűzet | 80 |
| A CTRL-PRTSC kombináció | 80 |
| A klaviatúra interruptja - példaprogram | 81 |
| A képernyő | 95 |
| Alfanumerikus képernyő | 96 |
| Grafikus képernyő | 97 |
| A képernyő lapozása | 99 |
| A Motorola 6845 programozása | 99 |
| A Motorola 6848 regiszterei | 100 |
| A képernyővezérlő kártyák portjai | 105 |
| Képernyőkezelési funkciók | 110 |
| Képernyőüzemmód kiválasztása | 110 |
| Cursortípus beállítása | 111 |
| Cursor pozicionálása | 111 |
| Cursor lekérdezése | 112 |
| Fényceruza-pozíció beolvasása | 112 |
| Az aktív lap kiválasztása | 113 |
| Ablak felfelé léptetése | 113 |
| Ablak lefelé léptetése | 113 |
| Karakter és attributum kiolvasása | 114 |
| Karakter és attributum kiírása | 114 |
| Karakter kiírása | 115 |
| Színpaletta vagy háttérszín beállítása | 116 |
| Raszterpont kiírása | 116 |
| Raszterpont visszaolvasása | 116 |
| Karakterkiírás teletype módban | 117 |
| Pillanatnyi üzemmód lekérdezése | 117 |
| String kiírása | 118 |
| Néhány példaprogram | 119 |
| Alapvető funkciók | 119 |
| Képernyőtartalom váltása | 129 |
| A megjelenítés ki- és bekapcsolása | 133 |
| Karakter és attributum direkt kiírása | 135 |
| A nyomtatóadapter | 139 |
| A nyomtatóadapter működése és fizikai kezelése | 139 |
| A PPA csatlakozója és vonalai | 139 |
| A printer adapter portjai | 141 |
| Nyomtatókezelési funkciók | 142 |
| Karakter kiíratása | 143 |
| A nyomtatóverzérlő előkészítése | 143 |
| A nyomtatóvezérlő státuszának lekérdezése | 143 |
| A hard copy működése | 144 |
| Az aszinkron vonali adapter | 145 |
| Az aszinkron vonal működése | 145 |
| Az aszinkron interface leírása | 148 |
| Az adapter regiszterei | 151 |
| Az adapter előkészítése | 151 |
| Az adapter hardware interruptjai | 154 |
| Input-output az adapter segítségével | 157 |
| Az adapter státuszának vizsgálata | 158 |
| Az aszinkron vonal kezelése | 159 |
| Vonalkezelési funkciók | 161 |
| A vonal előkészítése | 162 |
| Karakter elküldése | 163 |
| Karakter beolvasása | 163 |
| A vonal státuszának lekérdezése | 163 |
| Aszinkron vonal kézi használata | 164 |
| A hangszóró kezelése | 177 |
| Hangmagassági táblázat | 177 |
| Példaprogramok | 178 |
| A hangszóró direkt vezérlése | 178 |
| A hangszóró vezérlése timerrel | 179 |
| Hangszóró-driver megvalósítása | 185 |
| Lemezkezelés | 195 |
| A lemezek fizikai felépítése | 196 |
| A lemezek logikai felépítése | 198 |
| A lemezek BOOT rekordja | 199 |
| A BIOS lemezkezelő funkciói | 208 |
| A diskette-rendszer előkészítése | 210 |
| Az utolsó művelet eredményének lekérdezése | 211 |
| Szektor(ok) beolvasása | 212 |
| Szektor(ok) kiírása | 213 |
| Szektor(ok) ellenőrzése | 214 |
| Egy sáv formázása | 214 |
| Sávformázás és rossz szektorok kijelőlése | 216 |
| Lemezformázás adott sávtól kezdve | 217 |
| Lemezparaméterek lekérdezése | 217 |
| Winchester-leíró tábla előkészítése | 218 |
| "Hosszú" olvasás | 218 |
| "Hosszú" kiírás | 219 |
| Sávkeresés | 219 |
| Winchester-rendszer előkészítése | 220 |
| A Winchester működéskészségének ellenőrzése | 220 |
| Winchester író/olvasófej előkészítése | 220 |
| Disktípus beolvasása | 221 |
| Lemezcsere lekérdezése | 221 |
| Disktípus beállítása formázáshoz | 221 |
| Lemeztípus beállítása formázáshoz | 222 |
| A diskette fizikai kezelése | 222 |
| A diskette adapter regiszterei | 223 |
| A diskette adapter programjai | 225 |
| A diskette adapter státuszbyte-jai | 228 |
| Egyéb tudnivalók a hardware-ről | 235 |
| 8255 Programmable Peripheral Interface | 235 |
| A PPI üzemmódjai | 236 |
| A PPI portjai és programozása | 238 |
| A PPI az IBM PC/XT alapkártyáján | 239 |
| 8237 Direkt Memory Access | 242 |
| A DMA állapotai és üzemmódjai | 243 |
| A DMA regiszterei és programozása | 245 |
| 8253 Timer/Counter | 251 |
| A Timer/Counter üzemmódjai | 252 |
| A Timer/Counter portjai és programozása | 255 |
| 8259 Interrupt Controller | 257 |
| Az interrupt vezérlő belső regiszterei | 258 |
| Interrupt-kérés továbbítása | 259 |
| Az interrupt-eljárás vége | 259 |
| A felhasználható processzorok | 260 |
| Az interrupt-szintek kezelése | 260 |
| Több interrupt vezérlő egy rendszerben | 261 |
| Pszeudo-interruptok; pollozás | 262 |
| Az interrupt vezérlő előkészítése | 263 |
| Az interrupt vezérlő üzemszerű használata | 265 |
| Az NMI szerepe és letiltása | 267 |
| Játákadapter (botkormány) | 268 |
| Az egér (mouse) | 269 |
| Az egér és a képernyő | 271 |
| Az egér cursora | 272 |
| A Microsoft egér funkciói | 273 |
| Egyéb ROM BIOS interrupt | 283 |
| NMI - Non Maskable Interrupt | 283 |
| Képernyőnyomtatás (hard copy) | 284 |
| A gép elemeinek lekérdezése | 285 |
| Memóriahossz lekérdezése | 286 |
| Kazettás magnó kezelése (csak IBM PC) | 286 |
| A magnó motorjának bekapcsolása | 286 |
| A magnó motorjának kikapcsolása | 287 |
| Adatblokkok beolvasása | 287 |
| Adatblokkok kiírása | 288 |
| A 15. interrupt az IBM AT-n | 288 |
| Perifériális eszköz megnyitása | 289 |
| Perifériális eszköz lezárása | 289 |
| Eszköz használatának befejezése | 289 |
| Eseményre várakozás | 290 |
| A joystick (botkormány) kezelése | 290 |
| System Request kezelése | 290 |
| Várakozás | 291 |
| Blokk mozgatása | 291 |
| Memóriakiterjesztés lekérdezése | 293 |
| Átváltás virtuális módba | 293 |
| Várakozás valamely eszközre | 294 |
| Eszköz felszabadítása | 295 |
| Konfiguráció lekérdezése | 295 |
| ROM BASIC elindítása | 296 |
| Rendszerindítás | 296 |
| Az óra kezelése | 296 |
| Az időszámláló lekérdezése | 297 |
| Az időszámláló beállítása | 298 |
| A valós idő lekérdezése BCD-alakban | 298 |
| A valós idő megadása BCD -alakban | 299 |
| A dátum lekérdezése BCD alakban | 299 |
| A dátum beállítása BCD alakban | 300 |
| Jeladás kérése adott időpontra | 300 |
| A riasztás kikapcsolása | 300 |
| CRTL-BREAK felhasználói interrupt | 301 |
| Timer felhasználói interrupt | 301 |
| Video paraméterek | 302 |
| Diskette paraméterek | 304 |
| Grafikus karaktergenerátor | 306 |
| Riasztás a valósidejű óra segítségével | 306 |
| Winchester paramétertáblázatok | 312 |
| Függelék | 313 |
| A függelék: A ROM BIOS memóriaterületei | 313 |
| B függelék: A ROM-BIOS interruptok kiosztása | 318 |
| C függelék: Az I/O portok kiosztása | 320 |
| D függelék: A klaviatúra kódjai | 321 |
| E függelék: A ROM BIOS funkciók összefoglalása | 324 |