Springer, 2005. — 689 p.
The objective of this book is to introduce assembly language programming. Assembly language is very closely linked to the underlying processor architecture and design. Popular processor designs can be broadly divided into two categories: Complex Instruction Set Computers (CISC) and Reduced Instruction Set Computers (RISC). The dominant processor in the PC market, Pentium, belongs to the CISC category. However, the recent design trend is to use the RISC designs. Some example RISC processors include the MIPS, SPARC, PowerPC, and ARM. Even Intel’s 64-bit processor Itanium is a RISC processor. Thus, both types of processors are important candidates for our study.
This book covers assembly language programming of both CISC and RISC processors. We use the Intel Pentium processor as the representative of the CISC category. We have selected the Pentium processor because of its market dominance. To explore RISC assembly language, we selected the MIPS processor. The MIPS processor is appealing as it closely adheres to the RISC principles. Furthermore, the availability of the SPIM simulator allows us to use a Pentium-based PC to learn MIPS assembly language.
OverviewBasic Computer Organization
Pentium Assembly LanguageThe Pentium Processor
Overview of Assembly Language
Procedures and the Stack
Addressing Modes
Arithmetic Flags and Instructions
Selection and Iteration
Logical and Bit Operations
String Processing
ASCII and BCD Arithmetic
MIPS Assembly LanguageMIPS Processor
MIPS Assembly Language
Pentium Interrupt ProcessingProtected-Mode Interrupt Processing
Real-Mode Interrupts
Advanced TopicsRecursion
High-Level Language Interface
Floating-Point Operations
A Internal Data Representation
B Assembling and Linking
C Debugging Assembly Language Programs
D SPIM Simulator and Debugger
E IA-32 Instruction Set
F MIPS/SPIM Instruction Set
G ASCII Character Set