| |
| |
| |
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 | |