首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 图书频道 > 计算机与网络 > 程序设计 >

x86 PC汇编语言、设计与接口(第5版)(英文版)

2011-07-15 
商家名称 信用等级 购买信息 订购本书
x86 PC汇编语言、设计与接口(第5版)(英文版) 去商家看看
x86 PC汇编语言、设计与接口(第5版)(英文版) 去商家看看

 x86 PC汇编语言、设计与接口(第5版)(英文版)


基本信息·出版社:电子工业出版社
·页码:704 页
·出版日期:2009年11月
·ISBN:9787121097706
·条形码:9787121097706
·版本:第5版
·装帧:平装
·开本:16
·正文语种:英语
·丛书名:国外计算机科学教材系列
·外文书名:The x86 PC Assembly Language,Design,and Interfacing Fifth Edition

内容简介 《x86 PC汇编语言、设计与接口(第5版)(英文版)》主要内容简介:汇编语言与程序设计是计算机类学科专业的重要的专业技术基础课程,是以应用为主的工程技术基础类课程。作者以简单易懂、分步介绍的方式,讲授了x86 PC汇编语言程序设计及PC体系结构。全书包括两大部分内容:1)汇编语言程序设计;2)IBM PC兼容计算机接口设计。在介绍汇编语言程序的章节中,以汇编方法为引导,逐步加入各种语句及指令,给出了很多程序实例,并通过Debug实用工具展示出程序指令执行的具体动作。在接口设计方面,从PC机所应用的芯片到设备,从电路设计到编程都进行了详细的阐述。
编辑推荐 《x86 PC汇编语言、设计与接口(第5版)(英文版)》:国外计算机科学教材系列
本节深入介绍了x86体系结构、总线、接口技术、系统编程、IEEE浮点数学、USB、高速缓存以及RlSC和Harvard体系结构,逐步并系统地介绍了x86汇编语言编程和PC体系结构的基础知识,为读者提供了有趣且方便的学习经验,并用大量的示例及习题来加深读者对概念的理解,是高校计算机专业学生及x86嵌入式设计人员的理想教材和参考书。
《x86 PC汇编语言、设计与接口(第5版)(英文版)》特点:
覆盖了从8086至64位Itanium的所有x86微处理器。
使用汇编和C程序示例来深入介绍x86PC体系结构。
使用示例介绍7x86指令的用法。
介绍了IEEE浮点数和数学协处理器的基本知识。
探讨和分析了16位、32位和64位处理器(如Pentium和ltanium芯片)间的硬件不同点。
讨论了x86微处理器的8位、16位和32位接口。
通过使用来I~IIBMPC技术参考中的程序片断,显示了PC系统编程的真实方法。
简单介绍了USB端口以及如何使用C#来访问它的方法。
对x86CPU和RlSC处理器进行了比较。
考察7x86高速缓存及其组织结构。
覆盖了从Intel至AMD的x86处理器的64位新特性。
探讨了x86处理器的超标量架构及其多核特性。
目录
CHAPTER 0: INTRODUCTION TO COMPUTING
SECTION 0.1: NUMBERING AND CODING SYSTEMS
SECTION 0.2: DIGITAL PRIMER
SECTION 0.3: INSIDE THE COMPUTER

CHAPTER 1: THE x86 MICROPROCESSOR
SECTION 1.1: BRIEF HISTORY OF THE x86 FAMILY
SECTION 1.2: INSIDE THE 8088/86
SECTION 1.3: INTRODUCTION TO ASSEMBLY PROGRAMMING
SECTION 1.4: INTRODUCTION TO PROGRAM SEGMENTS
SECTION 1.5: THE STACK
SECTION 1.6: FLAG REGISTER
SECTION 1.7:x86 ADDRESSING MODES

CHAPTER 2: ASSEMBLY LANGUAGE PROGRAMMING
SECTION 2.1: DIRECTIVES AND A SAMPLE PROGRAM
SECTION 2.2: ASSEMBLE, LINK, AND RUN A PROGRAM
SECTION 2.3: MORE SAMPLE PROGRAMS
SECTION 2.4: CONTROL TRANSFER INSTRUCTIONS
SECTION 2.5: DATA TYPES AND DATA DEFINITION
SECTION 2.6: FULL SEGMENT DEFINITION
SECTION 2.7: FLOWCHARTS AND PSEUDOCODE

CHAPTER 3: ARITHMETIC AND LOGIC INSTRUCTIONS AND PROGRAMS
SECTION 3.1: UNSIGNED ADDITION AND SUBTRACTION
SECTION 3.2: UNSIGNED MULTIPLICATION AND DIVISION
SECTION 3.3: LOGIC INSTRUCTIONS
SECTION 3.4: BCD AND ASCII CONVERSION
SECTION 3.5: ROTATE INSTRUCTIONS
SECTION 3.6: BITWISE OPERATORS IN THE C LANGUAGE

CHAPTER 4: INT 21H AND INT 10H PROGRAMMING AND MACROS
SECTION 4.1: BIOS INT 10H PROGRAMMING
SECTION 4.2: DOS INTERRUPT 21H
SECTION 4.3: WHAT IS A MACRO AND HOW IS IT USED?

CHAPTER 5: KEYBOARD AND MOUSE PROGRAMMING
SECTION 5.1: INT 16H KEYBOARD PROGRAMMING
SECTION 5.2: MOUSE PROGRAMMING WITH INT 33H

CHAPTER 6: SIGNED NUMBERS, STRINGS, AND TABLES
SECTION 6.1: SIGNED NUMBER ARITHMETIC OPERATIONS
SECTION 6.2: STRING AND TABLE OPERATIONS

CHAPTER 7: MODULES AND MODULAR PROGRAMMING
SECTION 7.1: WRITING AND LINKING MODULES
SECTION 7.2: SOME VERY USEFUL MODULES
SECTION 7.3: PASSING PARAMETERS AMONG MODULES

CHAPTER 8: 32-BIT PROGRAMMING FOR x86
SECTION 8.1: 32-BIT PROGRAMMING IN x86

CHAPTER 9: 8088, 80286 MICROPROCESSORS AND ISA BUS
SECTION 9.1:8088 MICROPROCESSOR
SECTION 9.2:8284 AND 8288 SUPPORTING CHIPS
SECTION 9.3: 8-BIT SECTION OF ISA BUS
SECTION 9.4:80286 MICROPROCESSOR
SECTION 9.5:16-BIT ISA BUS

CHAPTER 10: MEMORY AND MEMORY INTERFACING
SECTION 10.1: SEMICONDUCTOR MEMORIES
SECTION 10.2: MEMORY ADDRESS DECODING
SECTION 10.3: IBM PC MEMORY MAP
SECTION 10.4: DATA INTEGRITY IN RAM AND ROM
SECTION 10.5:16-BIT MEMORY INTERFACING

CHAPTER 11:8255 1/O PROGRAMMING
SECTION 11.1: 8088 INPUT/OUTPUT INSTRUCTIONS
SECTION 11.2: I/O ADDRESS DECODING AND DESIGN
SECTION 11.3: I/O ADDRESS MAP OF x86 PCs
SECTION 11.4: PROGRAMMING AND INTERFACING THE 8255

CHAPTER 12: INTERFACING TO LCD, MOTOR, ADC, AND SENSOR
SECTION 12.1: INTERFACING TO AN LCD
SECTION 12.2: INTERFACING TO A STEPPER MOTOR
SECTION 12.3: INTERFACING TO A DAC
SECTION 12.4: INTERFACING TO ADC CHIPS AND SENSORS

CHAPTER 13:8253/54 TIMER
SECTION 13.1: 8253/54 TIMER
SECTION 13.2:x86 PC 8253/54 TIMER CONNECTION AND PROGRAMMING
SECTION 13.3: GENERATING MUSIC ON THE x86 PC

CHAPTER 14: INTERRUPTS IN x86 PC
SECTION 14.1: 8088/86 INTERRUPTS
SECTION 14.2:x86 PC AND INTERRUPT ASSIGNMENT
SECTION 14.3:8259 PROGRAMMABLE INTERRUPT CONTROLLER
SECTION 14.4: USE OF THE 8259 CHIP IN x86 PCs
SECTION 14.5: MORE ON INTERRUPTS IN x86 PCs

CHAPTER 15: DIRECT MEMORY ACCESS AND DMA CHANNELS IN x86 PC
SECTION 15.1: CONCEPT OF DMA
SECTION 15.2:8237 DMA CHIP PROGRAMMING
SECTION 15.3:8237 DMA INTERFACING IN THE IBM PC
SECTION 15.4: DMA IN x86 PCs

CHAPTER 16: VIDEO AND VIDEO ADAPTERS
SECTION 16. I: PRINCIPLES OF MONITORS AND VIDEO MODES
SECTION 16.2: TEXT MODE PROGRAMMING AND VIDEO RAM
SECTION 16.3: GRAPHICS AND GRAPHICS PROGRAMMING

CHAPTER 17: SERIAL PORT PROGRAMMING WITH ASSEMBLY AND C#
SECTION 17.1: BASICS OF SERIAL COMMUNICATION
SECTION 17.2: PROGRAMMING x86 PC COM PORTS USING ASSEMBLY AND C#

CHAPTER 18: KEYBOARD AND PRINTER INTERFACING
SECTION 18.1: INTERFACING THE KEYBOARD TO THE CPU
SECTION 18.2: PC KEYBOARD INTERFACING AND PROGRAMMING
SECTION 18.3: PRINTER AND PRINTER INTERFACING IN THE IBM PC

CHAPTER 19: HARD DISKS
SECTION 19.1: HARD DISK ORGANIZATION AND PERFORMANCE

CHAPTER 20: THE IEEE FLOATING POINT AND x87 MATH PROCESSORS
SECTION 20.1: MATH COPROCESSOR AND IEEE FLOATING-POINT STANDARDS
SECTION 20.2:x87 INSTRUCTIONS AND PROGRAMMING
SECTION 20.3:x87 INSTRUCTIONS

CHAPTER 21:386 MICROPROCESSOR: REAL vs. PROTECTED MODE
SECTION 21.1:80386 IN REAL MODE
SECTION 21.2: 80386: A HARDWARE VIEW
SECTION 21.3:80386 PROTECTED MODE

CHAPTER 22: HIGH-SPEED MEMORY DESIGN AND CACHE
SECTION 22.1: MEMORY CYCLE TIME OF THE x86
SECTION 22.2: PAGE AND STATIC COLUMN DRAMS
SECTION 22.3: CACHE MEMORY
SECTION 22.4: SDRAM, DDR RAM, AND RAMBUS MEMORIES

CHAPTER 23: PENTIUM AND RISC PROCESSORS
SECTION 23.1:THE 80486 MICROPROCESSOR
SECTION 23.2: INTEL'S PENTIUM
SECTION 23.3: RISC ARCHITECTURE
SECTION 23.4: PENTIUM PRO PROCESSOR
SECTION 23.5: MMX TECHNOLOGY

CHAPTER 24: THE EVOLUTION OF x86: FROM 32-BIT TO 64-BIT
SECTION 24.1:x86 PENTIUM EVOLUTION
SECTION 24.2: 64-BIT PROCESSORS AND VISTA FOR x86

CHAPTER 25: SYSTEM DESIGN ISSUES AND FAILURE ANALYSIS
SECTION 25.1: OVERVIEW OF IC TECHNOLOGY
SECTION 25.2: IC INTERFACING AND SYSTEM DESIGN ISSUES

CHAPTER 26: ISA, PC104, AND PCI BUSES
SECTION 26.1: ISA BUS MEMORY SIGNALS
SECTION 26.2: I/O BUS TIMING IN ISA BUS
SECTION 26.3: PCI BUS

CHAPTER 27: USB PORT PROGRAMMING
SECTION 27.1: USB PORTS: AN OVERVIEW
SECTION 27.2: USB PORT EXPANSION AND POWER MANAGEMENT
SECTION 27.3: USB PORT PROGRAMMING
INDEX
……
序言 This book is intended for use in college-level courses in which both Assembly PREFACE
Purpose
This book is intended for use in college-level courses in which both Assembly language programming and x86 PC interfacing are discussed. It not only builds the foundation of Assembly language programming, but also provides a omprehensive treatment of x86 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 x86 PC. It builds a foundation for the design and interfacing of microprocessor-based systems using the real-world example of the x86 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.
This book is intended for use in college-level courses in which both Assembly PREFACE
Purpose
This book is intended for use in college-level courses in which both Assembly language programming and x86 PC interfacing are discussed. It not only builds the foundation of Assembly language programming, but also provides a omprehensive treatment of x86 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 x86 PC. It builds a foundation for the design and interfacing of microprocessor-based systems using the real-world example of the x86 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.
Prerequisites
Readers should have taken an introductory digital course. Knowledge of other programming languages would be helpful, but is not necessary.
Although a vast majority of current PCs use x86 such as Pentium microprocessors, their design is based on the IBM PC/AT, an 80286 microprocessor system introduced in 1984. A good portion of the features of the PC/AT, 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 x86 PC and its internal architecture 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 A 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 pr
vide 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.
Lab Manual
The lab manual contains some very basic labs and can be found at the www.MicroDigitalEd.com website. The more advanced and rigorous lab assignments are left up to the instructor depending on the course objectives, class level, and whether the course is graduate or undergraduate. The support materials for this and other books by the authors can be found on this website, too.
Solutions Manual/PowerPoint? Slides
The end-of-chapter problems cover some very basic concepts. The more challenging and rigorous homework assignments are left up to the instructor depending on the course objectives, class level, and whether the course is graduate or undergraduate. The solutions manual was produced with the help of Mr. Sepehr Naimi. The solutions manual and PowerPoint? slides for the drawings are available online for instructors only.
Online Instructor Resources
To access supplementary materials online, instructors need to request an instructor access code. Go to www.prenhall.com, click the Instructor Resource Center link, and then click Register Today for an instructor access code. Within 48 hours after registering you will receive a confirming e-mail including an instructor access code. Once you have received your code, go to the site and log on for full instructions on downloading the materials you wish to use.
文摘 插图:


While the CPU can work only in binary, it can do so at very high speeds.However, it is quite tedious and slow for humans to deal with 0s and ls in order to pro-gram the computer. A program that consists of 0s and ls is called machine language, andin the early days of the computer, programmers actually coded programs in machine lan-guage. Although the hexadecimal system was used as a more efficient way to representbinary numbers, the process of working in machine code was still cumbersome forhumans. Eventually, Assembly languages were developed, which provided mnemonics forthe machine code instructions, plus other features that made programming faster and lessprone to error. The term mnemonic is typically used in computer science and engineeringliterature to refer to codes and abbreviations that are relatively easy to remember.Assembly language programs must be translated into machine code by a program calledan assembler. Assembly language is referred to as a low-level language because it dealsdirectly with the intemal structure of the CPU. To program in Assembly language, the pro-grammer must know the number of registers and their size, as well as other details of theCPU.Today, one can use many different programming languages, such as C/C++,BASIC, C#, and numerous others. These languages are called high-level languagesbecause the programmer does not have to be concerned with the internal details of theCPU. Whereas an assembler is used to translate an Assembly language program intomachine code (sometimes called object code), high-level languages are translated intomachine code by a program called a compiler. For instance, to write a program in C, onemust use a C compiler to translate the program into machine language.There are numerous assemblers available for translating x86 Assembly languageprograms into machine code. One of the most commonly used assemblers, MASM byMicrosoft, is introduce
……
热点排行