Updated: 02.06.24

Main -> Books -> Technical Books -> My Books -> PC Interfacing Pocket Reference

Cover of PC Interfacing Pocket Reference

PC Interfacing Pocket Reference

This Book is designed as an easy to use pocket reference for programmers and engineers working on the PC. The PC PhD: Inside PC Interfacing is a companion book that contains detailed background information on the information and concepts presented in this book.

Along with detailing the PC's architecture, the Intel 8086 and later microprocessors are described. The instruction sets used in the processor are listed along with addressing and value information. The information is useful for all PCs from the first 8088s to the most modern multi-Pentium III systems.

PC Application development tools, including Assembler, BASIC, Visual Basic, C and Visual C++ are given along with their statement formatting. Along with language basics, sample routines have been provided to simplify common interfacing tasks. Along with the Application development tools, a detailed explanation of the PC's BIOS and MS-DOS Application Program Interfaces ("APIs") is included.

Electrical engineering basics are given in this book to help with providing often needed information in one source. Along with these basics are tables listing a variety of information that are often required when developing PC applications. This information makes the "PC Interfacing Pocket Reference" a complete reference for most PC interfacing applications.


Table of Contents:

Conventions used in this Book

Constants and Data Tables
  - Mathematical and Physical Constants
  - ASCII
    - ASCII Control Characters
    - ANSI Display Control Sequences
    - IBM PC Extended ASCII Characters
    - Windows ASCII Characters
  - EBCDIC
  - Morse Code
  - Audio Notes
  - “Touch-Tone” Telephone Frequencies 
  - Phonetic Alphabets
  - “Ten” Radio Codes

Miscellaneous Electronics
  - Resistor Color Coding
  - Electromagnetic Spectrum
    - Radar Bands
  - Digital Logic
  - Gates
  - Flip Flops

Formulas
  - DC Electronics Formulas
    - AC Electronics Formulas
  - Mathematical Formulas
    - Boolean Arithmetic
  - Conversions
    - Speaker Output
  - SoundBlaster Output
  - Memory Allocation

PC Processor Data Formats

PC Addressing Maps
  - Memory Map
  - I/O Space Map
  - Interrupt Function by Number

Motherboard Basics
  - Block Diagram
    - Processor Support Subsystem
    - ROM Subsystem
    - Local Bus RAM
  - Caching
  - I/O Subsystem
  - Timer Subsystem with Registers
  - Speaker Output
  - Timer Channel Allocation
  - Interrupt Controller Subsystem with Registers
    - Interrupt Controller Registers
    - Interrupt Handler Operation
    - Interrupt Table
    - Software Interrupts
    - Hardware Interrupts
    - “Capturing” an Interrupt Vector
    - Interrupt Sharing
    - Application Debug Interrupts
      - NMI (IOCHK) Interrupt
      - Breakpoint Interrupt
      - Single Step Interrupt
      - ”D11” BIOS Handler
    - DMA Subsystem
      - DMA Page Registers
      - Sample DMA Request and Interrupt Hardware
      - Registers
    - RTC/CMOS Subsystem with Registers/Configuration Information

Processors
  - Architecture
    - Flags Register
    - Addressing Modes
    - 20 Bit Addressing
    - Segment Registers
    - Indexed Addressing
    - Pointer Structure
  - Programming
    - Jumping
    - Conditional Jumping
    - “Far” Conditional Jumps
    - String Operations
    - Subroutines
      - Parameter Passing
    - Caches
    - Instruction Sets
      - Pentium Enhancements
      - 8086 Instruction Set
      - 32 Bit Instruction Set
      - 8087 Numeric Coprocessor Instruction Set
      - MMX Instruction Set
      - Pentium III Instruction Set

Adapter Card Busses
  - ISA
    - ISA Pinouts
    - Block Diagram
    - Bus Timings
    - Interrupt
    - DMA
    - ISA “Plug and Play”
  - PCI
    - PCI Pinouts
      - C/BE Cycle Function
    - Bus Waveforms
    - Interrupt
    - DMA
    - PCI “Plug and Play”

USB Bus
  - Connections to the PC
  - Data Packet Formats
  - Data Transfer Types
  - Device Enumeration
  - PC Host Configuration

Boot Process
  - POST
    - ISA “MFG_PORT” with Decode/Display 
    - PC/AT POST Error Codes
  - Bus ROM 
  - Operating System Boot

Video Interfaces
  - Video Modes with Character/Pixel Information
  - Character/Color information
  - Display Adapter Connections
  - Display Scan Rates

Keyboard/Mouse
  - Controller Register Definition
  - Connector Specification
  - Keyboard Operation with Timing Diagrams
  - Mouse Data Packet
  - Keyboard Controller Commands
  - Keyboard Commands
  - Keyboard Scan Codes

I/O Peripherals
  - Serial Port
    - Block Diagram
    - Serial Port Base Addresses
    - 8250 Registers
    - Operation
    - Interrupts
    - Communications Model
    - RS-232 Voltage Levels
    - Standard RS-232 Data Rates
    - Connector Pinouts
    - Null Modem Connection
    - Three-Wire RS-232 Connection
      - RS-232 Powered Circuits
      - Level Converter Circuits
  - Parallel Port
    - Block Diagram
      - Base Registers
    - Registers
      - Data Output Waveform
    - Sample Connection Schemes 

Diskette Subsystem
  - Standard Diskette Formats
  - Diskette Connector Pinouts
  - Block Diagram
  - Track/Sector Formatting
  - Boot Sector Specification

(E)IDE Hard Disk Subsystem
  - Disk Sizing
  - Block Diagram
  - Disk Connector Pinouts
  - SCSI Connector Pinouts

Miscellaneous PC Hardware
  - Joystick
    - Block Diagram
    - Connector Pinout
    - Register Bit Definition
  - SoundBlaster
    - Registers
    - DSP Commands
    - Mixer Control
    - DMA Operation
      - Wave File Definition
  - Power Supply
    - PC/AT Power Connector
    - APM and ACPI 
      - APM System States
      - APM Power Device Ids
      - APM BIOS APIs
      - ACPI Power Connector

MS-DOS Executable Files
  - Program Segment Prefix
  - “.COM” File Format
  - “.EXE” File Header
  - Device Driver Header
  - Device Driver Attribute Word

PC Firmware
  - Video Modes
    - Video State Buffer
    - Interrupt 10h - Video APIs
  - Interrupt 11h - Equipment Determination
  - Interrupt 12h - Get Memory Size  
  - Disk BIOS Status Byte
    - Interrupt 13h - Disk BIOS
  - Modem Status Register Bit Definition
    - Modem Control Register Bit Definition
    - Line Status Byte Register Bit Definition
    - RS-232 Communications Initialization Parameters
    - Interrupt 14h - RS-232 Communications APIs
  - System Services Protected Mode Descriptor Table Format
    - System Configuration Parameters
    - Most Port Status Byte
    - Interrupt 15h - System Services APIs
  - Keyboard Flags Byte
    - Interrupt 16h - Keyboard Interface APIs
  - Printer Status Byte
    - Interrupt 17h - Printer Interface
  - Interrupt 19h - Bootstrap Loader
  - Interrupt 1Ah- System Timer and RTC Services
  - Interrupt 33h - Mouse Interrupt
  - BIOS System Variables

MS-DOS
  - MS-DOS File Search 
  - Memory Block Definition
  - File Control Block Definition
  - Environment Information
  - Error Codes 
    - Error Classes
    - Error Action Codes
  - command.com
    - config.sys
    - autoexec.bat
  - API Interrupts
    - Interrupt 20h - Program Terminate
    - Interrupt 21h - Function Request
    - Interrupt 22h - Terminate Address
    - Interrupt 23h - Ctrl-Break Exit Address  
    - Interrupt 24h - Critical Error Handler Vector
      - Interrupt 24h - Critical Error Handler Vector AH Contents
      - Interrupt 24h - Critical Error Handler Vector DI Error Number
      - Interrupt 24h - Critical Error Handler Vector Device Header Block
      - Interrupt 24h - Critical Error Handler Vector Responses
      - Interrupt 24h - Critical Error Handler Vector Return Code
    - Interrupt 25h & 26h - Absolute Disk Accesses - Disk Logical Sectors
      - Interrupt 25h & 26h - Absolute Disk Accesses Error Codes
      - Interrupt 25h & 26h - Absolute Disk Access APIs
    - Interrupt 27h - Terminate but Stay Resident
    - Interrupt 2Fh - Multiplex Interrupt Standard Process Numbers
    - Interrupt 2Fh - Standard Multiplex Interrupt APIs
    - Interrupt 2Fh - Multiplex Interrupt Process Number Availability Check
    - Interrupt 2Fh - Standard Multiplex Interrupt API Error Codes
    - Interrupt 2Fh - Standard Multiplex Interrupt Handler
    - Interrupt 2Fh - Multiplex Interrupt Handler Installation
  - Interrupts 28h-2Eh, 30-32h and 34h-3Fh

MS-DOS Operation
  - Directory/File Names
  - File Wild Cards
  - MS-DOS Commands and Utilities
  - Redirecting I/O
  - CONFIG.SYS Commands
  - MS-DOS Common Device Drivers
  - MS-DOS Code Pages
  - EDLIN Editor

Batch Files
  - Input Parameters
  - Wrappers
  - Statements
  - Variables
  - Reserved Words
  - Conditional Execution
  - Traditional “For” Loops

MASM 6.11 Assembler
  - Command Line Operations
  - Directives
  - Linking

BASIC Language
  - Declarations
  - Statements
  - Operators
  - Microsoft Enhanced Statements
  - QBASIC Command Line Options

C Language
  - Declarations
  - Statements
  - Operators
  - Directives
  - Reserved Words
  - Escape Sequences
  - Streaming
  - Common C Functions
    - PC Enhancement Functions

Debuggers
  - “debug.com”
  - CodeView
    - TOOLS.INI
    - Command Line Parameters
    - Keystroke Commands

“Win32” Kernel/Operating System Architecture
  - USER, GDI and KERNEL
  - WIN.INI
  - Windows Registry
  - Arenas
  - Rings
  - Virtual Machine Manager
  - V86 Mode
  - COM/OLE/ActiveX

Windows Device Drivers
  - Dynamic Link Libraries(“.DLL”)
  - Virtual Device Drivers (“.VxD”)
  - Win32 Device Models(“WDM”)

Visual Basic
  - Integrated Development Environment
  - Controls
  - MSComm

Visual C++
  - Object Orientated Programming
  - Microsoft Development Studio
    - AppsWizard
    - ClassWizard
    - Controls
  - Microsoft Function Classes (MFC)
  - Suggested Visual C++ Debugging Process

Microsoft Foundation Classes

DOS Protect Mode Interface

Sample Routines
  - “Far” Conditional Jump Macro
  - Passing Parameters
  - Interrupt Handler Skeleton
  - Interrupt “Capture” and “Release”
  - Setting up DMA Transfers
  - Batch File I/O Utilities
  - String Operations
  - Critical Timing Using the 8254
  - “Tone” Output on PC Speaker
  - Video Output
  - Hex/ASCII Data Conversion
  - ASCII Lower to Upper Case Conversion
  - Keyboard Handlers
  - Mouse Handlers
  - Serial Port I/O
  - File I/O
  - Joystick Pot Read
  - SoundBlaster Register/DSP Access
  - Visual Basic MSComm Initialization
  - Visual Basic MSComm “OnComm” Event Handler

Basic HTML
  - URL Types
  - HTML Template
  - HTML Color Specification
  - HTML Tag Commands

Resources
  - Periodicals
  - Useful books
    - Engineering References
    - PC Hardware
    - 8086 Assembly Code
    - High Level Language Software Development
    - Windows Systems Programming
  - Part Suppliers
  - Web Sites of Interest
    - Useful Microsoft Web Sites
  - Recommended List Servers
  - Recommended News Groups

Glossary of Terms used in the PC

            

ISBN Numbers

Softcover: 0-07-135525-1