Algorithm 版 (精华区)

发信人: Lerry (life is waiting...), 信区: Algorithm
标  题: Intel 微处理器——从8086到Pentium系列体系结构
发信站: 哈工大紫丁香 (2002年11月09日15:17:31 星期六), 站内信件

Intel 微处理器——从8086到Pentium系列体系结构、编程与接口技术(第五版 影印版

  ISBN 7-04-010098-3/TP.709 P976
  The Intel Microprocessors: 8086/8088, 80186/80188, 80286, 80386, 80486, 
Pentium, and Pentium Pro Architecture, Programming, and Interfacing (Fifth E
dition)
  Barry B. Brey,2001.6出版,定价:52.00元
  Intel微处理器已经在电子、通信、控制系统和桌面计算机系统等领域得到了广泛的
应用。本书从实用的角度出发,全面介绍了Intel系列微处理器的编程和接口技术。主要
内容包括:微处理器的编程模式和系统结构;Intel系列微处理器指令;在C/C++程序中
编制汇编程序模块;存储器接口;基本输入/输出技术;数值协处理器及MMX技术;总线
接口;8086/8088、80186/80188~80486、Pentium系列微处理器等。与第四版相比,本书
增加了如何将汇编语言与C/C++结合起来编程、USB接口、MMX技术及PentiumⅡ等内容。
书中列举了大量实例,具有较强的实用性;本书内容系统,结构合理,叙述详尽,每章
前有学习目标、章后有小结及习题,并配有大量图表,易为读者接受。此外,本书内容
较新,使读者能够把握技术发展的前沿。本书可作为高等校院相关课程教材。对于希望
掌握Intel微处理器编程和接口技术的读者来说,本书也是一本很好的参考书。
内容:1. 微处理器及计算机系统概述 2. 微处理器及其系统结构 3. 寻址方式 4. 数据
传送指令 5. 算术与逻辑指令 6. 程序控制指令 7. 微处理器编程技术 8. 在C/C+中使
用汇编语言 9. 8086/8088硬件性能指标 10. 存储器接口 11. 基本输入/输出接口 12.
 中断 13. 直接存储器存取(DMA)和DMA控制的I/O 14. 数值协处理器和MMX技术 15. 
总线接口 16. 80186,80188及80286微处理器 17. 80384和80486微处理器 18. Pentiu
m和Pentium Pro 微处理器 19. PentiumⅡ微处理器 附录A 汇编程序、DOS、BIOS、鼠标
和DPMI内存管理器 B 指令集汇总 C 标志位变化表 D 偶数题号习题答案 索引
Preface
  This fifth edition is written for students who require a thorough knowle
dge of programming and interfacing of the Intel family of microprocessors. I
t is a very practical reference for anyone interested in all programming and
 interfacing aspects of this important microprocessor family. Today, anyone 
involved in a field of study that uses computers must understand assembly la
nguage programming and interfacing . Intel Microprocessors have gained wide 
applications in many areas of electronics, communications, and control syste
ms, particularly in desktop computer systems. Major additions to the textboo
k show how to interface C/C++ with assembly language, the USB interface, MMX
 technology extension, and the Pentium II. Also included are many updated se
ction detailing new events in the field of microprocessors and microprocesso
r interfacing.
ORGANIZATION AND COVERAGE
  In order to cultivate a comprehensive approach to learning, each chapter
 begins with a set of objectives that briefly define its contents. Many prog
ramming applications that illustrate the main topics are then presented. A n
umerical summary, which doubles as a study guide, reviews the information pr
esented. Finally, questions and problems are provided to promote practice an
d mental exercise with the concepts presented in the chapter.
  Many examples using the Microsoft MACRO Assembler program provide an opp
ortunity to learn how to program the Intel family of microprocessors. Operat
ion of the programming environment includes the linker, library, micros, DOS
 function, BIOS function, and C/C++ program development. The in-line assembl
er (C/C++) is illustrated for both the 16- and 32-bit programming environmen
ts.
  Thorough descriptions of each family member, memory system, and various 
I/O systems that include disk memory, ADC and DAC, 16550 UAPT, PIAs, timers,
 keyboard/display controllers, arithmetic coprocessors, and video display sy
stems are also provided. Also discussed are the personal computer system bus
es (AGP, ISA, PCI, VESA, AND USB). Through these systems, a practical approa
ch to microprocessor interfacing is learned.
APPROACH
  Because the Intel family of microprocessors is quite diverse, this text 
initially concentrates on real-mode programming, which is compatible with al
l version of the Intel family of microprocessors. Instructions for each fami
ly member, which includes the 80386,80486, Pentium, Pentium Pro, and Pentium
 II, are compared and contrasted with the 8086/8088 microprocessors. This en
tire series of microprocessors is very similar, which allows more advanced v
ersions to be learned once the basic 8086/8088 is understood. Please note th
at the 8086/8088 microprocessors are still used in controllers along with th
eir updated counterparts, the 80186/80188 and 80386EX embedded controllers.
  This text also explains the programming and operation of the numeric cop
rocessor (8087/80287/80387/80486/80487/Pentium/Pentium Pro/Pentium II, which
 functions in a system to provides access to floating-point calculations tha
t are important in control systems, video graphics, and computer-aided desig
n (CAD) Applications. The numeric coprocessor allows a program to access com
plex arithmetic operations that are otherwise difficult to achieve with norm
al microprocessor programming.
  Also described are the pin-outs and functions of the 8086-80483 and Pent
ium/Pentium Pro/Pentium II microprocessors. Interfacing is first developed b
y using the 8086/8088 with some of the more common peripheral components. Af
ter learning the basics, a more advanced emphasis is placed on the 80186/801
88,80386,80483, Pentium, Pentium Pro, and Pentium II microprocessors. Becaus
e of its similarity to the 8086 and 80386, coverage of the 80286 is minimize
d so that the 80386,80486, Pentium, Pentium Pro, and Pentium II can be cover
ed in complete detail.
  By studying the operation and programming of the microprocessor and nume
ric coprocessors, as well as interfacing all family members, you will have a
 working and practical background on the Intel family of microprocessors. Up
on completing a course based on this text, you should be able to:
  ·Develop control software to control an application interface to the 80
86/8088,80186/80188,80286,80386,80486, Pentium, Pentium Pro, and Pentium II 
microprocessors. Generally, the software developed will also function on all
 versions of the microprocessor and also includes DOS-based applications.
  ·Program by using DOS function calls to control the keyboard, video dis
play system, and disk memory in assembly language.
  ·Use the BIOS functions to control the keyboard, display, and various o
ther components in the computer system.
  ·Develop software that uses macro sequences, procedures, conditional as
sembly, and flow control assembler directives.
  ·Develop software that uses interrupt hooks and hot-keys to grain acces
s to terminate-and-stay-resident software.
  ·Develop programs that use both C/C++ and assembly language.
  ·Program the numeric coprocessor(80287/80387/80486/80487/Pentium/Pentiu
m Pro/Pentium II) to solve complex equations.
  ·Detail the use of the MMX technology extension to the Pentium and Pent
ium II microprocessors.
  ·Explain the differences between the family members and highlight the f
eatures of each member.
  ·Describe and use real and protected mode operation of the 80286,80686,
80486,Pentium, Pentium Pro, and Pentium II microprocessors.
  ·Interface memory and I/O systems to the microprocessor.
  ·Provide a detailed and comprehensive comparison of all family members,
 their software, and their hardware interface.
  ·Explain the operation of disk and video systems.
  ·Interface small systems to the ISA, VESA local, PCI bus, and USB in a 
personal computer system.
CONTENT OVERVIEW
  Chapter 1 introduces the Intel family of microprocessors, with an emphas
is on the microprocessor-based computer system. This chapter introduces the 
microprocessors, its history, its operation, and the methods used to store d
ata in a microprocessor-based system. Chapter 2 explores the programming mod
el of the microprocessor and system architecture. Both real- and protected-m
ode operation are explained in this chapter.
  Chapter 3 though 6 explain how each instruction functions with the Intel
 family of microprocessors. As instructions are explained, simple applicatio
ns are presented to illustrate the operation of the instructions and to deve
lop basic programming concepts.
  After the basis for programming is developed, Chapter 7 provides applica
tions using the assembler program. These applications include programming us
ing DOS and BIOS function calls, and the mouse function calls. Disk files ar
e explained, as well keyboard and video operation on a personal computer sys
tem. This chapter provides the tools required to develop virtually any progr
am on a personal computer system. It also introduces the concept of interrup
t hooks and hot-keys.
  Chapter 8, new to this edition, shows how to incorporate assembly langua
ge procedures with C/C++. It also details the use for the in-line assembler 
program available in some versions of C/C++. Chapter 9 introduces the 8086/8
088 family as a basis for learning the basic memory and I/O interfacing conc
epts that follow in later chapters. This chapter shows the buffered system a
nd system timing.
  Chapter 10 provides complete detail on memory interface, using both inte
grated decoders and programmable logic devices. Parity is illustrated, as we
ll as dynamic memory systems. The 8-, 16-, 32, and 64-bit memory systems are
 provided so that the 8086-80486 and Pentium/Pentium Pro/Pentium II micropro
cessors can be interfaced to memory.
  Chapter 11 provides a detailed look at basic I/O interfacing by discussi
ng PIAs, timers, keyboard/display interfaces, 16550 UART, and ADC/DAC. It al
so describes the interface of both DC and stepper motors. After these basic 
I/O components and their interface to the microprocessor are presented, Chap
ter 12 and 13 provide details on advanced I/O techniques that include interr
upts and direct memory access (DMA). Applications include a printer interfac
e, real-time clock, disk memory, and video systems.
  Chapter 14 details the operation and programming for the 8087-Pentium II
 family of arithmetic coprocessors. Today few applications function efficien
tly without the power of the arithmetic coprocessor. Remember that all Intel
 microprocessors since the 80486 contain a coprocessor. The MMX technology e
xtension, is also detailed, which is new to this edition.
  Chapter 15 shows how to interface small systems to the personal computer
 through the use of the ISA, VESA, PCI bus, and USB interfaces. This chapter
 provides a launching point for the many cards being designed for use in the
 personal computer embedded in control systems in the industry.
  Chapter 16 and 17 provide details on the advanced 80186/80188-80486 micr
oprocessors. These chapters explore the differences between these microproce
ssors and the 8086/8088, as weill as their enhancements and features. Cache,
 interleaved, and burst memory are described with the 80386 and 80486 microp
rocessors. Also described are memory management and memory paging.
  Chapter 18 and 19 detail the Pentium, Pentium Pro, and Pentium II microp
rocessors. These microprocessors are based upon the original 8086/8088.
  Four appendixes are included to enhance the application of the text:
  Appendix A includes a complete listing of the DOS INT 21H function calls
. This appendix also details the use of the assembler program and many of th
e BIOS function calls including BIOS function call INT 10H.
  Appendix B includes a complete list of all 8086-Pentium II instructions,
 including many example instructions and machine coding in hexadecimal, as w
ell as clock timing information.
  Appendix C provides a compact list of all the instructions that change t
he flag bits.
  Appendix D Provides answers for the even-numbered questions and problems
 from the text.
ACKNOWLEDGMENTS
  I would like to thank the following reviewers for their useful suggestio
ns: Michael Agina, Texas Southern University; Soo-Young Lee, Auburn Universi
ty; and Gursel Serpen, University of Toledo.
STAY IN TOUCH
  You can stay in touch through the Internet. My Internet site contains in
formation about all of my textbooks and has many important links that are sp
ecific to the personal computer, microprocessors, hardware, and software. Al
so available is a frequently updated lesson that details many of the aspects
 of the personal computer. My Internet address is
http://members.ee.net/~bbrey
CONTENTS
1 Introduction to the Microprocessor and Computer
  Introduction/ Chapter Objectives
  1-1 A Historical Background
  1-2 The Microprocessor-Based Personal Computer System
  1-3 Number Systems
  1-4 Computer Data Formats
  1-5 Summary
  1-6 Questions and Problems
2 The Microprocessor and Its Architecture
  Introduction/ Chapter Objectives
  2-1 Internal Microprocessor Architecture
  2-2 Real Model Memory Addressing
  2-3 Introduction to Protected Mode Memory Addressing
  2-4 Memory Paging
  2-5 Summary
  2-6 Questions and Problems
3 Addressing Modes
  Introduction/ Chapter Objectives
  3-1 Data-Addressing Modes
  3-2 Program Memory-Addressing Modes
  3-3 Stack Memory-Addressing Modes
  3-4 Summary
  3-5 Questions and Problems
4 Data Movement Instructions
  Introduction/ Chapter Objectives
  4-1 MOV revisited
  4-2 PUSH/POP
  4-3 Load-Effective Address
  4-4 String data Transfers
  4-5 Miscellaneous Data Transfer Instructions
  4-6 Segment Override Prefix
  4-7 Assembler Detail
  4-8 Summary
  4-9 Questions and Problems
5 Arithmetic and Logic Instructions
  Introduction/ Chapter Objectives
  5-1 Addition, Subtraction, and Comparison
  5-2 Multiplication and Division
  5-3 BCD and ASCII Arithmetic
  5-4 Basic Logic Instructions
  5-5 Shift and Rotate
  5-6 String Comparisons
  5-7 Summary
  5-8 Questions and Problems
6 Program Control Instructions
  Introduction/ Chapter Objectives
  6-1 The Jump Group
  6-2 Controlling the Flow of an Assembly Language Program
  6-3 Procedures
  6-4 Introduction to Interrupts
  6-5 Machine Control and Miscellaneous Instructions
  6-6 Summary
  6-7 Questions and Problems
7 Programming the Microprocessor
  Introduction/ Chapter Objectives
  7-1 Modular Programming
  7-2 Using the Keyboard and Video Display
  7-3 Data Conversions
  7-4 Disk Files
  7-5 Example Programs
  7-6 Interrupt Hooks
  7-7 Summary
  7-8 Questions and Problems
8 Using Assembly Language with C/C++
  Introduction/ Chapter Objectives
  8-1 Using Assembly Language with C/C++ for 16-Bit Application
  8-2 Using Assembly Language with C/C++ for 32-Bit Application
  8-3 Separate Assembly Objects
  8-4 Summary
  8-5 Questions and Problems
9 8086/8088 Hardware Specifications
  Introduction/ Chapter Objectives
  9-1 Pin-Outs and the Pin Functions
  9-2 Clock Generator(8284A)
  9-3 Bus Buffering and Latching
  9-4 Bus Timing
  9-5 READY and the Wait State
  9-6 Minimum Mode Versus Maximum Mode
  9-7 Summary
  9-8 Questions and Problems
10 Memory Interface
  Introduction/ Chapter Objectives
  10-1 Memory Devices
  10-2 Address Decoding
  10-3 8088 and 80188 (8-Bit) Memory Interface
  10-4 8086,80186,80286, and 80386SX (16-Bit) Memory Interface
  10-5 80386DX and 80486 (32-Bit) Memory Interface
  10-6 Pentium, Pentium Pro, and Pentium II (64-Bit) Memory Interface
  10-7 Dynamic RAM
  10-8 Summary
  10-9 Questions and Problems
11 Basic I/O Interface
  Introduction/ Chapter Objectives
  11-1 Introduction to I/O Interface
  11-2 I/O Port Address Decoding
  11-3 The Programmable Peripheral Interface
  11-4 The 8279 Programmable Keyboard/Display Interface
  11-5 8254 Programmable Interval Timer
  11-6 16550 Programmable Communications Interface
  11-7 Analog-to-Digital (ADC) and Digital-to-Analog (DAC) Converters
  11-8 Summary
  11-9 Questions and Problems
12 Interrupts
  Introduction/ Chapter Objectives
  12-1 Basic Interrupt Processing
  12-2 Hardware Interrupts
  12-3 Expanding the Interrupt Structure
  12-4 8259A Programmable Interrupt Controller
  12-5 Interrupt Examples
  12-6 Summary
  12-7 Questions and Problems
13 Direct Memory Access and DMA-Controlled I/O
  Introduction/ Chapter Objectives
  13-1 Basic DMA Operation
  13-2 The 8237 DMA Controller
  13-3 Shared-Bus Operation
  13-4 Disk Memory Systems
  13-5 Video Displays
  13-6 Summary
  13-7 Questions and Problems
14 Memory Interface
  Introduction/ Chapter Objectives
  14-1 Data Formats for the Arithmetic Coprocessor
  14-2 The 80X87 Architecture
  14-3 Instruction Set
  14-4 Programming with the Arithmetic Coprocessor
  14-5 Introduction to MMX Technology
  14-6 Summary
  14-7 Questions and Problems
15 Bus Interface
  Introduction/ Chapter Objectives
  15-1 The ISA Bus
  15-2 The Extended ISA (EISA) and VESA Local Buses
  15-3 The Peripheral Component Interconnect (PCI) Buses
  15-4 The Universal Serial Bus (USB)
  15-5 Accelerated Graphics Port (AGP)
  15-6 Summary
  15-7 Questions and Problems
16 The 80186,80188, and 80286 Microprocessors
  Introduction/ Chapter Objectives
  16-1 80186/80188 Architecture
  16-2 Programming the 80186/80188 Enhancements
  16-3 80C188EB Example Interface
  16-4 Introduction to the 80286
  16-5 Summary
  16-6 Questions and Problems
17 Memory Interface
  Introduction/ Chapter Objectives
  17-1 Introduction to the 80386 Microprocessor
  17-2 Special 80386 Registers
  17-3 80388 Memory Management
  17-4 Moving to Protected Mode
  17-5 Virtual 8086 Mode
  17-6 The Memory Paging Mechanism
  17-7 Introduction to the 80486 Microprocessor
  17-8 Summary
  17-9 Questions and Problems
18 Introduction to the Pentium Microprocessor
  Introduction/ Chapter Objectives
  18-1 Special Pentium Registers
  18-2 Special Pentium Register
  18-3 Pentium Memory Management
  18-4 New Pentium Instructions
  18-5 Introduction to the Pentium Pro Microprocessor
  18-6 Special Pentium Pro Features
  18-7 Summary
  18-8 Questions and Problems
19 Memory Interface
  Introduction/ Chapter Objectives
  19-1 Introduction to the Pentium II Microprocessor
  19-2 Pentium II Software Changes
  19-3 Summary
  19-4 Questions and Problems
Appendixes
  (A) The Assemble, Disk Operating System, Basic I/O System, Mouse, and DP
MI Memory Manager
  (B) Instruction Set Summary
  (C) Flag-Bit Changes
  (D) Answers to Selected Even-Numbered Questions and Problems
Index

--
小乌龟正在照镜子,忽然发现镜子里全是字,

这才想起来:喔!原来错把屏幕当镜子用了!

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 218.7.32.75]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:211.731毫秒