Introduction to Assembly Language Programming

From 8086 to Pentium

Now available: Author's new book

Fundamentals of Computer Organization and Design

Free MASM (Microsoft Assembler)

The book approaches assembly language programming from the high-level language viewpoint. It focuses on the assembly language features that are required to efficiently implement high-level language constructs. Unlike other books on the subject, it explains the rationale for the features available in assembly language. Since performance is one of the main reasons for programming in assembly language, almost all chapters end in a discussion of performance implications of the material covered in the chapter. More succinctly, this book is about performance-oriented assembly language programming.

The reader is assumed to be familiar with a high-level language such as C (only the basics are needed). But you don't need to know material on computer organization. All required material is introduced in the book. Since the goal is to introduce programming in assembly language, which is not easy to learn, plenty of examples are used to teach the concepts. Source code for all the examples in the text is available from this web site for hands-on learning experience. With the free Microsoft assembler (MASM), you can start experimenting immediately!

More Details

See Preface and Table of Contents PDF files for more details.

If you want even more detailed information about the contents of each chapter, take a look at the slides.

See below for Teaching support available for the book.


The book is available from,, and Barnes and Noble.

You can also order directly from the publisher.

Source Code

You can get the source code for the all the examples and the I/O routines (IO.OBJ and IO.MAC) in a single ZIP file.

Teaching Support

Chapter-wise slides are available for instructors (one slide per page) and students (two slides per page) in PDF format. For each chapter that has programming examples, program code slides are also available in a separate PDF file for both instructors and students.


Here is a list (PDF file) of a small number of minor errors in the first two printings of the book.

Errors have been corrected in the Third printing (2000).