You are previewing Introduction to 80x86 Assembly Language and Computer Architecture, 2nd Edition.
O'Reilly logo
Introduction to 80x86 Assembly Language and Computer Architecture, 2nd Edition

Book Description

Thoroughly revised and updated throughout, the Second Edition of Introduction to 80x86 Assembly Language and Computer Architecture provides students with a clear and concise introduction to the inner workings of the computer, and their many levels and functions. Through introducing real instruction sets and writing real assembly language programs, students will become acquainted with the basics of computer architecture. The Second Edition now includes the use of the Microsoft Visual Studio environment, which is widely available to students and professionals, and provides a robust environment for editing, assembling, debugging, and executing problems. The text continues to emphasize basic architecture, not just the 80x86 line, and now includes 64-bit operations but is still appropriate for those working with 32-bit computers. Programmers are expected to program effectively at any level. Ensure students are up-to-speed with Introduction to 80x86 Assembly Language and Computer Architecture, Second Edition.

Table of Contents

  1. Cover
  2. Title
  3. Copyright
  4. Dedication
  5. Contents
  6. Preface
  7. Chapter 1 Representing Data in a Computer
    1. 1.1 Binary and Hexadecimal Numbers
    2. 1.2 Character Codes
    3. 1.3 Unsigned and Signed Integers
    4. 1.4 Integer Addition and Subtraction
    5. 1.5 Other Systems for Representing Numbers
    6. 1.6 Chapter Summary
  8. Chapter 2 Parts of a Computer System
    1. 2.1 PC Hardware: Memory
    2. 2.2 PC Hardware: The CPU
    3. 2.3 PC Hardware: Input/Output Devices
    4. 2.4 PC Software
    5. 2.5 Chapter Summary
  9. Chapter 3 Elements of Assembly Language
    1. 3.1 Assembly Language Statements
    2. 3.2 A Complete 32-Bit Example Using the Debugger
    3. 3.3 Data Declarations
    4. 3.4 Instruction Operands
    5. 3.5 A Complete 32-Bit Example Using Windows Input/Output
    6. 3.6 Input/Output and Data Conversion Macros Defined in IO.H
    7. 3.7 64-Bit Examples
    8. 3.8 Chapter Summary
  10. Chapter 4 Basic Instructions
    1. 4.1 Copying Data
    2. 4.2 Integer Addition and Subtraction Instructions
    3. 4.3 Multiplication Instructions
    4. 4.4 Division Instructions
    5. 4.5 Chapter Summary
  11. Chapter 5 Branching and Looping
    1. 5.1 Unconditional Jumps
    2. 5.2 Conditional Jumps, Compare Instructions, and if Structures
    3. 5.3 Implementing Loop Structures
    4. 5.4 for Loops in Assembly Language
    5. 5.5 Arrays
    6. 5.6 Chapter Summary
  12. Chapter 6 Procedures
    1. 6.1 The 80×86 Stack
    2. 6.2 32-Bit Procedures with Value Parameters
    3. 6.3 Additional 32-Bit Procedure Options
    4. 6.4 64-Bit Procedures
    5. 6.5 Macro Definition and Expansion
    6. 6.6 Chapter Summary
  13. Chapter 7 Bit Manipulation
    1. 7.1 Logical Operations
    2. 7.2 Shift and Rotate Instructions
    3. 7.3 Converting an ASCII String to a 2’s Complement Integer
    4. 7.4 Chapter Summary
  14. Chapter 8 String Operations
    1. 8.1 Using String Instructions
    2. 8.2 Repeat Prefixes and More String Instructions
    3. 8.3 Character Translation
    4. 8.4 Converting a 2’s Complement Integer to an ASCII String
    5. 8.5 Chapter Summary
  15. Chapter 9 Floating Point Operations
    1. 9.1 Floating Point Formats
    2. 9.2 80×86 Floating Point Architecture
    3. 9.3 Converting Floating Point to and from ASCII
    4. 9.4 Single-Instruction Multiple-Data Instructions
    5. 9.5 Floating Point Assembly Language Procedures with C/C++
    6. 9.6 Chapter Summary
  16. Appendices
    1. A Hexadecimal/ASCII Conversion
    2. B Assembler Reserved Words
    3. C Answers to Selected Exercises
  17. Index