(NOTE: Each chapter section ends with a review and each chapter includes a summary)
1. Basic Concepts
Welcome to Assembly Language
Virtual Machine Concept
Data Representation
Boolean Operations
2. Machine Architecture
General Concepts
IA-32 Processor Architecture
IA-32 Memory Management
Components of an IA-32 Microcomputer
Input-Output System
3. Assembly Language Fundamentals
Basic Elements of Assembly Language
Example: Adding Three Integers
Assembling, Linking, and Running Programs
Defining Data
Symbolic Constants
Real-Address Mode Programming
4. Data Transfers, Addressing, and Arithmetic
Data Transfer Instructions
Addition and Subtraction
Data-Related Operators and Directives
Indirect Addressing
JMP and LOOP Instructions
5. Procedures
Linking to an External Library
The Book's Link Library
Stack Operations
Defining and Using Procedures
Program Design Using Procedures
6. Conditional Processing
Boolean and Comparison Instructions
Conditional Jumps
Conditional Loop Instructions
Conditional Structures
Finite State Machines (Application)
Using the
IF Directive
7. Integer Arithmetic
Shift and Rotate Instructions
Shift and Rotate Applications
Multiplication and Division Instructions
Extended Addition and Subtraction
ASCII and Packed Decimal Arithmetic (Optional)
8. Advanced Procedures
Local Variables
Stack Parameters
Stack Frames
Recursion
Creating MultiModule Programs
9. Strings and Arrays
String Primitive Instructions
Selected String Routines
Two-Dimensional Arrays
Searching and Sorting Integer Arrays
10. Structures and Macros
Structures
Macros
Conditional-Assembly Directives
Defining Repeat Blocks
11. 32-Bit Windows Programming
Win32 Console Programming
Writing a Graphical Windows Application
IA-32 Memory Management
12. High-Level Language Interface
Introduction
Inline Assembly Code
Linking to C++ Programs
13. 16-Bit MS-DOS Programming
MS-DOS and the IBM-PC
MS-DOS Function Calls (INT 21h)
Standard MS-DOS File I/O Services
14. Disk Fundamentals
Disk Storage Systems
File Systems
Disk Directory
Reading and Writing Disk Sectors
System-Level File Functions
15. BIOS-Level Programming
Introduction
BIOS-Level Keyboard Input (INT 16H)
Video Programming with INT 10h
Drawing Graphics Using INT 10h
Direct Memory Mapped Graphics
Mouse Programming
16. Expert MS-DOS Programming
Introduction
Defining Segments
Runtime Program Structure
Interrupt Handling
Appendix A: Installing and Using the Assembler
Installing the book's CD-ROM
Assembling and Linking 32-Bit Protected Mode Programs
Assembling and Linking 16-bit Real-Address Mode Programs
Appendix B: MASM Reference
Microsoft Assembler (ML)
LINK
CodeView Debugger
MASM Directives
Symbols
Operators
Run-Time Operations
Appendix C: The Intel Instruction Set
Appendix D: BIOS and MS-DOS Interrupts