ebook img

Systemnahe Programmierung mit Borland Pascal: Mit vollständiger „Turbo Vision im Grafikmodus“ auf Diskette PDF

475 Pages·1994·10.191 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Systemnahe Programmierung mit Borland Pascal: Mit vollständiger „Turbo Vision im Grafikmodus“ auf Diskette

Christian Baumgarten Systemnahe Programmleftlng mit Borland Pascal Am tkm Ikrcidl C0111 lullTLllhlilcl.1tUI TelekommunikatioD mit dcm PC von Albrecht Darimont Multimedia-PC von Armin MUller Thcorie und Praxis relationalcr Datc:nbanken von Rene Steiner Online-Recherche - Neue Wege zu.m WlSSCD dcr Welt von Peter Horvath Business-LOsungen mit Access 1.1 von Ekbert Hering und Bernd Mahlenbrei Systemnahe Programmierung mit Borland Pascal von Christian Baumgarten AutoCAD 12 fUr W"mdows von Ekbert Hering und Stephan Sienz Das Vieweg-Buch zu FoxPro fUr Windows von Dieter Staas MikrocontroUcr-Praxis von Norbert Hecsel und Werner Reichstein DTP-Praxis mit PageMakcr 5 von Wolfgang Miiller Vicwcg Christian Baumgarten Systemnahe Programmierung mit Borland Pascal Mit vollstandiger "Turbo Vision im Grafikmodus" auf Diskette I I Vleweg Turbo Vision™ ist ein eingetragenes Warenzeichen der Borland Cooperation Das in diesem Buch enthaltene Prograrnm-Material ist mit keiner Verpflichtung oder Garantie ir gendeiner Art verbunden. Der Autor und der Verlag iibernehmen infolgedessen keine Verantwortung und werden keine daraus folgende oder sonstige Haftung iibernehmen, die auf irgendeine Art aus der Benutzung dieses Prograrnm-Materials oder Teilen davon entsteht. Additional material to this book can be downloded from http://extras.springer.com. Aile Rechte vorbehalten © Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, BraunschweigIWiesbaden, 1994 Softcover reprint of the hardcover 18t edition 1994 Der Verlag Vieweg ist ein Unternehmen der Verlagsgruppe Bertelsmann International. Das Werk einschlieBlich aller seiner Teile ist urheberrechtlich geschiitzt. Jede Verwertung auBerhaib der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustirnmung des Verlags unzuliissig und strafbar. Das gilt insbesondere fiir Vervie1faItigungen, Ubersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. Gedruckt auf siiurefreiem Papier ISBN- 13 :978-3-322-87239-5 e-ISBN- 13 :978-3-322-87238-8 DOl: 10.1007/978-3-322-87238-8 v Vorwort Das vorliegende Buch entstand aus dem Bedurfnis heraus, rur die PC-Programmierung unter MS-DOS oft benotigte Informationen griffbereit zur Hand zu haben. Es handelt sich sornit im wesentli chen urn ein Handbuch - d.h. ein Nachschlagewerk - und nicht urn ein Lehrbuch. Es kann und solI die Original-Handbucher nicht ersetzen, sondern erganzen. Dennoch aber werden viele Beispiele gegeben (die auf der beiliegenden Diskette auch als Dateien vorliegen), wie Probleme gelost werden konnen, einschlieBlich eines umfangreichen 'Rezeptes', wie sich Borlands Turbo Vision in den Graphikmodi von CGA, EGA, VGA und HERCULES realisieren laBt. Insofern werden Grundkenntnisse in Pascal und Assembler - inklu sive objektorientierter Programmierung - und die Moglichkeit, bei Verstandnisschwierigkeiten die Original-Dokumentation(en) zu Rate zu ziehen, vorausgesetzt. Dies ist kein Buch ausschlieBlich fur Fortgeschrittene - wenn auch passagenweise rur blutige Anfanger im Bereich der PC-Programmie rung vermutlich schwer verstandlich. Weiter fortgeschrittenen Pro grammierern - insbesondere solchen mit soliden Kenntnissen in Assembler - rate ich an, das Buch querzuiesen, d.h. Kapitel oder Abschnitte, die Bekanntes darstellen, zu uberspringen bzw. es eben als Nachschlagewerk zu gebrauchen. Das Buch ist in Themenbereiche gegliedert, und die vorderen Kapi tel sind deshalb nicht unbedingt rur das Verstandnis der spateren er forderlich. Eine Ausnahme hiervon bildet Kapite1 14 tiber die Turbo Vision im Graphikmodus (TGV) , in dem Kenntnisse aus den Kapi teln sieben und acht vorausgesetzt werden. Der Themenkreis des Buches ist weit gefachert und es war daher nicht moglich, jedes Thema wirklich erschopfend zu behandeln. Ich habe mich bemtiht, sorgfaltig vorzugehen, und aIle dargesteIlten QueIltexte und Programme grundlich zu prufen. Fehler sind den noch nicht vollig auszuschlieBen. Ich kann deshalb fUr die Richtig- VI Vorwort keit der in diesem Buch gemachten Angaben und fur die Fehlerfrei heit der Programmtexte keine Garantie geben und keinerlei Haftung fur eventuell durch fehlerhafte Informationen entstehende Schliden tibernehmen. Ich bitte hierfur urn Versmndnis. Mein besonderer Dank gilt den Mitarbeitern des Verlages Vieweg sowie allen, die mich bei der Erstellung des Manuskripts unterstutzt haben, insbesondere meiner Lebensgefahrtin Pia fur ihre Geduld. Fur Hinweise, konstruktive Kritik und Anregungen in schriftlicher Form bin ich dem Leser dankbar. Christian Baumgarten VII Inhaltsverzeichnis Vorwort. .............................................................................................. v 1 Zentrales: Die CPU ..................................................................... 1 1.1 Registerstruktur und Datenformate ...................................... 2 1.1.1 Die Register des SOXS6 ........................................... 2 1.1.2 Das Befehlsfonnat des SOXS6 ................................. 7 1.1.3 Die Adressbildung ................................................... 8 1.1.4 Die Segrnente ........................................................ 12 1.2 Die Datenformate ............................................................... 16 1.2.1 Binarzahlen ........................................................... 17 1.2.2 32-Bit-Formate ....................................................... 20 1.2.3 Das Rechnen mit ganzen Zahlen .......................... 22 1.2.4 BCD-Zahlen ........................................................... 29 1.2.5 Ungepackte Dezimalzahlen .................................. 30 1.2.6 Der Datentyp String .............................................. 30 1.3 Die Stringbefehle ................................................................ 31 1.3.1 Speicherbereiche fullen ........................................ 32 1.3.2 Daten verschieben ................................................ 34 1.3.3 Daten vergleichen ................................................. 35 1.3.4 Daten durchsuchen ............................................... 36 1.3.5 Daten durch IO-Ports schleusen ........................... 3S 1.3.6 Weitere Stringroutinen .......................................... 38 2 Zentrales: Die FPU .................................................................. .43 2.1 Der Aufbau der FPU .......................................................... .43 2.1.1 Das FPU-Status-Wort ............................................. 44 2.1.2 Das FPU-Steuer-Wort ........................................... .45 VIII Inhaltsverzeichnis 2.2 Die FPU-Befehle ................................................................. 46 2.2.1 Die Arithmetik-Befehle der FPU .......................... .47 2.2.2 Lade und Transportbefehle .................................. .48 2.2.3 Erweiterte Befehle (Tranzendente Funktionen u.a.) .......................... .51 2.3 Die UNIT FPU ..................................................................... 55 2.3.1 Die Standardfunktionen ........................................ 56 2.3.2 Weitere transzendente Funktionen. ...................... 60 2.4 Der Borland-8Ox87-Emulator ............................................. 61 3 Die interne Peripherie ............................................................ 63 3.1 Der DMA-Controller ........................................................... 63 3.1.1 Die DMA-Register .................................................. 64 3.2 Der Interrupt-Controller ..................................................... 67 3.2.1 Die PC-Hardware-Interrupts ................................. 67 3.2.2 Die Register des Interrupt-Controllers .................. 69 3.3 Der Timerbaustein 8253 ..................................................... 70 3.3.1 Der Timerbaustein ................................................ 71 3.3.2 Die Betriebsarten des Timers ................................ 72 3.3.3 Die Programmierung des Timers .......................... 73 3.3.4 Die Unit Timer ...................................................... 74 3.4 Der CMOS-Uhrenbaustein .................................................. 76 3.4.1 Die CMOS-Register ................................................ 77 3.4.2 Die BIOS-Zeitfunktionen ...................................... 82 3.4.3 Die DOS-Zeitfunktionen ....................................... 84 4 Die SChnittstellen ..................................................................... 87 4.1 Die Parallel-Schnittstelle ..................................................... 87 4.1.1 Die Register der Parallelschnittstellen .................. 88 4.1.2 Die Funktionen des BIOS-Interrupt 17H .............. 88 4.1.3 Die DOS-Drucker-Funktionen .............................. 90 4.1.4 Die Ansteuerung eines Druckers .......................... 93 4.2 Die serielle Schnittstelle ..................................................... 95 4.2.1 Das protokoll der seriellen Datentibertragung .... 95 4.2.2 Die Hardware der seriellen Schnittstelle .............. 97 4.2.3 Die Register des Interface-Bausteins 8250 ........... 97 4.2.4 Der BIOS-Interrupt 14h ....................................... 101 4.2.5 Ein RS232-Demoprogramm ................................. 102 Inhaltsverzetchnis IX S Die Tastatur .......................................................................... 107 5.1 Tastatur und BIOS-Datenbereich ..................................... 108 5.2 Die Tastatur-Interrupts ...................................................... 110 5.2.1 Die Keyboard-Funktionen des Interrupt 21H .... 112 5.3 Die Tastatur-Ports ............................................................. 114 5.4 Die UNIT KEYBOARD ...................................................... 115 6 DieMaus .......................................................................... 117 6.1 Der Mauscursor. ................................................................ 117 6.2 Die Funktionen des Mausinterrupt 33h ........................... 118 7 Das Videosystem im Textmodus ......................................... 125 7.1 Der Videospeicher im Textmodus ................................... 125 7.2 Die Videomodi ................................................................. 128 7.3 Die BIOS-Funktionen fur den Textmodus ....................... 131 7.3.1 Die allgemeinen Funktionen des Interrupt 10H ................................................ 132 7.3.2 Die Zeichensatzfunktionen des EGA-/VGA-BIOS ........................................... 136 7.3.3 Die Palettenauswahl bei der CGA-Karte ............ 140 8 Die Graphikmodi ................................................................... 141 8.1 Die Hercules-Graphikkarte ............................................... 142 8.1.1 Die Register der Herculeskarte ........................... 143 8.1.2 Die UNIT HERCULES .......................................... 145 8.2 Die EGA-/VGA-Graphikkarte ........................................... 152 8.2.1 Die Speicherorganisation der EGA-/VGA-Karte ........................................... 152 8.2.2 Die Prozessor-Latch-Register ............................... 153 8.2.3 Der Graphikcontroller ......................................... 153 8.2.4 Der Attributcontroller .......................................... 158 8.2.5 Der Sequencer ..................................................... 160 8.2.6 Die Register des Digital-Analog-Konverters (VGA) ................ 161 8.2.7 CRT- und Video-Controller der EGA-/VGA-Karte ........................................... 162 x Inhaltsverzeichnis 8.3 Die Palettenfunktionen des EGA-/VGA-BIOS ................. 163 8.3.1 Die EGA-Palettenfunktionen ............................... 163 8.3.2 Die VGA-BIOS-Funktionen zur Steuerung des DAC ....................................... 165 8.3.3 Die UNIT PALETTES ........................................... 167 8.4 Weitere Funktionen des EGA-/VGA-BIOS ....................... 181 8.5 Die Programmierung der EGA-/VGA-Karte ..................... 188 8.5.1 Pixel Setzen ......................................................... 188 8.5.2 Schnelle Textausgabe im Graphikmodus ........... 193 9 Disketten und Festplatten .................................................... 195 9.1 Die Organisation der Datentrager unter DOS ................. 196 9.1.1 Die physikalische Aufteilung eines Datentragers ............................................... 196 9.1.2 Die File Allocation Table (FAT) .......................... 198 9.1.3 Das Media Deskriptor Byte ................................. 199 9.1.4 Der Bootrecord ................................................... 200 9.1.5 Verzeichnisse ....................................................... 201 9.1.6 Diskettenformate ................................................. 203 9.1.7 Festplatten-Partitionen ........................................ 205 9.2 Die Disketteninterrupts .................................................... 207 9.2.1 Informations-Funktionen .................................... 208 9.2.2 Funktionen fur den Plattenzugriff ...................... 212 9.2.3 Die BIOS-Format-Funktionen ............................. 215 9.2.4 Weitere DOS-/BIOS-Funktionen ......................... 217 9.3 Die UNIT DISK_OB]. ........................................................ 219 9.4 Weitere Systeminformationen zu den Laufwerken ......... 232 10 Dateien und ihr Management .............................................. 235 10.1 Die Datei-Funktionen des Interrupt 21H ......................... 236 10.1.1 Die FCB-Funktionen ........................................... 236 10.1.2 Die Handleorientierten Funktionen ................... 242 10.1.3 Die Handle-Funktionen des Interrupt 21h ......... 243 10.1.4 Weitere Dateifunktionen ..................................... 249 10.2 Die DOS-Verzeichnisfunktionen ...................................... 251 10.3 Weitere Funktionen .......................................................... 252

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.