Buscar

The 80x86 Ibm Pc and Compatible Computers

Prévia do material em texto

Homenull
	Contentsnull
	Prefacenull
	0 Introduction to Computingnull
	0.1 Numbering and Coding Systemsnull
	0.2 Inside the Computernull
	0.3 Brief History of the CPUnull
	Answers to Review Questions
	1 The 80x86 Microprocessornull
	1.1 Brief History of the 80x86 Familynull
	1.2 Inside the 8088/8086null
	1.3 Introduction to Assembly Programmingnull
	1.4 Introduction to Program Segmentsnull
	1.5 More about Segments in the 80x86null
	1.6 80x86 Addressing Modesnull
	Answers to Review Questionsnull
	2 Assembly Language Programmingnull
	2.1 Directives and a simple Programnull
	2.2 Assemble, Link, and Run a Programnull
	2.3 More Sample Programsnull
	2.4 Control Transfer Instructionsnull
	2.5 Data Types and Data Definitionsnull
	2.6 Full Segment Definitionnull
	2.7nullExe vs. COM Files 
	Answers to Review Questionsnull
	3 Arithmetic and Logic Instructions and Programsnull
	3.1 Unsigned Addition and Subtractionnull
	3.2 Unsigned Multiplication and Divisionnull
	3.3 Logic Instructions and Sample Programsnull
	3.4 BCD and ASCII Operands and Instructionsnull
	3.5 Rotate Instructionsnull
	3.6 Bitwise Operation in the C Languagenull
	Answers to Review Questionsnull
	4 BIOS and DOS Programming in Assembly and Cnull
	4.1 BIOS INT 10H Programmingnull
	4.2 DOS INTERRUPT 21Hnull
	4.3 INT 16H Keyboard Programmingnull
	4.4 Interrupt Programming with Cnull
	Answers to Review Questionsnull
	5 Macros and the Mousenull
	5.1 What is a Macro and how is it used ?null
	5.2 Mouse Programming with Interrupt 33Hnull
	Answers to Review Questionsnull
	6 Signed Numbers, Strings, and Tablesnull
	6.1 Signed Number Arithmetic Operationsnull
	6.2 String and Table Operationsnull
	Answers to Review Questionsnull
	7 Modules: Modular and C Programingnull
	7.1 Writing and Linking Modulesnull
	7.2 Some very useful Modulesnull
	7.3 Passing Parameters among Modulesnull
	7.4 Combining Assembly Language and C Programsnull
	Answers to Review Questionsnull
	8 32-Bit Programming for 386 and 486 Machinesnull
	8.1 80386/80486 Machines in Real Modenull
	8.2 Some Simple 386/486 Programsnull
	8.3 80x86 Performance Comparisonnull
	Answers to Review Questionsnull
	9 8088, 80286 Microprocesors and ISA Busnull
	9.1 8088 Microprocessornull
	9.2 8284 and 8288 Supporting Chipsnull
	9.3 8-Bit Section of ISA Busnull
	9.4 80286 Microprocessornull
	9.5 16-Bit ISA Busnull
	Answers to Review Questionsnull
	10 Memory and Memory Interfacingnull
	10.1 Semiconductor Memory Fundamentalsnull
	10.2 Memory Address Decodingnull
	10.3 IBM PC Memory Mapnull
	10.4 Data Integrity in RAM and ROMnull
	10.5 16-Bit Memory Interfacingnull
	10.6 ISA Bus Memory Interfacingnull
	Answers to Review Questionsnull
	11 I/O and the 8255; ISA Bus Interfacingnull
	11.1 8088 Input/Output Instructionsnull
	11.2 I/O Address Decoding and Designnull
	11.3 I/O Address Map of X86 PCsnull
	11.4 8255 PPI Chipnull
	11.5 PC Interface Trainer and Bus Extendernull
	11.6 I/O Programming with C/C++ and VBnull
	11.7 8-Bit and 16-Bit I/O Timing in ISA Busnull
	Answers to Review Questionsnull
	12 Interfacing to the PC: LCD, Motor,nullADC, and Sensor 
	12.1 Interfacing an LCD to the PCnull
	12.2 Interfacing a Stepper Motor to the PCnull
	12.3 Interfacing DAC to the PCnull
	12.4 Interfacing ADC and Sensors to the PCnull
	Answers to Review Questionsnull
	13 8253/54 Timer and Musicnull
	13.1 8253/54 Timer Description and Initializationnull
	13.2 IBM PC 8253/54 Timer Connections and Programmingnull
	13.3 Generating Music on the IBM PCnull
	13.4 Shape of 8253/54 Outputsnull
	Answers to Review Questionsnull
	14 Interrupts and the 8259 Chipnull
	14.1 8088/86 Interruptsnull
	14.2 IBM PC and MS DOS Assignment of Interruptsnull
	14.3 8259 Programmable Interrupt Controllernull
	14.4 Use of the 8259 Chip in the IBM PC/XTnull
	14.5 Interrupts on 80286 and higher 80x86 PCsnull
	Answers to Review Questionsnull
	15 Direct Memory Accessing; The 8237 DMA Chipnull
	15.1 Concept of DMAnull
	15.2 8237 DMA Chip Programmingnull
	15.3 8237 DMA Interfacing in the IBM PC/XTnull
	15.4 Refreshing DRAM Using Channel 0 of the 8237null
	15.5 DMA in 80x86-based PC AT-Type Computersnull
	Answers to Review Questionsnull
	16 Video and Video Adaptersnull
	16.1 Principles of Monitors and Video Adaptersnull
	16.2 Video Adapters and Text Mode Programmingnull
	16.3 Text Mode Programming using INT 10Hnull
	16.4 Graphics and Graphics Programmingnull
	Answers to Review Questionsnull
	17 Serial Data Communication and the 16450/8250/51 Chipsnull
	17.1 Basics of Serial Communicationnull
	17.2 Accessing IBM PC COM Ports Using DOS and BIOSnull
	17.3 Interfacing the NS8250/16450 UART in the IBM PCnull
	17.4 Intel 8251 USART and Synchronous Communicationnull
	Answers to Review Questionsnull
	18 Keyboard and Printer Interfacingnull
	18.1 Interfacing the Keyboard to the CPUnull
	18.2 PC Keyboard Interfacing and Programmingnull
	18.3 Printer and Printer Interfacing in the IBM PCnull
	18.4 Bidirectional Data Bus in Parallel Portsnull
	Answers to Review Questionsnull
	19 Floppy Disks, Hard Disks, and Filesnull
	19.1 Floppy Disk Organizationnull
	19.2 Hard Disksnull
	19.3 Disk File Programmingnull
	Answers to Review Questionsnull
	20 The 80x87 Math Coprocessornull
	20.1 Math Coprocessor and IEEE Floating-Pointnull
	20.2 80x87 Instructions and Programmingnull
	20.3 8087 Hardware Connections in the IBM PC/XTnull
	20.4 80x87 Instructions and Timingnull
	Answers to Review Questionsnull
	21 386 Microprocessor: Real vs. Protected Modenull
	21.1 80386 in Real Modenull
	21.2 80386: A Hardware Viewnull
	21.3 80386 Protected Modenull
	Answers to Review Questionsnull
	22nullHigh-Speed Memory Interfacing and Cache 
	22.1 Memory Cycle Time of the 80x86null
	22.2 Page, Static Column, and Nibble Mode DRAMsnull
	22.3 Cache Memorynull
	22.4 EDO, SDRAM, and RAMBUS Memoriesnull
	Answers to Review Questionsnull
	23 486, Pentium, Pentium Pro and MMXnull
	23.1 The 80486 Microprocessornull
	23.2 Intel's Pentiumnull
	23.3 RISC Architecturenull
	23.4 Pentium Pro Processornull
	23.5 MMX Technologynull
	23.6 Processor Identification in Intel x86null
	Answers to Review Questionsnull
	24 MS DOS Structure, TSR, and Device Driversnull
	24.1 MS DOS Structurenull
	24.2 TSR and Device Driversnull
	Answers to Review Questionsnull
	25 MS DOS Memory Managementnull
	25.1 80x86 PC Memory Terminology and Conceptsnull
	25.2 DOS Memory Management and Loading Highnull
	Answers to Review Questionsnull
	26 IC Technology and System Design Considerationsnull
	26.1 Overview of IC Technologynull
	26.2 IC Interfacing and System Deisgn Considerationsnull
	26.3 Data Integrity and Error Detection in DRAMnull
	Answers to Review Questionsnull
	27 ISA, PCI, and USB Busesnull
	27.1 ISA Busesnull
	27.2 PCI Local Busesnull
	27.3 USB Portnull
	Answers to Review Questionsnull
	28 Programming DOS, BIOS Hardware with C/C++null
	28.1 BIOS and DOS Interrupt Programming with Cnull
	28.2 Programming PC Hardware with C/C++null
	Answers to Review Questionsnull
	AnullDebug Programming 
	A.1 Entering and Exiting Debugnull
	A.2 Examining and Altering teh Contents of Registersnull
	A.3 Coding and Running Programs in Debugnull
	A.4 Data Manipulation in Debugnull
	A.5 Examining the Stack in Debugnull
	A.6 Examining/Altering the Flag Register in Debugnull
	A.7 Additional Debug Data Manipulation Commandsnull
	A.8 Loading and Writing Programsnull
	B 80x86 Instructions and Timingnull
	B.1 The 8086 Instruction Setnull
	B.2 Instruction Timingnull
	C Assembler Directives and Naming Rulesnull
	C.1 80x86 Assembler Directivesnull
	C.2 Rules for Labels and Reserved Namesnull
	D DOS Interrupt 21H and 33H Listingnull
	D.1 DOS 21H Interruptsnull
	D.2 Mouse Interrupts 33Hnull
	E BIOS Interruptsnull
	E.1 INT 10H Video Function Callsnull
	E.2 INT 11H - Equipment Determinationnull
	E.3 INT 12H -Memory Size Determinationnull
	E.4 INT 14H - Asynchronouos Communicationnull
	E.5 INT 15H - System Servicesnull
	E.6 INT 16H - Keyboardnull
	E.7 INT 17H - Printernull
	E.8 INT 1AH - Timer and Real-Timer Clock Servicesnull
	F ASCII Codesnull
	G I/O Address Mapsnull
	G.1 IBM PC AT I/O Address Mapnull
	G.2 IBM PS/2 I/O Address Mapnull
	G.3 ISA Standard I/O Address Portsnull
	H IBM PC/PS BIOS Data Areanull
	I Data Sheetsnull
	I.1 NS8250/NS16450 UART Chipnull
	I.2 Intel's 80486null
	I.3 Intel's Pentiumnull
	I.4 Intel Packagingnull
	Referencesnull
	Indexnull

Outros materiais