出版時間:2009-11 出版社:電子工業(yè)出版社 作者:(美)馬茲迪 等著 頁數(shù):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.
內(nèi)容概要
匯編語言與程序設(shè)計是計算機類學科專業(yè)的重要的專業(yè)技術(shù)基礎(chǔ)課程,是以應(yīng)用為主的工程技術(shù)基礎(chǔ)類課程。作者以簡單易懂、分步介紹的方式,講授了x86 PC匯編語言程序設(shè)計及PC體系結(jié)構(gòu)。全書包括兩大部分內(nèi)容:(1)匯編語言程序設(shè)計;(2)IBM PC兼容計算機接口設(shè)計。在介紹匯編語言程序的章節(jié)中,以匯編方法為引導,逐步加入各種語句及指令,給出了很多程序?qū)嵗?,并通過Debug實用工具展示出程序指令執(zhí)行的具體動作。在接口設(shè)計方面,從PC機所應(yīng)用的芯片到設(shè)備,從電路設(shè)計到編程都進行了詳細的闡述。 本書內(nèi)容系統(tǒng),示例豐富,可作為高校計算機專業(yè)學生的教材,也是x86嵌入式設(shè)計人員的理想?yún)⒖紩?/pre>作者簡介
作者:(美國)馬茲迪(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章節(jié)摘錄
插圖: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匯編語言、設(shè)計與接口(第5版)(英文版)》:國外計算機科學教材系列本節(jié)深入介紹了x86體系結(jié)構(gòu)、總線、接口技術(shù)、系統(tǒng)編程、IEEE浮點數(shù)學、USB、高速緩存以及RlSC和Harvard體系結(jié)構(gòu),逐步并系統(tǒng)地介紹了x86匯編語言編程和PC體系結(jié)構(gòu)的基礎(chǔ)知識,為讀者提供了有趣且方便的學習經(jīng)驗,并用大量的示例及習題來加深讀者對概念的理解,是高校計算機專業(yè)學生及x86嵌入式設(shè)計人員的理想教材和參考書?!秞86 PC匯編語言、設(shè)計與接口(第5版)(英文版)》特點:覆蓋了從8086至64位Itanium的所有x86微處理器。使用匯編和C程序示例來深入介紹x86PC體系結(jié)構(gòu)。使用示例介紹7x86指令的用法。介紹了IEEE浮點數(shù)和數(shù)學協(xié)處理器的基本知識。探討和分析了16位、32位和64位處理器(如Pentium和ltanium芯片)間的硬件不同點。討論了x86微處理器的8位、16位和32位接口。通過使用來I~IIBMPC技術(shù)參考中的程序片斷,顯示了PC系統(tǒng)編程的真實方法。簡單介紹了USB端口以及如何使用C#來訪問它的方法。對x86CPU和RlSC處理器進行了比較。考察7x86高速緩存及其組織結(jié)構(gòu)。覆蓋了從Intel至AMD的x86處理器的64位新特性。探討了x86處理器的超標量架構(gòu)及其多核特性。圖書封面
圖書標簽Tags
無評論、評分、閱讀與下載