ISBN-10:
1576760588
ISBN-13:
2901576760580
Pub. Date:
10/16/2000
Publisher:
Pearson
Assembly Language for the IBM PC Family / Edition 3

Assembly Language for the IBM PC Family / Edition 3

by William Jones
Current price is , Original price is $166.65. You
  • $92.57 $166.65 Save 44% Current price is $92.57, Original price is $166.65. You Save 44%.
    Note: Access code and/or supplemental material are not guaranteed to be included with textbook rental or used textbook.

    Temporarily Out of Stock Online

    Please check back later for updated availability.

  • This Item is Not Available

  • Product Details

    ISBN-13: 2901576760580
    Publisher: Pearson
    Publication date: 10/16/2000
    Edition description: New Edition
    Pages: 768
    Product dimensions: 6.00(w) x 1.25(h) x 9.00(d)

    Table of Contents

    Chapter 1: Preliminaries
    1.1 Hardware Overview
    1.1.1 Level I: General Properties of Personal Computers
    1.1.2 Level II: IBM PC Hardware
    1.1.3 More on Memory (Optional)
    1.2 The Decimal, Binary, and Hexadecimal Numbering Systems
    1.2.1 The Binary Number System
    1.2.2 Conversions between Binary and Decimal
    1.2.3 The Hexadecimal Number System
    1.2.4 Conversions Involving Hexadecimal
    1.2.5 Addition in Binary and Hex
    1.3 Negative Numbers; 2's Complement Arithmetic
    1.3.1 Sign-Magnitude Representation
    1.3.2 1's Complement Representation
    1.3.3 2's Complement Representation
    1.4 The ASCII Character Set
    1.5 Pseudo-Code

    Chapter 2: Assembler Overview
    2.1 Creating an Assembly Language Program
    2.2 Structure of an IBM PC Assembly Language Program
    2.2.1 Global Program Structure
    2.2.2 The .STACK Segment
    2.2.3 The .DATA Segment
    2.2.4 The .CODE Segment

    Chapter 3: More on I/O
    3.1 Macros for I/O
    3.2 The DOS Display Character Call
    3.3 Magic Numbers
    3.4 Numeric I/O

    Chapter 4: Arithmetic
    4.1 Addition and Subtraction
    4.2 Multiplication and Division
    4.3 Comments on Comments
    4.4 A Little Something Extra: Timing of Instructions (completely new)
    4.5 Internal Format of Instructions (Optional)

    Debug Workshop I: Introduction to Debuggers

    Chapter 5: Comparing and Branching
    5.1 Decision-making in Assembly Language
    5.2 Unsigned Conditional Jumps
    5.3 Arithmetic and the Flags
    5.4 Counting Loops (important revision)
    5.5 Reading Single Characters
    5.6 Loop Case Studies
    5.7 Some Technical Details on Compares and Jumps
    5.8 Timing of Instructions, Continued.

    Debug Workshop II: Debugging with Breakpoints

    Chapter 6: Subprograms
    6.1 Writing Subprograms
    6.2 The Stack
    6.3 The Stack, call, and ret
    6.4 Separately Translated Subprograms
    6.5 Creating Program Libraries (Optional)
    6.6 How the Linker Works (Optional)

    Debug Workshop III: Procedures

    Chapter 7: Applying Assembly I: Numeric I/O
    7.1 PutDec I: Displaying Unsigned Numbers
    7.2 PutDec II: Turning PutUDec into PutDec
    7.3 GetDec I: Reading a Number from the Keyboard

    Chapter 8: Writing Macros and Program Testing
    8.1 Writing Simple Macros
    8.1.1 Macro Declarations
    8.1.2 Macro Expansion
    8.1.3 Parameter Parentheses
    8.1.4 Local Symbols
    8.1.5 Parameter Separator (&)
    8.1.6 Assembly Listings
    8.2 An Extended Example: Programming Testing
    8.3 Pseudo-Macros for Repetition

    Chapter 9: Bit Operations
    9.1 Boolean Operations
    9.2 Shift Operations (substantial revision)
    9.3 An Application-Code to Implement PutHex
    9.4 A Little Something Extra: Bit Instructions in High Level Languages
    9.5 Assembler RECORD Structures (Optional)

    Chapter 10 Arrays
    10.1 Addressing
    10.1.1 Memory Address versus Memory Contents
    10.1.2 Address Arithmetic
    10.1.3 Types of Address Expressions
    10.1.4 Rules for Address Expressions
    10.1.5 Byte Swapping
    10.1.6 Byte Swapping and Address Arithmetic (Optional)
    10.2 Arrays
    10.2.1 Arrays in General
    10.2.2 Using Arrays
    10.3 Reading a Whole Line from the Keyboard
    10.4 A Little Something Extra: Indexing with Extended Registers (new in this position)
    10.5 Arrays in High-Level Languages (Optional)

    Debug Workshop IV: Arrays and Byte Swapping

    Chapter 11: Applying Assembly II: Array Applications
    11.1 Conversion Tables
    11.2 Sets (Substantially rewritten)
    11.2.1 Representing Sets as Arrays
    11.2.2 Searching Sets
    11.2.3 An Application: The Sieve of Eratosthenes
    11.3 PutDec III: Bin2Dec
    11.4 C/C++/Java Variable Length Character Strings (completely new)
    11.5 C/C++ switch and Pascal case Statements

    Chapter 12: Segments
    12.1 Segments and Offsets
    12.2 Segment Registers
    12.3 Defining Segments (important new material)
    12.4 The ASSUME Statement
    12.5 The Program Segment Prefix (PSP)
    12.6 A Little Something Extra: The Real Time Clock and Program Timing (mostly new)
    12.7 A Little Something Extra: Pointers
    12.8 A Little Something Extra: Memory Models (new material)

    Debug Workshop V: Segments

    Chapter 13: Procedures and High Level Languages
    13.1 Procedures and the Stack (includes new material)
    13.2 A Little Something Extra: Assembler Help with Procedures (includes new material)
    13.3 A Little Something Extra: CPU Assistance with Procedures
    13.4 A Little Something Extra: Reference Parameters (includes new material)
    13.5 A Little Something Extra: Other C++ Features (all new)
    13.5.1 Default Parameter values
    13.5.2 Overloaded Functions
    13.5.3 Polymorphic Calling of Virtual Functions
    13.6 A Little Something Extra: Embedding Assembly in a High Level Language

    Chapter 14: Applying Assembly III: Multiple Precision and Decimal Arithmetic
    14.1 Operations for Multiple Precision
    14.2 Working with Multiple Precision Numbers
    14.3 Random Numbers (substantially revised)
    14.4 Decimal Arithmetic

    Chapter 15: Interrupts
    15.1 Generalities about Interrupts
    15.2 Interrupt Processing on the 80X86
    15.3 Applications: Timing Operations and Debuggers
    15.3.1 The Real Time Clock
    15.3.2 Interrupts and Debuggers
    15.4 Interrupt Handlers
    15.5 A Little Something Extra: A TSR Program
    15.6 A Little Something Extra: Simultaneously Executing Programs
    15.6.1 Race Conditions
    15.6.2 Semaphores: an Abstract Method of Synchronization
    15.6.3 Using Semaphores to Solve Race Conditions
    15.6.4 Implementing Semaphores to Solve Race Conditions
    15.7 A Short History of Interrupts

    Chapter 16: Conditional Assembly and More on Macros
    16.1 Generally Applicable IFs
    16.2 IFs Usable Only in Macros (includes new material)

    Chapter 17: String Processing Instructions
    17.1 The String Operations (includes new material)
    17.2 The REP Instruction Prefix

    Chapter 18: File Processing
    18.1 Handles and Opening, Creating, and Closing Files
    18.2 Basic File Operations
    18.3 Random File Accessing
    18.3.1 The _LSeek Macro
    18.3.2 Applications of _LSeek I: LOG, a Message Logger
    18.3.3 Applications of _LSeek II: Tail, and End of File Displayer (revised)
    18.3.4 Writing the _LSeek Macro
    18.4 A Little Something Extra: Redirecting stderr (includes new material)
    18.5 The Utility Routines ParseCmd, CCheck, and WCheck (revised)

    Chapter 19: Floating Point
    19.1 FPU Data
    19.1.1 Floating Point Numbers
    19.1.2 Integers
    19.1.3 BCD Numbers
    19.2 Form of Floating Point Instructions
    19.3 The FPU Stack
    19.4 Floating Point Arithmetic
    19.5 Floating Point I/O
    19.6 FPU Comparing and Branching
    19.7 Transcendental Functions and the FPU
    19.8 The FPU and the Debugger

    Chapter 20: Applying Assembly IV: Windows 32 Bit Programming (entirely new)
    (Actual chapter contents may vary)
    20.1 32 Bit Console Applications
    20.2 Simple Windows Programs in Assembly
    20.3 Graphics Programming

    Answers to Selected Exercises
    Appendix A: The IBM Extended Character Set
    Appendix B: 80X86 Instructions
    Appendix C: DOS in Windows (entirely new)
    Appendix D: Selected DOS and BIOS Functions, Formats, and Memory Locations
    Appendix E: Debugger Summary
    Appendix F: How Assemblers Work
    Bibliography
    Index

    Customer Reviews

    Most Helpful Customer Reviews

    See All Customer Reviews