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 |