| |
| |
| |
Basic Concepts | |
| |
| |
Welcome to Assembly Language | |
| |
| |
Virtual Machine Concept | |
| |
| |
Data Representation | |
| |
| |
Boolean Operations | |
| |
| |
| |
Machine Architecture | |
| |
| |
General Concepts | |
| |
| |
IA-32 Processor Architecture | |
| |
| |
IA-32 Memory Management | |
| |
| |
Components of an IA-32 Microcomputer | |
| |
| |
Input-Output System | |
| |
| |
| |
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 | |
| |
| |
| |
Data Transfers, Addressing, and Arithmetic | |
| |
| |
Data Transfer Instructions | |
| |
| |
Addition and Subtraction | |
| |
| |
Data-Related Operators and Directives | |
| |
| |
Indirect Addressing | |
| |
| |
JMP and LOOP Instructions | |
| |
| |
| |
Procedures | |
| |
| |
Linking to an External Library | |
| |
| |
The Book's Link Library | |
| |
| |
Stack Operations | |
| |
| |
Defining and Using Procedures | |
| |
| |
Program Design Using Procedures | |
| |
| |
| |
Conditional Processing | |
| |
| |
Boolean and Comparison Instructions | |
| |
| |
Conditional Jumps | |
| |
| |
Conditional Loop Instructions | |
| |
| |
Conditional Structures | |
| |
| |
Finite State Machines (Application) | |
| |
| |
Using the .IF Directive | |
| |
| |
| |
Integer Arithmetic | |
| |
| |
Shift and Rotate Instructions | |
| |
| |
Shift and Rotate Applications | |
| |
| |
Multiplication and Division Instructions | |
| |
| |
Extended Addition and Subtraction | |
| |
| |
ASCII and Packed Decimal Arithmetic (Optional) | |
| |
| |
| |
Advanced Procedures | |
| |
| |
Local Variables | |
| |
| |
Stack Parameters | |
| |
| |
Stack Frames | |
| |
| |
Recursion | |
| |
| |
Creating MultiModule Programs | |
| |
| |
| |
Strings and Arrays | |
| |
| |
String Primitive Instructions | |
| |
| |
Selected String Routines | |
| |
| |
Two-Dimensional Arrays | |
| |
| |
Searching and Sorting Integer Arrays | |
| |
| |
| |
Structures and Macros | |
| |
| |
Structures | |
| |
| |
Macros | |
| |
| |
Conditional-Assembly Directives | |
| |
| |
Defining Repeat Blocks | |
| |
| |
| |
32-Bit Windows Programming | |
| |
| |
Win32 Console Programming | |
| |
| |
Writing a Graphical Windows Application | |
| |
| |
IA-32 Memory Management | |
| |
| |
| |
High-Level Language Interface | |
| |
| |
Introduction | |
| |
| |
Inline Assembly Code | |
| |
| |
Linking to C++ Programs | |
| |
| |
| |
16-Bit MS-DOS Programming | |
| |
| |
MS-DOS and the IBM-PC | |
| |
| |
MS-DOS Function Calls (INT 21h) | |
| |
| |
Standard MS-DOS File I/O Services | |
| |
| |
| |
Disk Fundamentals | |
| |
| |
Disk Storage Systems | |
| |
| |
File Systems | |
| |
| |
Disk Directory | |
| |
| |
Reading and Writing Disk Sectors | |
| |
| |
System-Level File Functions | |
| |
| |
| |
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 | |
| |
| |
| |
Expert MS-DOS Programming | |
| |
| |
Introduction | |
| |
| |
Defining Segments | |
| |
| |
Runtime Program Structure | |
| |
| |
Interrupt Handling | |
| |
| |
| |
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 | |
| |
| |
| |
MASM Reference | |
| |
| |
Microsoft Assembler (ML) | |
| |
| |
LINK | |
| |
| |
CodeView Debugger | |
| |
| |
MASM D | |