Főoldal | Könyvlista | Gyorskereső

Átmenetileg a rendelés és szállítás szünetel
A PC hardver programozása - Valós és védett módban, Pascal és Assembly nyelven

A PC hardver programozása

Valós és védett módban, Pascal és Assembly nyelven

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
ComputerBooks Kiadó
540 oldal, bolti ár: 4720,- Ft

A könyv elfogyott
utánnyomás nem várható

A könyv ismertetése

Vissza a lap tetejére | A könyv tartalomjegyzéke

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.

A könyv tartalomjegyzéke

Vissza a lap tetejére | A könyv ismertetése

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

mesekönyv

szoftver