出版时间:2009-11 出版社:电子工业出版社 作者:(美)马兹迪 等著 页数:704
Tag标签:无
前言
This book is intended for use in college-level courses in which both Assembly PREFACEPurposeThis 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 PREFACEPurposeThis 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.PrerequisitesReaders 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 prvide 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 ManualThe 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? SlidesThe 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 ResourcesTo 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.
内容概要
汇编语言与程序设计是计算机类学科专业的重要的专业技术基础课程,是以应用为主的工程技术基础类课程。作者以简单易懂、分步介绍的方式,讲授了x86 PC汇编语言程序设计及PC体系结构。全书包括两大部分内容:(1)汇编语言程序设计;(2)IBM PC兼容计算机接口设计。在介绍汇编语言程序的章节中,以汇编方法为引导,逐步加入各种语句及指令,给出了很多程序实例,并通过Debug实用工具展示出程序指令执行的具体动作。在接口设计方面,从PC机所应用的芯片到设备,从电路设计到编程都进行了详细的阐述。 本书内容系统,示例丰富,可作为高校计算机专业学生的教材,也是x86嵌入式设计人员的理想参考书。
作者简介
作者:(美国)马兹迪(Janice Gillispie Mazidi) 马兹迪 (美国)科西(Danny Causey)
书籍目录
CONTENTSCHAPTER 0: INTRODUCTION TO COMPUTING CHAPTER 1: THE x86 MICROPROCESSOR CHAPTER 2: ASSEMBLY LANGUAGE PROGRAMMING CHAPTER 3: ARITHMETIC AND LOGIC INSTRUCTIONS AND PROGRAMS CHAPTER 4: INT 21H AND INT 10H PROGRAMMING AND MACROS CHAPTER 5: KEYBOARD AND MOUSE PROGRAMMING CHAPTER 6: SIGNED NUMBERS, STRINGS, AND TABLES CHAPTER 7: MODULES AND MODULAR PROGRAMMING CHAPTER 8: 32-BIT PROGRAMMING FOR x86 CHAPTER 9: 8088, 80286 MICROPROCESSORS AND ISA BUS CHAPTER 10: MEMORY AND MEMORY INTERFACING CHAPTER 11: 8255 I/O PROGRAMMING CHAPTER 12: INTERFACING TO LCD, MOTOR, ADC, AND SENSOR CHAPTER 13: 8253/54 TIMER CHAPTER 14: INTERRUPTS IN x86 PC CHAPTER 15: DIRECT MEMORY ACCESS AND DMA CHANNELS IN x86 PC CHAPTER 16: VIDEO AND VIDEO ADAPTERS CHAPTER 17: SERIAL PORT PROGRAMMING WITH ASSEMBLY AND C# CHAPTER 18: KEYBOARD AND PRINTER INTERFACING CHAPTER 19: HARD DISKS CHAPTER 20: THE IEEE FLOATING POINT AND x87 MATH PROCESSORS CHAPTER 21: 386 MICROPROCESSOR: REAL vs. PROTECTED MODE CHAPTER 22: HIGH-SPEED MEMORY DESIGN AND CACHE CHAPTER 23: PENTIUM AND RISC PROCESSORS CHAPTER 24: THE EVOLUTION OF x86: FROM 32-BIT TO 64-BIT CHAPTER 25: SYSTEM DESIGN ISSUES AND FAILURE ANALYSIS CHAPTER 26: ISA, PC104, AND PCI BUSES CHAPTER 27: USB PORT PROGRAMMING INDEX
章节摘录
插图: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 introduced in Chapter 2. The present chapter is designed to correspond toAppendix A: DEBUG Programming. The program in this chapter can be entered and runwith the use of the DEBUG program. If you are not familiar with DEBUC refer toAppendix A for a tutorial introduction. The DEBUG utility is provided with the MicrosoftWindows operating system and therefore is widely accessible.
编辑推荐
《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处理器的超标量架构及其多核特性。
图书封面
图书标签Tags
无
评论、评分、阅读与下载