Buy new:
-82% $17.59$17.59
$41.40 delivery October 15 - 30
Ships from: five star ten number Sold by: five star ten number
Save with Used - Good
$10.99$10.99
Delivery Wednesday, October 16
Ships from: Amazon Sold by: Jenson Books Inc
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Assembly Language for Intel-Based Computers (4th Edition) Subsequent Edition
Purchase options and add-ons
- ISBN-100130910139
- ISBN-13978-0130910134
- EditionSubsequent
- PublisherPrentice Hall
- Publication dateJanuary 1, 2002
- LanguageEnglish
- Dimensions7.5 x 1.25 x 9.5 inches
- Print length700 pages
Products related to this item
Editorial Reviews
Excerpt. © Reprinted by permission. All rights reserved.
Assembly Language for Intel-Based Computers, Fourth Edition is based on the Intel IA-32 Processor architecture, seen from a programmer's point of view. It is appropriate as a text in the following types of college courses for computer science majors:
- Assembly Language Programming
- Fundamentals of Computer Systems
- Fundamentals of Computer Architecture
Although this book was originally designed as a programming textbook for community college students, it has gradually developed into much more. Currently, many universities use the book for their introductory computer architecture courses. At Florida International University, for example, this book is used in a course named Fundamentals of Computer Systems, which leads to a more comprehensive course in Computer Architecture.
The present edition includes topics that lead naturally into subsequent courses in computer architecture, operating systems, and compiler writing:
- Virtual machine concept
- Elementary boolean operations
- Instruction execution cycle
- Memory access using clock cycles
- Interrupts and polling
- Multi-stage pipeline
- Superscalar architecture
- Multitasking
- Loading and executing programs
- Floating-point binary representation
Other topics relate specifically to Intel IA-32 architecture, using information gained from its manuals:
- IA-32 Protected Memory addressing and paging
- Memory segmentation in Real-address mode
- Interrupt handling
- Direct hardware I/O
- Instruction encoding
Certain examples presented in the book lend themselves to courses that occur later in a computer science curriculum:
- Searching and sorting algorithms
- High-level language structures
- Finite-state machines
- Code optimization examples
There are a number of new features in this edition that relate to programming:
- A more comprehensive and logical explanation of data definition.
- A more careful explanation of addressing modes.
- A simplified link library that requires fewer input parameters for nearly all procedures. There are new procedures to dump the CPU registers and sections of memory, as well as a delay timer.
- An explanation and demonstration of top-down program design.
- Use of flowcharts as code-generation tools.
- Even more thorough coverage of assembly language directives, macros, and operators. For example, the PROC, PROTO, and INVOKE directives are thoroughly explained and demonstrated.
- More complete coverage of structures, including nested structures and arrays of structures.
- Block-structured IF, WHILE, and REPEAT statements (an advanced feature of MASM).
- Introduction to video graphics, using both BIOS and direct-memory mapping techniques.
- Mouse programming.
- Win32 Console programming, using calls to the Kernel32 Windows library.
- More array manipulation examples.
Still a Programming Book. It is important to note that this book is still focused on its original mission: to teach students how to write and debug programs at the machine level. It will never replace a complete book on computer architecture, but it does give students the first-hand experience of writing software in an environment that teaches them how the computer really works. The value of this cannot be underestimated, because they will retain a great deal more theoretical knowledge by having immediate contact with the machine. In an engineering course, students construct prototypes; in a software course, students write programs. In both cases, they have a memorable experience that gives them the confidence to work in any OS/machine-oriented environment.
Real Mode and Protected Mode. Many professors have indicated a desire to move to 32-bit programming, using Intel's protected memory model. This edition primarily emphasizes 32-bit Protected mode, but it still has three chapters devoted exclusively to Real-mode programming. For example, there is an entire chapter on BIOS programming for the keyboard, video display (including graphics), and mouse. There is another chapter exclusively on MS-DOS programming using interrupt (function) calls. It is very beneficial for students to have some experience programming directly for firmware and hardware.
The examples in the first part of the book are nearly all presented as 32-bit text-oriented applications running in Protected mode using the flat memory model. This is extremely straightforward. No longer do students have to deal with segment-offset addressing. There are specially marked paragraphs and popup boxes that note the small differences between Protected mode and Real-mode programming. Most of the differences are hidden away in the book's two link libraries.
Link Libraries. There are two versions of the link library that students use for basic input-output in this book. The 32-bit version (Irvine32.lib) works in Win32 Console mode, under any version of MS-Windows. The 16-bit version (Irvinel6.lib) works under MS-DOS, MS-Windows, and a Linux DOS emulator. In later chapters, all the functions in these two libraries are exposed, and readers can modify the libraries as they wish. It is important to realize that the link libraries are there only for convenience, not to prevent students from learning how to program input-output themselves.
Included Software and Examples. All the example programs have been tested with the Microsoft Macro Assembler Version 6.15. For the most part, the programs will assemble with Borland TASM 4.0 and 5.0, but there are some features that Borland does not fully support.
Web Site Information. Updates and corrections to this book may be found at the book's Web site, including additional programming projects for professors to assign at the ends of chapters.
If for some reason you cannot access this site, information about the book and a link to its current Web site can be found by searching for the book title or for the full author name "Kip Irvine." The author's e-mail address is kip@nuvisionmiami.com
Overall Goals
Each of the following goals of this book is designed to broaden the student's interest and knowledge in topics related to assembly language:
- The Intel IA-32 processor architecture and programming
- Assembly language directives, macros, operators, and program structure
- Programming methodology, showing how to use assembly language to create both system-level software tools and application programs
- Computer hardware manipulation
- Interaction between assembly language programs, the operating system, and other application programs
One of my goals is to help students approach programming problems with a machine-level mind set. It is important to think of the CPU as an interactive tool, and to learn to monitor each of its actions as directly as possible. A debugger is a programmer's best friend, not only for catching errors, but as an educational tool that teaches about the CPU and operating system. I encourage students to look beneath the surface of high-level languages, and to realize that most programming languages are designed to be portable and, therefore, independent of their host machines.
In addition to the short examples, Assembly Language for Intel-Based Computers contains more than 115 ready-to-run programs that demonstrate instructions or ideas as they are presented in the text. Reference materials, such as guides to MS-DOS interrupts and instruction mnemonics, are available at the end of the book. There is a comprehensive link library that makes the user interface much more accessible for students writing their first programs. The macro library included with the book may also provide inspiration for further development by professors and students.
Required Background. The reader should already be able to program confidently in at least one other programming language, preferably Pascal, Java, C, or C++. One chapter goes into C++ interfacing in some depth, so it is very helpful to have a compiler on hand. I have used this book in the classroom with majors in both computer science and management information systems, and it has been used elsewhere in engineering courses. I used Microsoft Visual C++ 6.0 and Borland C++ 5.0 for the examples that deal with high-level language interfacing.
Features
Complete Program Listings. A companion CD-ROM contains all the source code from the examples in this book. Additional listings are available on the author's Web page. An extensive link library is supplied with the book, containing more than 30 procedures that simplify user input-output, numeric processing, disk and file handling, and string handling. In the beginning stages of the course, students can use this library to enhance their programs. Later, they can create their own procedures and add them to the library. Students are given the complete source code for the 16-bit and 32-bit link libraries.
Programming Logic. Two chapters emphasize boolean logic and bit-level manipulation. A conscious attempt is made to relate high-level programming logic to the low-level details of the machine. This helps students to create more efficient implementations and to better understand how language compilers generate object code.
Hardware and Operating System Concepts. The first two chapters introduce basic hardware and data representation concepts, including binary numbers, CPU architecture, status flags, and memory mapping. A survey of the computer's ha...
Product details
- Publisher : Prentice Hall; Subsequent edition (January 1, 2002)
- Language : English
- Hardcover : 700 pages
- ISBN-10 : 0130910139
- ISBN-13 : 978-0130910134
- Item Weight : 2.8 pounds
- Dimensions : 7.5 x 1.25 x 9.5 inches
- Best Sellers Rank: #1,715,141 in Books (See Top 100 in Books)
- #101 in Assembly Language Programming
- #1,321 in Computer Programming Languages
- #5,850 in Computer Software (Books)
- Customer Reviews:
About the author

Kip Irvine has written five computer programming textbooks, for Intel Assembly Language, C++, Visual Basic, and COBOL. Along with Tony Gaddis, he is co-author of two books on Visual Basic: Starting Out with Visual Basic 2010, and Advanced Visual Basic 2010. His Assembly Language for Intel-Based Computers has been translated into six languages. Kip grew up in Kailua, Hawaii as a surfer, sailor, and surfboard maker. He studied classical guitar and music composition at University of Hawaii, and earned a doctorate in music composition from the University of Miami in 1982. Around that time he began programming computers, and was a professor of Computer Information Systems at Miami-Dade College for 17 years. He also holds a MS in Computer Science from the University of Miami, and since 2000 has been on the faculty of the School of Computing and Information Sciences at Florida International University. He is also a programming team coach and a 4th Degree Black Belt in Taekwondo.
Related products with free delivery on eligible orders
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
While this text is fairly dry, the author gives excellent description and examples to help the reader understand the language. The author is successful at giving detail about the methods involved in coding at various coding language levels and performing the math necessary to succeed at this.
Also, Kip Irvine has very detailed web pages for all editions of this book. Very good tools are available via the CD and the web pages.
Overall, this book is a great tool for the student of assembly.
Linux users might find this book useful also, since high level C/C++/Java calls can still incorporate Assembly language functions. A great purchase for any would-be hackers or anyone wanting to control that mysterious hunk of silicon called a microprocessor.
If you start with the book by Jones good luck to you ! Stay away from Jones textbook !
gerardsagliocca,p.e.
gerard_sagliocca@yahoo.com
The 32bit protected mode was not in enough depth. There was little talk of GDT/LDT/IDT and call gates and no discussion of ringzero code.
If you've never coded any assembly then its a good book. Something else to look at would be Art of Assembly Language. It is now has its own version for 32bit. Search google.