|
Introduction to Microprocessors and Microcomputers |
|
|
1 | (18) |
|
The IBM and IBM-Compatible Personal Computers: Reprogrammable Microcomputers |
|
|
2 | (4) |
|
General Architecture of a Microcomputer System |
|
|
6 | (3) |
|
Evolution of the Intel Microprocessor Architecture |
|
|
9 | (10) |
|
Software Architecture of the 8088 and 8086 Microprocessors |
|
|
19 | (31) |
|
Internal Architecture of the 8088/8086 Microprocessor |
|
|
20 | (2) |
|
Software Model of the 8088/8086 Microprocessor |
|
|
22 | (1) |
|
Memory Address Space and Data Organization |
|
|
23 | (4) |
|
|
|
27 | (4) |
|
Segment Registers and Memory Segmentation |
|
|
31 | (2) |
|
Dedicated, Reserved, and General-Use Memory |
|
|
33 | (1) |
|
|
|
34 | (1) |
|
|
|
35 | (1) |
|
Pointer and Index Registers |
|
|
36 | (1) |
|
|
|
37 | (2) |
|
Generating a Memory Address |
|
|
39 | (3) |
|
|
|
42 | (4) |
|
Input/Output Address Space |
|
|
46 | (4) |
|
8088/8086 Instruction Set Machine Codes, and Addressing Modes |
|
|
50 | (46) |
|
The Instruction Set of the 8088/8086 |
|
|
50 | (6) |
|
Software---The Microcomputer Program |
|
|
56 | (6) |
|
Converting Assembly Language Instructions to Machine Code |
|
|
62 | (9) |
|
Addressing Modes of the 8088/8086 |
|
|
71 | (16) |
|
Encoding a Complete Program in Machine Code |
|
|
87 | (9) |
|
The Debug, a Software Development Program for the PC |
|
|
96 | (43) |
|
The PC and Its DEBUG Program |
|
|
97 | (7) |
|
Examining and Modifying the Contents of Memory |
|
|
104 | (10) |
|
|
|
114 | (1) |
|
Hexadecimal Addition and Subtraction |
|
|
115 | (2) |
|
Loading, Verifying, and Saving Machine Language Programs |
|
|
117 | (6) |
|
Assembling Instructions with the Assemble Command |
|
|
123 | (3) |
|
Executing Instructions and Programs with the Trace and Go Commands |
|
|
126 | (6) |
|
|
|
132 | (7) |
|
8088/8086 Microprocessor Programming 1 |
|
|
139 | (62) |
|
Data Transfer Instructions |
|
|
140 | (16) |
|
|
|
156 | (25) |
|
|
|
181 | (4) |
|
|
|
185 | (5) |
|
|
|
190 | (11) |
|
8088/8086 Microprocessor Programming 2 |
|
|
201 | (67) |
|
Flag-Control Instructions |
|
|
201 | (6) |
|
|
|
207 | (5) |
|
|
|
212 | (19) |
|
Subroutines and Subroutine-Handling Instructions |
|
|
231 | (15) |
|
Loop and the Loop-Handling Instructions |
|
|
246 | (8) |
|
Strings and String-Handling Instructions |
|
|
254 | (14) |
|
Assembly Language Program Development with Masm |
|
|
268 | (46) |
|
Assembly Language Program Development |
|
|
269 | (8) |
|
Statement Syntax for a Source Program |
|
|
277 | (11) |
|
|
|
288 | (10) |
|
Creating a Source File with an Editor |
|
|
298 | (3) |
|
Assembling and Linking Programs |
|
|
301 | (6) |
|
Loading and Executing a Run Module |
|
|
307 | (7) |
|
The 8088 and 8086 Microprocessors and Their Memory and Input/Output Interfaces |
|
|
314 | (69) |
|
8088 and 8086 Microprocessors |
|
|
315 | (1) |
|
Minimum-Mode and Maximum-Mode Systems |
|
|
316 | (5) |
|
|
|
321 | (1) |
|
|
|
321 | (5) |
|
Electrical Characteristics |
|
|
326 | (1) |
|
|
|
327 | (2) |
|
Bus Cycle and Time States |
|
|
329 | (1) |
|
Hardware Organization of the Memory Address Space |
|
|
330 | (5) |
|
|
|
335 | (1) |
|
|
|
335 | (3) |
|
Read and Write Bus Cycles |
|
|
338 | (4) |
|
Memory Interface Circuits |
|
|
342 | (10) |
|
Programmable Logic Arrays |
|
|
352 | (12) |
|
|
|
364 | (3) |
|
Isolated Input/Output Interface |
|
|
367 | (3) |
|
Input/Output Data Transfers |
|
|
370 | (1) |
|
Input/Output Instructions |
|
|
371 | (3) |
|
|
|
374 | (9) |
|
Memory Devices, Circuits, and Subsystem Design |
|
|
383 | (59) |
|
Program and Data Storage Memory |
|
|
384 | (1) |
|
|
|
385 | (10) |
|
Random Access Read/Write Memories |
|
|
395 | (14) |
|
Parity, the Parity Bit, and Parity Checker/Generator Circuit |
|
|
409 | (3) |
|
|
|
412 | (14) |
|
|
|
426 | (2) |
|
8088/8086 Microcomputer System Memory Circuitry |
|
|
428 | (14) |
|
Input/Output Interface Circuits and Lsi Peripheral Devices |
|
|
442 | (114) |
|
Core and Special-Purpose I/O Interfaces |
|
|
443 | (1) |
|
Byte-Wide Output Ports Using Isolated I/O |
|
|
443 | (7) |
|
Byte-Wide Input Ports Using Isolated I/O |
|
|
450 | (5) |
|
Input/Output Handshaking and Parallel Printer Interface |
|
|
455 | (6) |
|
82C55A Programmable Peripheral Interface (PPI) |
|
|
461 | (16) |
|
82C55A Implementation of Parallel Input/Output Ports |
|
|
477 | (4) |
|
Memory-Mapped Input/Output |
|
|
481 | (3) |
|
82C54 Programmable Interval Timer |
|
|
484 | (16) |
|
82C37A Programmable Direct Memory Access Controller |
|
|
500 | (16) |
|
Serial Communications Interface |
|
|
516 | (6) |
|
Programmable Communication Interface Controllers |
|
|
522 | (16) |
|
Keyboard and Display Interface |
|
|
538 | (4) |
|
8279 Programmable Keyboard/Display Controller |
|
|
542 | (14) |
|
Interrupt Interface of the 8088 and 8086 Microprocessors |
|
|
556 | (49) |
|
Interrupt Mechanism, Types, and Priority |
|
|
557 | (2) |
|
|
|
559 | (2) |
|
|
|
561 | (1) |
|
Enabling/Disabling of Interrupts |
|
|
562 | (1) |
|
External Hardware-Interrupt Interface |
|
|
562 | (4) |
|
External Hardware-Interrupt Sequence |
|
|
566 | (7) |
|
82C59A Programmable Interrupt Controller |
|
|
573 | (14) |
|
Interrupt Interface Circuits Using the 82C59A |
|
|
587 | (8) |
|
|
|
595 | (1) |
|
|
|
596 | (1) |
|
|
|
597 | (3) |
|
Internal Interrupt Functions |
|
|
600 | (5) |
|
IBM PC Microcomputer Hardware |
|
|
605 | (39) |
|
Architecture of the IBM PC System Processor Board |
|
|
606 | (7) |
|
System Processor Circuitry |
|
|
613 | (4) |
|
Wait State Logic and NMI Circuitry |
|
|
617 | (5) |
|
Input/Output and Memory Chip-Select Circuitry |
|
|
622 | (5) |
|
|
|
627 | (3) |
|
Direct Memory Access Circuitry |
|
|
630 | (3) |
|
|
|
633 | (3) |
|
|
|
636 | (5) |
|
Input/Output Channel Interface |
|
|
641 | (3) |
|
PC Bus Interfacing, Circuit Construction, Testing, and Troubleshooting |
|
|
644 | (44) |
|
|
|
644 | (3) |
|
The PCμLAB Laboratory Test Unit |
|
|
647 | (7) |
|
Experimenting with the On-Board Circuitry of the PCμLAB |
|
|
654 | (10) |
|
Building, Testing, and Troubleshooting Circuits |
|
|
664 | (16) |
|
Observing Microcomputer Bus Activity with a Digital Logic Analyzer |
|
|
680 | (8) |
|
Real-Mode Software and Hardware Architecture of the 80286 Microprocessor |
|
|
688 | (51) |
|
|
|
689 | (1) |
|
|
|
690 | (1) |
|
|
|
691 | (3) |
|
Real-Mode Extended Instruction Set |
|
|
694 | (7) |
|
|
|
701 | (6) |
|
|
|
707 | (3) |
|
|
|
710 | (2) |
|
|
|
712 | (3) |
|
|
|
715 | (7) |
|
|
|
722 | (6) |
|
Interrupt and Exception Processing |
|
|
728 | (11) |
|
The 80386, 80486, and Pentium® Processor Families: Software Architecture |
|
|
739 | (85) |
|
80386 Microprocessor Family |
|
|
740 | (1) |
|
Internal Architecture of the 80386 |
|
|
740 | (4) |
|
Real-Address-Mode Software Model of the 80386DX Microprocessor |
|
|
744 | (3) |
|
Real-Address-Mode Instruction Set of the 80386 |
|
|
747 | (6) |
|
Protected-Address-Mode Software Architecture of the 80386 |
|
|
753 | (21) |
|
Descriptor and Page Table Entries of the 80386DX |
|
|
774 | (7) |
|
Protected-Mode System-Control Instruction Set of the 80386 |
|
|
781 | (3) |
|
Multitasking and Protection |
|
|
784 | (13) |
|
|
|
797 | (1) |
|
80486 Microprocessor Family |
|
|
798 | (11) |
|
The Pentium® Processor Family |
|
|
809 | (15) |
|
The 80386, 80486, and Pentium® Processor Families: Hardware Architecture |
|
|
824 | (102) |
|
80386 Microprocessor Family |
|
|
825 | (2) |
|
Signal Interfaces of the 80386DX |
|
|
827 | (9) |
|
System Clock of the 80386DX |
|
|
836 | (1) |
|
80386DX Bus States and Pipelined and Nonpipelined Bus Cycles |
|
|
837 | (8) |
|
|
|
845 | (8) |
|
|
|
853 | (9) |
|
Interrupt and Exception Processing |
|
|
862 | (14) |
|
80486 and 80486DX Microprocessors |
|
|
876 | (19) |
|
Other 80486 Family Microprocessors---80486DX2 and 80486DX4 |
|
|
895 | (3) |
|
Pentium® Processor Family |
|
|
898 | (15) |
|
Pentium® Pro Processor and Pentium® Processor with MMX Technology |
|
|
913 | (4) |
|
Pentium® II Processor, Celeron™ Processor, and Pentium® II Xeon&™ Processor |
|
|
917 | (9) |
| Answers to Selected Review Problems |
|
926 | (36) |
| Bibliography |
|
962 | (2) |
| Index |
|
964 | |