There are three main reasons for writing this book. While several assembly language books are on the market, almost all of them cover only the 8086 processor-a 16-bit processor Intel introduced in 1979. A modem computer organization or assembly language course requires treatment of a more recent processor like the Pentium, which is a 32-bit processor in the Intel family. This is one of the main motivations for writing this book. There are two other equally valid reasons. The book approaches assembly language programming from the high-level language viewpoint. As a result, it focuses on the assembly language features that are required to efficiently implement high-level language constructs. Performance is another reason why people program in assembly language. This is particularly true with real-time application programming. Our treatment of assembly language programming is oriented toward performance optimiza tion. Every chapter ends with a performance section that discusses the impact of specific sets of assembly language statements on the performance of the whole program. Put another way, this book focuses on performance-oriented assembly language programming. Intended Use This book is intended as an introduction to assembly language programming using the Intel 80X86 family of processors. We have selected the assembly language of the Intel 80X86 processors (including the Pentium processor) be cause of the widespread availability of PCs and assemblers. Both Microsoft and Borland provide assemblers for the PCs.
Author(s): Sivarama P. Dandamudi
Series: Undergraduate Texts in Computer Science
Edition: 1
Publisher: Springer
Year: 2013
Language: English
Commentary: Publisher PDF | Published: July 1998
Pages: xxii, 644
City: New York, NY
Tags: Assembly; Assembly Language Programming; x86 Assembly; 80x86 Assembly; Intel; CISC; Debugging; Interface; Processing; Computer; Performance; Programming
Front Matter
Pages 1-1
Introduction
Pages 3-20
Basic Computer Organization
Pages 21-57
Overview of Assembly Language
Pages 59-114
Basic Topics
Front Matter
Pages 115-115
Procedures and the Stack
Pages 117-171
Addressing Modes
Pages 173-206
Arithmetic Flags and Instructions
Pages 207-255
Selection and Iteration
Pages 257-297
Logical and Bit Operations
Pages 299-340
Advanced Topics
Front Matter
Pages 341-341
String Processing
Pages 343-376
Macros and Conditional Assembly
Pages 377-416
ASCII and BCD Arithmetic
Pages 417-438
Interrupts and Input/Output
Pages 439-487
High-Level Language Interface
Pages 489-515
Back Matter
Pages 517-644