PC system programming
By: by Michael Tischer.
Series: Developer's series
Publisher: Abacus
Published: 1990
Place of publication: Grand Rapids, MI
Language: eng
Number of pages: 930
Subjects: Systems programming (Computer science); Microcomputers -- Programming.
Notes: "A Data Becker book."
"An in-depth reference for the DOS programmer"--Cover.
System requirements for computer disks (1MB of source code files in compressed format): IBM PC; MS-DOS; 1 disk drive and hard disk.
Includes index.
Table of contents: label: 1
title: Introduction
pagenum: 1; label: 2
title: The PC's Brain
pagenum: 3; label: 2.1
title: 8088 Registers
pagenum: 6; label: 2.2
title: Segment and Offset Addressing
pagenum: 8; label: 2.3
title: The CPU Support Chips
pagenum: 13; label: 2.3.1
title: The DMA Controller
pagenum: 13; label: 2.3.2
title: The Interrupt Controller
pagenum: 13; label: 2.3.3
title: The Programmable Peripheral Interface
pagenum: 13; label: 2.3.4
title: The Clock
pagenum: 14; label: 2.3.5
title: The Timer
pagenum: 14; label: 2.3.6
title: The Screen Controller
pagenum: 14; label: 2.3.7
title: The Disk Controller
pagenum: 14; label: 2.3.8
title: The Math Coprocessors (8087/80287/80387)
pagenum: 14; label: 2.4
title: The CPU and Memory
pagenum: 16; label: 3
title: Introduction to Interrupts
pagenum: 19; label: 3.1
title: The Structure of the Interrupt Vector Table
pagenum: 20; label: 3.2
title: Interrupt Types
pagenum: 22; label: 3.2.1
title: Software Interrupts
pagenum: 22; label: 3.2.2
title: Hardware Interrupts
pagenum: 22; label: 3.3
title: Interrupts at a Glance
pagenum: 24; label: 4
title: Using Interrupts from High Level Languages
pagenum: 27; label: 4.1
title: Interrupt Calls from BASIC
pagenum: 28; label: 4.2
title: Interrupt Calls from Turbo Pascal
pagenum: 36; label: 4.3
title: Interrupt Calls from C
pagenum: 40; label: 5
title: Using Interrupts from Assembly Language
pagenum: 47; label: 5.1
title: Using Assembler Macro Functions
pagenum: 48; label: 5.2
title: A Sample Macro
pagenum: 49; label: 6
title: The Disk Operating System
pagenum: 51; label: 6.1
title: A Short History of DOS
pagenum: 52; label: 6.2
title: Internal Structure of DOS
pagenum: 56; label: 6.3
title: Booting DOS
pagenum: 59; label: 6.4
title: COM and EXE Programs
pagenum: 60; label: 6.4.1
title: COM Programs
pagenum: 62; label: 6.4.2
title: EXE Programs
pagenum: 66; label: 6.5
title: Character Input and Output from DOS
pagenum: 70; label: 6.5.1
title: Handle Functions
pagenum: 70; label: 6.5.2
title: Traditional DOS Functions
pagenum: 74; label: 6.6
title: File Management in DOS
pagenum: 84; label: 6.6.1
title: Handle Functions
pagenum: 84; label: 6.6.2
title: FCB Functions
pagenum: 86; label: 6.7
title: Accessing the DOS Directory
pagenum: 92; label: 6.7.1
title: Searching for Files Using FCB Functions
pagenum: 94; label: 6.7.2
title: Searching for Files Using Handle Functions
pagenum: 95; label: 6.8
title: The EXEC Function
pagenum: 110; label: 6.9
title: Memory Allocation from DOS
pagenum: 119; label: 6.10
title: DOS Filters
pagenum: 132; label: 6.11
title: <Ctrl><Break> and Critical Error Interrupts
pagenum: 142; label: 6.12
title: DOS Device Drivers
pagenum: 148; label: 6.12.1
title: Character Device Drivers
pagenum: 150; label: 6.12.2
title: Block Device Drivers
pagenum: 151; label: 6.12.3
title: Structure of a Device Driver
pagenum: 151; label: 6.12.4
title: Device Driver Functions
pagenum: 155; label: 6.12.5
title: Clock Driver
pagenum: 168; label: 6.12.6
title: Device Driver Calls from DOS
pagenum: 169; label: 6.12.7
title: Direct Device Driver Access
pagenum: 170; label: 6.12.8
title: Tips on Developing Device Drivers
pagenum: 172; label: 6.12.9
title: Driver Examples
pagenum: 172; label: 6.12.10
title: CD-ROMs
pagenum: 192; label: 6.13
title: DOS Mass Storage
pagenum: 196; label: 6.14
title: Tips on Compatibility Between Computers
pagenum: 206; label: 6.15
title: Undocumented DOS Structures
pagenum: 208; label: 6.16
title: DOS 4.0
pagenum: 213; label: 7
title: The BIOS
pagenum: 219; label: 7.1
title: Booting the System
pagenum: 221; label: 7.2
title: Determining BIOS Version
pagenum: 223; label: 7.3
title: Determining the PC Type
pagenum: 224; label: 7.4
title: BIOS Screen Output Functions
pagenum: 226; label: 7.4.1
title: The EGA and VGA BIOS
pagenum: 254; label: 7.5
title: Determining System Configuration Using BIOS
pagenum: 289; label: 7.6
title: Determining Available RAM Using the BIOS
pagenum: 291; label: 7.7
title: Accessing the Floppy Disk from the BIOS
pagenum: 297; label: 7.8
title: Accessing the Hard Disk from the BIOS
pagenum: 323; label: 7.9
title: Accessing the Serial Port from the BIOS
pagenum: 330; label: 7.10
title: The Cassette Interrupt
pagenum: 336; label: 7.11
title: Accessing the Keyboard from the BIOS
pagenum: 358; label: 7.12
title: Accessing the Printer from the BIOS
pagenum: 384; label: 7.13
title: Reading the Date and Time from the BIOS
pagenum: 395; label: 7.14
title: BIOS Variables
pagenum: 398; label: 8
title: Terminate and Stay Resident Programs
pagenum: 407; label: 9
title: Sound on the PC
pagenum: 447; label: 10
title: Accessing and Programming the Video Cards
pagenum: 457; label: 10.1
title: Anatomy of a Video Card
pagenum: 460; label: 10.2
title: The IBM Monochrome Card
pagenum: 469; label: 10.3
title: The Hercules Graphic Card
pagenum: 482; label: 10.4
title: The IBM Color Card
pagenum: 497; label: 10.5
title: EGA and VGA Cards
pagenum: 519; label: 10.6
title: Determining the Type of Video Card
pagenum: 537; label: 10.7
title: Accessing Video RAM from High Level Languages
pagenum: 554; label: 11
title: Accessing and Programming the AT Real-Time Clock
pagenum: 563; label: 12
title: Keyboard Programming
pagenum: 575; label: 13
title: Expanded Memory Specification
pagenum: 597; label: 14
title: Mouse Programming
pagenum: 617; label: 15
title: Determining Processor Types
pagenum: 653; label: 16
title: PC Hardware Interrupts
pagenum: 667; label: 17
title: Hard Disk Partitioning
pagenum: 687; label: 18
title: The PC Ports
pagenum: 699; label: 19
title: Interaction Between Keyboard, BIOS and DOS
pagenum: 701; title: Appendices
pagenum: 709; label: A
title: Important Hardware Interrupts
pagenum: 710; label: B
title: BIOS Interrupts and Functions
pagenum: 713; label: C
title: DOS Interrupts and Functions
pagenum: 766; label: D
title: EMM Functions
pagenum: 849; label: E
title: EGA/VGA BIOS Functions
pagenum: 856; label: F
title: Mouse Driver Interrupts
pagenum: 882; label: G
title: Introduction to Number Systems
pagenum: 900; label: H
title: Glossary of Terms
pagenum: 903; label: I
title: Scan Codes
pagenum: 918; label: J
title: ASCII Character Set
pagenum: 919; title: Index
pagenum: 921