did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780130617750

80X86 IBM PC and Compatible Computers Vol. I & II : Assembly Language, Design, and Interfacing

by ; ;
  • ISBN13:

    9780130617750

  • ISBN10:

    013061775X

  • Edition: 4th
  • Format: Hardcover
  • Copyright: 2010-01-01
  • Publisher: Pearson College Div
  • View Upgraded Edition
  • Purchase Benefits
List Price: $153.60

Summary

Praised by experts for its clarity and topical breadth, this visually appealing, one-stop source on PCs uses an easy-to-understand, step-by-step approach to teaching the fundamentals of 80x86 assembly language programming and PC architecture. Offering users a fun, hands-on learning experience, it uses the Debug utility to show what action the instruction performs, then provides a sample program to show its application.Reinforcing concepts with numerous examples and review questions, its oversized pages delve into dozens of related subjects, including DOS memory map, BIOS, microprocessor architecture, supporting chips, buses, interfacing techniques, system programming, memory hierarchy, DOS memory management, tables of instruction timings, hard disk characteristics, and more.For learners ready to master PC system programming.

Table of Contents

Assembly Language Programming on the IBM PC, PS, and Compatibles
Introduction to Computing
1(17)
The 80x86 Microprocessor
18(31)
Assembly Language Programming
49(33)
Arithmetic and Logic Instructions and Programs
82(39)
Bios and Dos Programming in Assembly and C
121(29)
Macros and the Mouse
150(23)
Signed Numbers, Strings, and Tables
173(20)
Modules: Modular and C Programming
193(27)
32-Bit Programming for 386 and 486 Machines
220(15)
Design and Interfacing of the IBM PC, PS, and Compatibles
8088, 80286 Microprocessor and ISA Bus
235(30)
Memory and Memory Interfacing
265(44)
I/O and the 8255; ISA Bus Interfacing
309(42)
Interfacing to the PC: LCD, Motor, ADC, and Sensor
351(35)
8253/54 Timer and Music
386(24)
Interrupts and the 8259 Chip
410(37)
Direct Memory Accessing; The 8237 DMA Chip
447(30)
Video and Video Adapters
477(31)
Serial Data Communication and the 16450/8250/51 Chips
508(33)
Keyboard and Printer Interfacing
541(29)
Floppy Disks, Hard Disks, and Files
570(30)
The 80x87 Math Coprocessor
600(31)
386 Microprocessor: Real Versus Protected Mode
631(28)
High-Speed Memory Interfacing and Cache
659(31)
486, Pentium, Pentium PRO and MMX
690(34)
MS Dos Structure, TSR, and Device Drivers
724(16)
MS Dos Memory Management
740(19)
IC Technology and System Design
759(25)
ISA, PCI, and USB Buses
784(24)
Programming Dos, Bios, & Hardware with C/C++
808(17)
APPENDICES
A Debug Programming
825(22)
B 80x86 Instructions and Timing
847(36)
C Assembler Directives and Naming Rules
883(15)
D Dos Interrupt 21H and 33H Listing
898(26)
E Bios Interrupts
924(16)
F ASCII Codes
940(1)
G I/O Address Maps
941(11)
H IBM PC/PS Bios Data Area
952(7)
I Data Sheets
959

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Excerpts

PREFACE TO VOLUMES I AND II PurposeThis combined volume is intended for use in college-level courses in which both Assembly language programming and 80x86 PC interfacing are discussed. It not only builds the foundation of Assembly language programming, but also provides a comprehensive treatment of 80x86 PC design and interfacing for students in engineering and computer science disciplines. This volume is intended for those who wish to gain an in-depth understanding of the internal working of the IBM PC, PS, and 80x86 compatible computers. It builds a foundation for the design and interfacing of microprocessor-based systems using the real-world example of the 80x86 IBM PC. In addition, it can also be used by practicing technicians, hardware engineers, computer scientists, and hobbyists who want to do PC interfacing and data acquisition. PrerequisitesReaders should have a minimal familiarity with the IBM PC and the DOS operating system in addition to having had an introductory digital course. Knowledge of other programming languages would be helpful, but is not necessary.Although a vast majority of current PCs use 386, 486, or Pentium microprocessors, their design is based on the IBM PC/AT, an 80286 microprocessor system introduced in 1984. A good portion of PC/AT features, hence its limitations, are based on the original IBM PC, an 8088 microprocessor system, introduced in 1981. In other words, one cannot expect to understand fully the architectural philosophy of the 80x86 PC and its expansion slot signals unless the 80286 PC/AT and its subset, the IBM PC/XT, are first understood. For this reason, we describe the 8088 and 80286 microprocessors in Chapter 9. Contents of Volume IA systematic, step-by-step approach has been used in covering various aspects of Assembly language programming. Many examples and sample programs are given to clarify concepts and provide students an opportunity to learn by doing. Review questions are provided at the end of each section to reinforce the main points of the section. We feel that one of the functions of a textbook is to familiarize the student with terminology used in technical literature and in industry, so we have followed that guideline in this text.Chapter 0 covers concepts in number systems (binary, decimal, and hex) and computer architecture. Most students will have learned these concepts in previous courses, but Chapter 0 provides a quick overview for those students who have not learned these concepts, or who may need to refresh their memory.Chapter 1 provides a brief history of the evolution of x86 microprocessors and an overview of the internal workings of the 8086 as a basis of all x86 processors. Chapter 1 should be used in conjunction with Appendix A (a tutorial introduction to DEBUG) so that the student can experiment with concepts being learned on the PC. The order of topics in Appendix A has been designed to correspond to the order of topics presented in Chapter 1. Thus, the student can begin programming with DEBUG without having to learn how to use an assembler.Chapter 2 explains the use of assemblers to create programs. Although the programs in the book were developed and tested with Microsoft's MASM assembler, any Intel-compatible assembler such as Borland's TASM may be used.Chapter 3 introduces the bulk of the logic and arithmetic instructions for unsigned numbers, plus bitwise operations in C.Chapter 4 introduces DOS and BIOS interrupts. Programs in Assembly and C allow the student to get input from the keyboard and send output to the monitor. In addition, interrupt programming in C is described, as well as how to put Assembly language code in C programs.Chapter 5 describes how to use macros to develop Assembly language programs in a more time-efficient and structured manner. We also cover INT 33H mouse function calls and mouse programming.Chapter 6 covers arithmetic

Rewards Program