Assembly Language for x86 Processors
Book information
Description
Preface Cover Title Copyright Preface About the Author Contents Contents 1: Basic Concepts Introduction: Basic Concepts 1.1: Welcome To Assembly Language 1.2: Virtual Machine Concept 1.3: Data Representation 1.4: Boolean Expressions 1.5: Chapter Summary 1.6: Key Terms 1.7: Review Questions and Exercises 2: x86 Processor Architecture Introduction: x86 Processor Architecture 2.1: General Concepts 2.2: 32-Bit x86 Processors 2.3: 64-Bit x86-64 Processors 2.4: Components of a Typical x86 Computer 2.5: Input-Output System 2.6: Chapter Summary 2.7: Key Terms 2.8: Review Questions 3: Assembly Language Fundamentals Introduction: Assembly Language Fundamentals 3.1: Basic Language Elements 3.2: Example: Adding and Subtracting Integers 3.3: Assembling, Linking, and Running Programs 3.4: Defining Data 3.5: Symbolic Constants 3.6: Introducing 64-Bit Programming 3.7: Chapter Summary 3.8: Key Terms 3.9: Review Questions and Exercises 3.10: Programming Exercises 4: Data Transfers, Addressing, and Arithmetic Introduction: Data Transfers, Addressing, and Arithmetic 4.1: Data Transfer Instructions 4.2: Addition and Subtraction 4.3: Data-Related Operators and Directives 4.4: Indirect Addressing 4.5: JMP and LOOP Instructions 4.6: 64-Bit Programming 4.7: Chapter Summary 4.8: Key Terms 4.9: Review Questions and Exercises 4.10: Programming Exercises 5: Procedures Introduction: Procedures 5.1: Stack Operations 5.2: Defining and Using Procedures 5.3: Linking to an External Library 5.4: The Irvine32 Library 5.5: 64-Bit Assembly Programming 5.6: Chapter Summary 5.7: Key Terms 5.8: Review Questions and Exercises 5.9: Programming Exercises 6: Conditional Processing Introduction: Conditional Processing 6.1: Boolean and Comparison Instructions 6.2: Conditional Jumps 6.3: Conditional Loop Instructions 6.4: Conditional Structures 6.5: Application: Finite-State Machines 6.6: Conditional Control Flow Directives (Optional topic) 6.7: Chapter Summary 6.8: Key Terms 6.9: Review Questions and Exercises 6.10: Programming Exercises 7: Integer Arithmetic Introduction: Integer Arithmetic 7.1: Shift and Rotate Instructions 7.2: Shift and Rotate Applications 7.3: Multiplication and Division Instructions 7.4: Extended Addition and Subtraction 7.5: ASCII and Unpacked Decimal Arithmetic 7.6: Packed Decimal Arithmetic 7.7: Chapter Summary 7.8: Key Terms 7.9: Review Questions and Exercises 7.10: Programming Exercises 8: Advanced Procedures Introduction: Advanced Procedures 8.1: Introduction 8.2: Stack Frames 8.3: Recursion 8.4: INVOKE, ADDR, PROC, and PROTO 8.5: Creating Multimodule Programs 8.6: Advanced Use of Parameters (Optional Topic) 8.7: Java Bytecodes (Optional Topic) 8.8: Chapter Summary 8.9: Key Terms 8.10: Review Questions and Exercises 8.11: Programming Exercises 9: Strings and Arrays Introduction: Strings and Arrays 9.1: Introduction 9.2: String Primitive Instructions 9.3: Selected String Procedures 9.4: Two-Dimensional Arrays 9.5: Searching and Sorting Integer Arrays 9.6: Java Bytecodes: String Processing (Optional Topic) 9.7: Chapter Summary 9.8: Key Terms and Instructions 9.9: Review Questions and Exercises 9.10: Programming Exercises 10: Structures and Macros Introduction: Structures and Macros 10.1: Structures 10.2: Macros 10.3: Conditional-Assembly Directives 10.4: Defining Repeat Blocks 10.5: Chapter Summary 10.6: Key Terms 10.7: Review Questions and Exercises 10.8: Programming Exercises 11: MS-Windows Programming Introduction: MS-Windows Programming 11.1: Win32 Console Programming 11.2: Writing a Graphical Windows Application 11.3: Dynamic Memory Allocation 11.4: 32-Bit x86 Memory Management 11.5: Chapter Summary 11.6: Key Terms 11.7: Review Questions and Exercises 11.8: Programming Exercises 12: Floating-Point Processing and Instruction Encoding Introduction: Floating-Point Processing and Instruction Encoding 12.1: Floating-Point Binary Representation 12.2: Floating-Point Unit 12.3: x86 Instruction Encoding 12.4: Chapter Summary 12.5: Key Terms 12.6: Review Questions and Exercises 12.7: Programming Exercises 13: High-Level Language Interface Introduction: High-Level Language Interface 13.1: Introduction 13.2: Inline Assembly Code 13.3: Linking 32-Bit Assembly Language Code to C/C++ 13.4: Chapter Summary 13.5: Key Terms 13.6: Review Questions 13.7: Programming Exercises 14: 16-Bit MS-DOS Programming Introduction: 16-Bit MS-DOS Programming 14.1: MS-DOS and the IBM-PC 14.2: MS-DOS Function Calls (INT 21h) 14.3: Standard MS-DOS File I/O Services 14.4: Chapter Summary 14.5: Programming Exercises 15: Disk Fundamentals Introduction: Disk Fundamentals 15.1: Disk Storage Systems 15.2: File Systems 15.3: Disk Directory 15.4: Reading and Writing Disk Sectors 15.5: System-Level File Functions 15.6: Chapter Summary 15.7: Programming Exercises 15.8: Key Terms Chapter 15 End Note 16: BIOS-Level Programming Introduction: BIOS-Level Programming 16.1: Introduction 16.2: Keyboard Input with INT 16h 16.3: Video Programming with INT 10h 16.4: Drawing Graphics Using INT 10h 16.5: Memory-Mapped Graphics 16.6: Mouse Programming 16.7: Chapter Summary 16.8: Programming Exercises Backmatter Appendix A: MASM Reference MASM Reference A.1 Introduction A.2 MASM Reserved Words A.3 Register Names A.4 Microsoft Assembler (ML) A.5 Microsoft Assembler Directives A.6 Symbols A.7 Operators A.8 Runtime Operators Appendix B: The x86 Instruction Set The x86 Instruction Set B.1 Introduction B.2 Instruction Set Details (Non Floating-Point) B.3 Floating-Point Instructions Appendix C: BIOS and MS-DOS Interrupts BIOS and MS-DOS Interrupts C.1: Introduction C.2: PC Interrupts C.3: Interrupt 21H Functions (MS-DOS Services) C.4: Interrupt 10H Functions (Video BIOS) C.5: Keyboard BIOS INT 16h Functions C.6: Mouse Functions (INT 33h) Appendix D: Answers to Review Questions (Chapters 14–16) Glossary ASCII Character Reference Charts Supplemental Materials
Similar books
Lenguaje ensamblador. Para computadoras basadas en Intel
2010 · PDF
Assembly Language for x86 Processors
2019 · EPUB
Starting Out With Visual Basic (8th Edition)
2019 · EPUB
Assembly Language for x86 Processors
2010 · PDF
Assembly Language for x86 Processors
2014 · PDF
Advanced Visual Basic 2010, 5th Edition
2011 · PDF
Assembly Language for Intel-Based Computers (4th Edition)
2002 · PDF
Assembly Language for Intel-Based Computers
2002 · PDF