Always Learning

Assembly Language for Intel-Based Computers, 4/E
Kip R IrvineFlorida International University

ISBN-10: 0130910139
ISBN-13:  9780130910134

Publisher:  Prentice Hall
Copyright:  2003
Format:  Cloth; 708 pp
Published:  07/25/2002


Print this content

In this section:


Description

For undergraduate courses in assembly language programming and introductory courses in computer systems and computer architecture.

This complete and fully updated study of assembly language for the IBM-PC teaches students how to write and debug programs at the machine level. Based on the Intel processor family, the text simplifies and demystifies concepts that students need to grasp before they can go on to more advanced computer architecture or operating systems courses.


Features

  • NEW - More comprehensive—Improved organization of basic topics and logical explanation of data definitions.
    • Encourages students by explaining concepts completely and simply.

  • NEW - Flexibility—Offers optional chapter topics in the final 7 chapters.
    • Allows instructors to cover these chapters in varying order and depth.

  • NEW - 32-bit, Protected mode programming as the default model—Uses the native mode of the IA-32 processor family (Intel 386 and later).
    • Makes addressing easier to understand because students no longer must deal with memory segmentation issues. Makes it possible for students to create applications that take full advantage of 32-bit Intel processors, such as protected mode, flat memory addressing. Allows students to create Microsoft Windows applications.

  • NEW - Simplified link libraries—For both 32-bit and 16-bit programming.
    • Simplifies I/O Programming.

  • NEW - Flowcharts and illustrations.
    • Helps students to better understand complex concepts.

  • NEW - Test banks for each chapter—Prepared by the author.
    • Aids instructors in preparing exams.

  • NEW - Top-down program design demonstration and explanation.
    • Teaches students effective design techniques that apply to multiple programming courses. Gives students clear-cut methods for organizing nontrivial programs as assembly language is by nature unstructured. Assists students in forming visual images of program design and logic with flowcharts.

  • NEW - PowerPoint slide shows—Prepared by the author in the supplemental material.
    • Enables instructors to have prepared lectures; allows students to print out and study the slides as lecture notes.

  • NEW - Review exercises—At the end of every section.
    • Aids students in their comprehension skills.

  • NEW - Programming exercises.
    • Gives students first-hand experience in writing software.

  • Companion CD-ROM—Includes Microsoft Macro Assembler version 6.15 and TextPad shareware editor.
    • Allows students to install software on their home computers.

  • Instructor-maintained Website—With lists of errata, Frequently Asked Questions, new programs, and articles about special topics.
    • Enables students to reinforce their understanding of the material presented in the course.


New To This Edition

  • More comprehensive—Improved organization of basic topics and logical explanation of data definitions.
    • Encourages students by explaining concepts completely and simply.

  • Flexibility—Offers optional chapter topics in the final 7 chapters.
    • Allows instructors to cover these chapters in varying order and depth.

  • 32-bit, Protected mode programming as the default model—Uses the native mode of the IA-32 processor family (Intel 386 and later).
    • Makes addressing easier to understand because students no longer must deal with memory segmentation issues. Makes it possible for students to create applications that take full advantage of 32-bit Intel processors, such as protected mode, flat memory addressing. Allows students to create Microsoft Windows applications.

  • Simplified link libraries—For both 32-bit and 16-bit programming.
    • Simplifies I/O Programming.

  • Flowcharts and illustrations.
    • Helps students to better understand complex concepts.

  • Test banks for each chapter—Prepared by the author.
    • Aids instructors in preparing exams.

  • Top-down program design demonstration and explanation.
    • Teaches students effective design techniques that apply to multiple programming courses. Gives students clear-cut methods for organizing nontrivial programs as assembly language is by nature unstructured. Assists students in forming visual images of program design and logic with flowcharts.

  • PowerPoint slide shows—Prepared by the author in the supplemental material.
    • Enables instructors to have prepared lectures; allows students to print out and study the slides as lecture notes.

  • Review exercises—At the end of every section.
    • Aids students in their comprehension skills.

  • Programming exercises.
    • Gives students first-hand experience in writing software.


Table of Contents

(NOTE: Each chapter section ends with a review and each chapter includes a summary.)

1. Basic Concepts.

Welcome to Assembly Language. Virtual Machine Concept. Data Representation. Boolean Operations.



2. Machine Architecture.

General Concepts. IA-32 Processor Architecture. IA-32 Memory Management. Components of an IA-32 Microcomputer. Input-Output System.



3. Assembly Language Fundamentals.

Basic Elements of Assembly Language. Example: Adding Three Integers. Assembling, Linking, and Running Programs. Defining Data. Symbolic Constants. Real-Address Mode Programming.



4. Data Transfers, Addressing, and Arithmetic.

Data Transfer Instructions. Addition and Subtraction. Data-Related Operators and Directives. Indirect Addressing. JMP and LOOP Instructions.



5. Procedures.

Linking to an External Library. The Book's Link Library. Stack Operations. Defining and Using Procedures. Program Design Using Procedures.



6. Conditional Processing.

Boolean and Comparison Instructions. Conditional Jumps. Conditional Loop Instructions. Conditional Structures. Finite State Machines (Application). Using the .IF Directive.



7. Integer Arithmetic.

Shift and Rotate Instructions. Shift and Rotate Applications. Multiplication and Division Instructions. Extended Addition and Subtraction. ASCII and Packed Decimal Arithmetic (Optional).



8. Advanced Procedures.

Local Variables. Stack Parameters. Stack Frames. Recursion. Creating MultiModule Programs.



9. Strings and Arrays.

String Primitive Instructions. Selected String Routines. Two-Dimensional Arrays. Searching and Sorting Integer Arrays.



10. Structures and Macros.

Structures. Macros. Conditional-Assembly Directives. Defining Repeat Blocks.



11. 32-Bit Windows Programming.

Win32 Console Programming. Writing a Graphical Windows Application. IA-32 Memory Management.



12. High-Level Language Interface.

Introduction. Inline Assembly Code. Linking to C++ Programs.



13. 16-Bit MS-DOS Programming.

MS-DOS and the IBM-PC. MS-DOS Function Calls (INT 21h). Standard MS-DOS File I/O Services.



14. Disk Fundamentals.

Disk Storage Systems. File Systems. Disk Directory. Reading and Writing Disk Sectors. System-Level File Functions.



15. BIOS-Level Programming.

Introduction. BIOS-Level Keyboard Input (INT 16H). Video Programming with INT 10h. Drawing Graphics Using INT 10h. Direct Memory Mapped Graphics. Mouse Programming.



16. Expert MS-DOS Programming.

Introduction. Defining Segments. Runtime Program Structure. Interrupt Handling.



Appendix A: Installing and Using the Assembler.

Installing the book's CD-ROM. Assembling and Linking 32-Bit Protected Mode Programs. Assembling and Linking 16-bit Real-Address Mode Programs.



Appendix B: MASM Reference.

Microsoft Assembler (ML). LINK. CodeView Debugger. MASM Directives. Symbols. Operators. Run-Time Operations.



Appendix C: The Intel Instruction Set.


Appendix D: BIOS and MS-DOS Interrupts.

Overall Interrupt List. Interrupt 21H Functions. Interrupt 10H Functions. Keyboard BIOS INT 16h Functions.


Next Edition(s)

  • Assembly Language for x86 Processors, 6/E
    Irvine
    ©2011  |  Prentice Hall  |  Cloth; 768 pp  |  Instock
    ISBN-10: 013602212X  |  ISBN-13: 9780136022121
    Brief Description  |  More Info



Back to top

Print this content

In this section:


Author Bios

Kip Irvine has written four computer programming textbooks, for Intel Assembly Language, C++, Visual Basic, and COBOL. His Assembly Language for Intel-Based Computers has been translated to six languages, and has been a best seller since 1990. Kip grew up in Hawaii as a surfer, sailor, and surfboard maker. He studied classical guitar and music composition at University of Hawaii, eventually earning his music doctorate from the University of Miami. He began programming computers for music synthesis around 1982, and taught at Miami-Dade Community College. He has a Masters degree in Computer Science from the University of Miami, and is currently on the computer science faculty at Florida International University.


Backcover Copy

This text is designed for students and professionals interested in learning the basics of operating systems, architecture, and programming in the context of a microprocessor. In his eagerly anticipated fourth edition, Kip Irvine concentrates on the combined Windows/MS-DOS operating system and thoroughly covers 32-bit assembly language applications for Intel-based computers.

Focusing on how to approach programming problems with a machine-level mindset, Assembly Language for Intel(r)-Based Computers includes the following features:

  • Detailed tutorials on numbering systems and data storage fundamentals.
  • All programs tested with the Microsoft(r) MASM 6.15(tm) assembler.
  • Inline assembly code, as well as linking assembly language to C/C++ in both Real and Protected modes.
  • Extensive instruction set reference that includes instruction formats and CPU flag usage.
  • Interrupt vectoring and device I/O.
  • CD-ROM that includes the full professional version of the Microsoft(r) MASM 6.15(tm) Assembly Language Development System, a programmer's editor, a macro library, and the book's source code.

    New to the fourth edition:
  • Win32 programming, including the console API and a graphical application.
  • Expanded coverage of procedures, recursion, stack parameters, structures, and unions.
  • Boolean expressions, truth tables, and flowcharts.
  • Basic string handling, sorting and searching algorithms.
  • Bit-mapped graphics in both Real and Protected modes.
  • IEEE floating-point binary representation.
  • Virtual machine architecture; IA-32 Protected mode segmentation and paging.
  • Introductory explanations of the instruction execution cycle, memory I/O, multitasking, pipelining, and superscalar architecture.
  • Disk fundamentals, including disk geometry, FAT32 and NTFS file structures.

Back to top

Log in to the Instructor Resource Center

Login name: 

  Password: 

Forgot login/password?  |  Need to redeem an access code?

        

Instructor Resource Center File Download

This work is protected by local and international copyright laws and is provided solely for the use of instructors in teaching their courses and assessing student learning. Dissemination or sale of any part of this work (including on the World Wide Web) will destroy the integrity of the work and is not permitted. The work and materials from this site should never be made available to students except by instructors using the accompanying text in their classes. All recipients of this work are expected to abide by these restrictions and to honor the intended pedagogical purposes and the needs of other instructors who rely on these materials.

Cancel     I accept, proceed with download

Print this content

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.

Back to top