|
|
|
Assembly Language for x86 Processors, 6/e is ideal for undergraduate courses in assembly language programming and introductory courses in computer systems and computer architecture. Written specifically for the Intel/Windows/DOS platform, this complete and fully updated study of assembly language teaches students to write and debug programs at the machine level. Based on the Intel processor family, the text simplifies and demystifies concepts that students need to grasp before they can go on to more advanced computer architecture and operating systems courses. Students put theory into practice through writing software at the machine level, creating a memorable experience that gives them the confidence to work in any OS/machine-oriented environment. Proficiency in one other programming language, preferably Java, C, or C++, is recommended.
| ISBN | 013602212X | | Pages | 768 | | ISBN13 | 9780136022121 (What's this?) | | Weight (grammes) | 1180 | | Publisher | Pearson Education (US) | | Published in | Upper Saddle River | | Imprint | Prentice Hall | | Previous ISBN | 9780132383103 | | Format | Hardback | | Height (mm) | 232 | | Publication date | 25 Feb 2010 | | Width (mm) | 178 | | DEWEY | 005.265 | | Spine width (mm) | 33 | | DEWEY edition | DC22 | | Academic level | Undergraduate |
|
| |
Preface xix 1. Basic Concepts 1 1.1 Welcome to Assembly Language 1 1.1.1 Good Questions to Ask 2 1.1.2 Assembly Language Applications 5 1.1.3 Section Review 6 1.2 Virtual Machine Concept 7 1.2.1 Section Review 9 1.3 Data Representation 9 1.3.1 Binary Integers 9 1.3.2 Binary Addition 11 1.3.3 Integer Storage Sizes 12 1.3.4 Hexadecimal Integers 13 1.3.5 Signed Integers 15 1.3.6 Character Storage 17 1.3.7 Section Review 19 1.4 Boolean Operations 22 1.4.1 Truth Tables for Boolean Functions 24 1.4.2 Section Review 26 1.5 Chapter Summary 26 1.6 Exercises 27 1.6.1 Programming Tasks 27 1.6.2 Nonprogramming Tasks 27 2. x86 Processor Architecture 29 2.1 General Concepts 29 2.1.1 Basic Microcomputer Design 30 2.1.2 Instruction Execution Cycle 31 2.1.3 Reading from Memory 33 2.1.4 How Programs Run 34 2.1.5 Section Review 35 2.2 x86 Architecture Details 36 2.2.1 Modes of Operation 36 2.2.2 Basic Execution Environment 36 2.2.3 Floating-Point Unit 39 2.2.4 Overview of Intel Microprocessors 39 2.2.5 Section Review 42 2.3 x86 Memory Management 43 2.3.1 Real-Address Mode 43 2.3.2 Protected Mode 45 2.3.3 Section Review 47 2.4 Components of a Typical x86 Computer 48 2.4.1 Motherboard 48 2.4.2 Video Output 50 2.4.3 Memory 50 2.4.4 Input-Output Ports and Device Interfaces 50 2.4.5 Section Review 52 2.5 Input-Output System 52 2.5.1 Levels of I/O Access 52 2.5.2 Section Review 55 2.6 Chapter Summary 55 2.7 Chapter Exercises 57 3. Assembly Language Fundamentals 58 3.1 Basic Elements of Assembly Language 58 3.1.1 Integer Constants 59 3.1.2 Integer Expressions 60 3.1.3 Real Number Constants 61 3.1.4 Character Constants 61 3.1.5 String Constants 61 3.1.6 Reserved Words 62 3.1.7 Identifiers 62 3.1.8 Directives 62 3.1.9 Instructions 63 3.1.10 The NOP (No Operation) Instruction 65 3.1.11 Section Review 66 3.2 Example: Adding and Subtracting Integers 66 3.2.1 Alternative Version of AddSub 69 3.2.2 Program Template 70 3.2.3 Section Review 70 3.3 Assembling, Linking, and Running Programs 71 3.3.1 The Assemble-Link-Execute Cycle 71 3.3.2 Section Review 77 3.4 Defining Data 77 3.4.1 Intrinsic Data Types 77 3.4.2 Data Definition Statement 77 3.4.3 Defining BYTE and SBYTE Data 78 3.4.4 Defining WORD and SWORD Data 80 3.4.5 Defining DWORD and SDWORD Data 81 3.4.6 Defining QWORD Data 81 3.4.7 Defining Packed Binary Coded Decimal (TBYTE) Data 82 3.4.8 Defining Real Number Data 83 3.4.9 Little Endian Order 83 3.4.10 Adding Variables to the AddSub Program 84 3.4.11 Declaring Uninitialized Data 85 3.4.12 Section Review 85 3.5 Symbolic Constants 86 3.5.1 Equal-Sign Directive 86 3.5.2 Calculating the Sizes of Arrays and Strings 87 3.5.3 EQU Directive 88 3.5.4 TEXTEQU Directive 89 3.5.5 Section Review 90 3.6 Real-Address Mode Programming (Optional) 90 3.6.1 Basic Changes 90 3.7 Chapter Summary 91 3.8 Programming Exercises 92 4. Data Transfers, Addressing, and Arithmetic 94 4.1 Data Transfer Instructions 94 4.1.1 Introduction 94 4.1.2 Operand Types 95 4.1.3 Direct Memory Operands 96 4.1.4 MOV Instruction 96 4.1.5 Zero/Sign Extension of Integers 98 4.1.6 LAHF and SAHF Instructions 100 4.1.7 XCHG Instruction 100 4.1.8 Direct-Offset Operands 101 4.1.9 Example Program (Moves) 102 4.1.10 Section Review 103 4.2 Addition and Subtraction 104 4.2.1 INC and DEC Instructions 104 4.2.2 ADD Instruction 104 4.2.3 SUB Instruction 105 4.2.4 NEG Instruction 105 4.2.5 Implementing Arithmetic Expressions 106 4.2.6 Flags Affected by Addition and Subtraction 106 4.2.7 Example Program (AddSub3) 110 4.2.8 Section Review 111 4.3 Data-Related Operators and Directives 112 4.3.1 OFFSET Operator 112 4.3.2 ALIGN Directive 113 4.3.3 PTR Operator 114 4.3.4 TYPE Operator 115 4.3.5 LENGTHOF Operator 115 4.3.6 SIZEOF Operator 116 4.3.7 LABEL Directive 116 4.3.8 Section Review 117 4.4 Indirect Addressing 117 4.4.1 Indirect Operands 118 4.4.2 Arrays 119 4.4.3 Indexed Operands 120 4.4.4 Pointers
"This textbook [Irvine] teaches assembly and architecture fundamentals in a logical and concise manner for students with a reasonable CS1 backgrounds...and are applicable to higher-level programmers as to their understanding of what is happing to the code that they write and how it behaves during compilation and execution." -- John Doyle, Indiana University, Southeast "The problems and exercises are of good quality and quantity; they always have similarity within the chapter examples, but they are presented in a more challenging way. Students can pick-up skills that can be transferred to solving a new problem." -- Yinping Jiao, South Texas College "The book [Irvine] is well-organized. The chapters are lined-up such that after you cover the foundations presented in chapter 1-8, you can jump to any chapter you like consistent with what you think the students should know for upcoming classes." -- Remzi Seker, University of Arkansas, Little Rock "Wonderful! This edi  Be the first to write a customer review
|
|
|
|
|