| |
| |
| |
| Basic Concepts | |
| |
| |
| Applications of assembly language | |
| |
| |
| Basic concepts | |
| |
| |
| Machine language | |
| |
| |
| Data representation | |
| |
| |
| |
| IA-32 Processor Architecture | |
| |
| |
| Basic microcomputer design | |
| |
| |
| Instruction execution cycle | |
| |
| |
| IA-32 processor architecture | |
| |
| |
| IA-32 memory management | |
| |
| |
| Components of a microcomputer | |
| |
| |
| The input-output system | |
| |
| |
| |
| Assembly Language Fundamentals | |
| |
| |
| Introduction to assembly language | |
| |
| |
| Linking and debugging | |
| |
| |
| Defining constants and variables | |
| |
| |
| |
| Data Transfers, Addressing, and Arithmetic | |
| |
| |
| Simple data transfer and arithmetic instructions | |
| |
| |
| Assemble-link-execute cycle | |
| |
| |
| Operators | |
| |
| |
| Directives | |
| |
| |
| Expressions | |
| |
| |
| JMP and LOOP instructions | |
| |
| |
| Indirect addressing | |
| |
| |
| |
| Procedures | |
| |
| |
| Linking to an external library | |
| |
| |
| Description of the book's link library | |
| |
| |
| Stack operations | |
| |
| |
| Defining and using procedures | |
| |
| |
| Flowcharts | |
| |
| |
| Top-down structured design | |
| |
| |
| |
| Conditional Processing | |
| |
| |
| Boolean and comparison instructions | |
| |
| |
| Conditional jumps and loops | |
| |
| |
| High-level logic structures | |
| |
| |
| Finite state machines | |
| |
| |
| |
| Integer Arithmetic | |
| |
| |
| Shift and rotate instructions with useful applications | |
| |
| |
| Multiplication and division | |
| |
| |
| Extended addition and subtraction | |
| |
| |
| ASCII and packed decimal arithmetic | |
| |
| |
| |
| Advanced Procedures | |
| |
| |
| Stack Parameters | |
| |
| |
| Local Variables | |
| |
| |
| Advanced PROC and INVOKE Directives | |
| |
| |
| Recursion | |
| |
| |
| |
| Strings and Arrays | |
| |
| |
| String Primitives | |
| |
| |
| Manipulated Arrays of Characters and Integers | |
| |
| |
| Two-dimensional arrays | |
| |
| |
| Sorting | |
| |
| |
| Searching | |
| |
| |
| |
| Structures and Macros | |
| |
| |
| Structures | |
| |
| |
| Macros | |
| |
| |
| Conditional Assembly Directives | |
| |
| |
| Defining Repeat Blocks | |
| |
| |
| |
| MS-Windows Programming | |
| |
| |
| Protected Mode Memory Management Concepts | |
| |
| |
| Using the Microsoft(r) Windows API to Display Text and Colors | |
| |
| |
| Dynamic Memory Allocation | |
| |
| |
| |
| High-Level Language Interface | |
| |
| |
| Parameter Passing Conventions | |
| |
| |
| Inline Assembly Code | |
| |
| |
| Linking Assembly Language Modules to C and C++ Programs | |
| |
| |
| |
| 16-Bit MS-DOS Programming | |
| |
| |
| Calling MS-DOS Interrupts for Console and File Input-Output | |
| |
| |
| |
| Disk Fundamentals | |
| |
| |
| Disk Storage Systems | |
| |
| |
| Sectors | |
| |
| |
| Clusters | |
| |
| |
| Directories | |
| |
| |
| File Allocation Tables | |
| |
| |
| Handling MS-DOS Error Codes | |
| |
| |
| Drive and Directory Manipulation | |
| |
| |
| |
| BIOS-Level Programming | |
| |
| |
| Keyboard Input | |
| |
| |
| Video Text, Graphics, and Mouse Programming | |
| |
| |
| |
| Expert MS-DOS Programming | |
| |
| |
| Custom-Designed Segments | |
| |
| |
| Runtime Program Structure | |
| |
| |
| Interrupt Handling | |
| |
| |
| Hardware Control Using I/O Ports | |
| |
| |
| |
| Floating Point Programming and IA-32 Instruction Encoding | |
| |
| |
| Floating-point Binary Representation and Floating-Point Arithmetic | |
| |
| |
| Learning to Program the IA-32 Floating-Point Unit | |
| |
| |
| Understanding the Encoding of IA-32 Machine Instructions | |
| |
| |
| |
| Installing and Using the Assembler | |
| |
| |
| |
| The IA-32 Instruction Set | |
| |
| |
| |
| BIOS and MS-DOS Interrupts | |
| |
| |
| |
| MASM Reference | |
| |
| |
| |
| Answers to Review Questions | |