|
 |
|
Telefon: 375-1564, 375-3591
E-mail: info@computerbooks.hu
László József:
A PC hardver programozása
valós és védett
módban
Pascal és Assembly nyelven
-
a könyvhöz a melléklet az internetről
tölthető le
Megjelenés: 2003 május
540 oldal, 4.720,- Ft
ISBN: 963 618 298 1
|
A könyv előszava
Napjainkban a klasszikusnak számító operációs
rendszerek és a klasszikus programozási módszerek
letűnni látszanak. A növekvő hardver
teljesítményekkel együtt az operációs
rendszerek és szoftverek mérete, erőforrásigénye
is növekszik. Napról napra újabb és
újabb - egyre összetettebb, egyre terjedelmesebb -
programok, alkalmazások látnak napvilágot,
követni ezeket a változásokat a szakembernek
és a laikusnak is mind nehezebb. De vajon szükségszerű,
hogy az újdonságok automatikusan kiszorítsák
a bevált, működő régi rendszereket?
Talán nem. Az Internet hálózat rohamos fejlődésével
az azonos érdeklődésű emberek immár
könnyedén kapcsolatba léphetnek egymással,
így lehetőség van arra is, hogy az általuk
fontosnak, értékesnek tartott dolgokat életben
tartsák. Meglepő ugyan, mégis tény,
hogy egyre több olyan szervezet, csoport jön létre
manapság, melynek célja a régi számítástechnikai
értékek megőrzése, továbbvitele.
Így van ez a programozással is. Könyvünk
témája az IBM PC - illetve a PC kompatíbilis
számítógépek - hardver szintű
programozása. Manapság, a multitask és
multiuser operációs rendszerek idejében
az ilyesfajta programozás talán nem divatos, de
azért mégsem példa nélküli. Hiszem,
hogy igény és szükség van ezekre az
ismeretekre is, ahogyan a számítógép
továbbra is a hardver és szoftver együttese.
Valakinek tudnia kell hatékonyan programozni a hardvert,
hogy az újabb fejlesztések adta teljesítményeket
megfelelően kiaknázhassuk. Miért ne lehetne
ez a valaki az Olvasó?
Könyvünk témája tehát a PC-hardver
programozása. Ehhez természetesen szükségünk
lesz a megfelelő programozási nyelvekre, illetve
e nyelvek ismeretére. Ha az Olvasó találkozott
már korábbi könyveimmel, nem éri meglepetésként,
hogy a Pascal és az Assembly nyelveket használjuk
majd, e két nyelvet ötvözve igen hatékony
programokat készíthetünk. A Pascal fordítóprogramok
közül a régi jól bevált Borland
Pascal-t, illetve az újabb, bizonyos szempontból
fejlettebb Free Pascalt használjuk. Mindkét
fejlesztőkörnyezet támogatja az Assembly nyelvű
programozást is. Operációs rendszerként
- lévén közvetlen hardverprogramozásról
van szó - a DOS-t, és a Windows DOS kompatíbilis
módját használjuk majd, de természetesen
a könyv ismeretanyaga jól felhasználható
lesz más operációs rendszerek esetében
is, hiszen a hardver minden esetben ugyanaz.
E könyvet tekinthetjük a ComputerBooks
kiadó gondozásában korábban megjelent
VGA kártya programozása és Perifériák
programozása címmel megjelent könyvek együttes
átdolgozott, bővített kiadásának.
A könyvek korábbi ismeretanyagán kívül
természetesen foglalkozunk az újabb területekkel
is, így például szó lesz az Intel
processzorok védett módú 32 bites
programozásáról vagy az SVGA kártyák
szabványos kezeléséről, a VESA-ról
is. Tesszük mindezt sok-sok példaprogram, részletes
ismertetés segítségével. Remélem,
hogy az Olvasó hasznos segítőtársa
lesz ez a kiadvány, s általa a programozás
nem csupán munka, hanem öröm is lesz.
Példaprogramok:
pbprog.zip
Töltse le a pbprog.zip nevű állományt.
Hozzon létre egy munkakönyvtárat a merevlemezen
például (C:\WORK), majd másolja ide és
csomagolja ki az állományt.
Vissza a lap tetejére
A könyv tartalomjegyzéke
Előszó
Bevezetés
Fejlesztő eszközeink
A Borland Pascal fejlesztőkörnyezet
A Free Pascal fejlesztőkörnyezet
A Free DOS rendszer és a Flat Assembler fordító
Betűtípusok, példaprogramok
A PC hardver alapjai
Az alaplap fontosabb részei
A klasszikus buszrendszer
A DPMI
A hagyományos memória felosztása
A rendszer teljes memóriája
A CMOS memória felosztása
Az időzítéssel kapcsolatos CMOS bájtok
Diagnosztikai CMOS bájtok
Rendszerinformációs CMOS bájtok
A I/O címtartomány kiosztása
Az izolált és a memóriában leképzett
I/O
A rendszer I/O címei
A bővítő kártyák I/O címei,
a PnP technika
A megszakításrendszer
A klasszikus megszakításrendszer
A PC megszakításrendszere
A DMA rendszer
8237A vezérlőregiszterek és I/O címek
DMA lapregiszterek
DMA vezérlő regiszterek
A DMA korlátai
Az USB
A ROM BIOS rendszerváltozói
A Borland Pascal built-in assembler
A Borland Pascal programok memóriaszervezése
Az assembler és a pascal kapcsolata
A lefordított kód
A beépített assembler szabályai
Assembly függvények, eljárások
Függvények visszatérési értékei
Külső assembly szubrutinok
A routines unit
A CMOS memória kezelése
Harminckét bites kód
Az Intel processzorok működési módjai
A regiszterkészlet
A kibővített általános címzésmódok
A skálázott indexelés
A LEA utasítás különleges felhasználása
Bittesztelő utasítások
Bitkeresés
Rotáció
Feltételes beállítás
Adathossz bővítés
A 80486 processzorok bővítései
A Pentium processzorok bővítései
Az FPU utasítások és az MMX technológia
A Free Pascal compiler
Letöltés
Telepítés
Tesztelés
Védett módú programok
Memória elérés
A Free Pascal memória szervezése
Szoftver megszakítások
Hardver megszakítások
Callback funkciók
A Free Pascal beépített assemblere
Operátorok
Adathossz definíció
Szegmens felülbírálás
Változók, rekordelemek elérése
Egyéb
Példák az assembler használatára
A billentyűzet
A billentyűzet BIOS-megszakításai
Programozás BIOS függvényekkel
A ReadKey függvény
A BIOS közvetlen hívása
A SHIFT állapot lekérdezése
A BIOS elérése védett módban
A SHIFT állapot lekérdezése védett
módban
A billentyűzet megszakítás átvétele
Valós módban
Védett módban
A keyscan1 unit
A bővített scan-kód készlet
A keyscan2 unit
A rendszeróra
Az időzítő áramkör
Az időzítő megszakítás
A megszakítás átvétele valós
módban
A megszakítás kezelése védett módban
A hangszóró vezérlése
Az aszinkron soros kommunikáció
A modemek és a soros kommunikáció
Az aszinkron soros adatátvitel
Készülékek összekötése
BIOS megszakítások
Az Intel 8250 aszinkron soros illesztő
Soros kommunikáció BIOS függvényekkel
Lekérdezéses adatátvitel
Megszakításos adatátvitel
A soros vonal programozása védett módban
Modem parancsok
Inicializálás, alaphelyeztbe állítás
Tárcsázás, kapcsolatfelvétel, kapcsolatbontás
Kijelzések, modem válaszok
Hibajavítás és adattömörítés
Diagnosztika, tesztelés
Regiszterkészlet
Egyéb beállítások
A nyomtató illesztő
Az illesztő kiosztása
A nyomtatóadapter regiszterei
BIOS megszakítások
Két gép összekötése párhuzamos
porton keresztül
A párhuzamos illesztő tesztelése programmal
Kommunikáció két gép között
Az egér kezelése
BIOS függvények
A MyMouse és a MyGraph unit
Lekérdezéses egérkezelés
Statikus egérhasználat
Dinamikus egérhasználat
Az egérkurzor megváltoztatása
Az egér kezelése védett módban
A VGA kártya
Video alapfogalmak
Monokróm képábrázolási módszer
Szinkronizáció, órajelek
Színes képábrázolási módszer
Az RGB színkeverési módszer
Képernyőszerkezetek
A karakteres kép felépítése
A monokróm grafikus kép szerkezete
A 16 színű grafikus kép szerkezete
A 256 színű grafikus kép szerkezete
A modex képszerkezet
A VGA regiszterkészlete
A VGA latch
Az Attribute Controller regiszterek
Státus és kimeneti regiszterek
Sequencer regiszterek
VGA palettaregiszterek
Grafikai vezérlő regiszterek
Elektronsugár-vezérlő regiszterek (CRTC)
Egyéb regiszterek
A VGA olvasási módjai
A VGA írás módjai
A VGA BIOS
Üzemmód beállító funkciók
Szöveges és grafikus megjelenítő funkciók
Szín- és palettabeállító funkciók
Karaktergenerátor funkciók
Kiegészítő funkciók
Állapotlekérdező- és beállító
funkciók
A szöveges módok programozása
Különböző szöveges üzemmódok
A karakterkészlet megváltoztatása
A kép görgetése
Pixeles görgetés szöveges módban
A 16 színű grafikus módok programozása
Módbeállítás
Egy pixel kigyújtása
Egy pixel színének megállapítása
Vonalak rajzolása
Mindez a gyakorlatban
A G16 egység
A paletták kezelése
Osztott képernyő és görgetés
Mozgatható objektumok, BOB-ok
A 256 színű mód programozása
A g256 egység
A g256 egység használata
BOB-ok a 256 színű képen
A modex képernyőmód
A modex egység
A modex egység használata
BOB-ok a modex képen
A VESA videoszabvány programozása valós
módban
VESA 1.2 megszakítások
Programozási nehézségek
A 256 színű VESA módok kezelése
A VESA256 unit
VESA beállítások és lekérdezések
Pixelmanipuláció
Vonalrajzolás
Szövegkiírás
Téglalapok rajzolása
Képterületek tárolása, visszatöltése
Színmanipulációs rutinok
Egérkezelés
Gyakorlati megvalósítás
Bankváltás
VESA lekérdezések, beállítások
Pixelek kezelése
Szöveges megjelenítés
Vonalrajzolás
Téglalapok
Színmanupilációs eljárások
Egérkezelés
A VESA információk lekérdezése
Videobankok
Az egér használata
Színkeverés, színátmenet
HI-color és TRUE-color grafikus módok
A VESA64K unit
Alapszínek
Színkeverés
A VESA videoszabvány programozása védett
módban
VESA 3.0 megszakítások
Visszatérés a VESA funkciókból
Védett mód adatstruktúra
VBE 2.0/3.0 funkciók
A VESA funkciók hívása Free Pascal-ból
A VESALIN egység
Gyakorlati megvalósítás
A VESA módok lekérdezése
Az l256demo program
BOB-ok linear framebuffer módban
A Hi-Color és True-Color módok kezelése
A Hi-Color mód
A 32 bites True-Color mód
Irodalomjegyzék
Tárgymutató
Vissza a lap tetejére
|
 |