Home > Store

IBM PC Assembly Language and Programming, 5th Edition

Register your product to gain access to bonus material or receive a coupon.

IBM PC Assembly Language and Programming, 5th Edition

  • By
  • Published Aug 22, 2000 by Pearson.

Book

  • Sorry, this book is no longer in print.
Not for Sale

About

Features

  • NEW - More features of the Intel Pentium Processor.
    • Students learn more about current technology. Ex.___

  • NEW - Additional program examples and exercises.
    • Students get more exposure to programming techniques and more practice in their use. Ex.___

  • NEW - Earlier introduction to interrupt operations.
    • Introduces students to this frequently used feature, which is also a useful interface to BIOS, the input/output system covered in detail in Chapter 24. Ex.___

  • NEW - Additional material on protected mode, passing parameters, the use of the stack, addressing modes, video systems and INT 10H functions, array handling, subprograms and ports.
    • Helps students learn important hardware and software programming techniques. Ex.___

  • Step-by-step introduction to Intel microprocessors, machine language, and assembly language.
    • Facilitates learning and helps students to start programming early. Ex.___

  • Tracing execution of elementary programming in machine language.
    • Helps students view the contents of registers and memory during execution. Ex.___

  • Hands-on approach through the text.
    • Helps students with sample exercises and programs. Ex.___

  • DEBUG used in early examples.
    • Illustrates machine execution and contents of memory and registers. Ex.___

  • Many short examples and full program examples provided.
    • Illustrates the use of instructions and programming techniques. Ex.___

Description

  • Copyright 2001
  • Edition: 5th
  • Book
  • ISBN-10: 0-13-030655-X
  • ISBN-13: 978-0-13-030655-5

In the fifth edition of his successful text, IBM® PC Assembly Language and Programming, Peter Abel thoroughly covers a full range of programming levels. This revised edition is designed to assist the reader in learning assembly language programming. It introduces the simpler elements of the hardware and the language, and provides technical details and instruction as needed.

IBM® PC Assembly Language and Programming

Features

  • The hardware components of the PC;
  • Machine language code and hexadecimal format;
  • The steps involved with assembling, linking, and executing programs;
  • Writing programs in assembly language to handle the keyboard, screen and mouse, convert between data formats, perform table searches and sorts, handle disk operations, and more.
  • Tracing machine execution as an aid in program debugging;
  • Writing macro instructions to facilitate faster coding;
  • Linking separately assembled programs into one executable program.

The fifth edition offers a variety of new material, including more details on video components and video operations, revised and additional program examples, more information about protected mode, stack usage, addressing modes, as well as array handling.

Sample Content

Table of Contents

(NOTE: All chapters except 24, 25, and 26 begin with an Introduction and conclude with Key Points and Review Questions and Exercises.)

I. FUNDAMENTALS OF PC HARDWARE AND SOFTWARE.

1. Basic Features of PC Hardware.

Bits and Bytes. The Binary Number System. Hexadecimal Representation. ASCII Code. PC Components. Internal Memory. Segments and Addressing. Registers. Hardware Interrupts.

2. Instruction Addressing and Execution.

Features of an Operating System. The BIOS Boot Process. The System Program Loader. The Stack. Instruction Execution and Addressing. Instruction Operands. Protected Mode.

3. Examining Computer Memory and Executing Instructions.

Using the DEBUG Program. Viewing Memory Locations. Machine Language Example I: Using Immediate Data. Machine Language Example II: Using Defined Data. An Assembly Language Program. Using the INT Instruction. Using the PTR Operator.

II. FUNDAMENTALS OF ASSEMBLY LANGUAGE.

4. Requirements for Coding in Assembly Language.

Assembly Language Features. Conventional Segment Directives. Simplified Segment Directives. Initializing for Protected Mode. Defining Types of Data. Equate Directives.

5. Assembling, Linking, and Executing Programs.

Preparing a Program for Assembling and Execution. Two-Pass Assembler. Linking an Object Program. Executing a Program. The Cross-Reference Listing. Error Diagnostics. The Assembler Location Counter. Writing .COM Programs.

6. Symbolic Instructions and Addressing.

The Symbolic Instruction Set—An Overview. Data Transfer Instructions. Basic Arithmetic Instructions. Repetitive Move Operations. The INT Instruction. Addressing Modes. The Segment Override Prefix. Near and Far Addresses. Aligning Data Addresses.

7. Program Logic and Control.

Short, Near, and Far Addresses. The JMP Instruction. The LOOP Instruction. The Flags Register. The CMP Instruction. Conditional Jump Instructions. Calling Procedures. The Effect of Program Execution on the Stack. Boolean Operations. Shifting Bits. Rotating Bits. Organizing a Program.

III. VIDEO AND KEYBOARD OPERATIONS.

8. Introduction to Video and Keyboard Processing.

Screen Features. Setting the Cursor. Clearing the Screen. INT 21H Function 09H for Screen Display. INT 21H Function 0AH for Keyboard Input. INT 21H Function 02H for Screen Display. File Handles. INT 21H Function 40H for Screen Display. INT 21H Function 3FH for Keyboard Input.

9. Video Systems.

Components of a Video System. Video Modes. Attributes. BIOS INT 10H Operations. Using Graphics Mode. Direct Video Display. ASCII Characters for Boxes and Menus.

10. Keyboard Operations.

BIOS Keyboard Data Areas. INT 21H for Keyboard Input. INT 16H for Keyboard Input. Extended Function Keys and Scan Codes. BIOS INT 09H and the Keyboard Buffer.

IV. DATA MANIPULATION.

11. Processing String Data.

Features of String Operations. MOVS: Move String Instruction. LODS: Load String Instruction. STOS: Store String Instruction. Program: Using LODS and STOS to Edit Data. CMPS: Compare String Instruction. SCAS: Scan String Instruction. Alternative Coding for String Instructions. Replicating a Pattern.

12. Arithmetic I: Processing Binary Data.

Processing Unsigned and Signed Binary Data. Addition and Subtraction of Binary Data. Multiplying Binary Data. Dividing Binary Data. The Numeric Data Processor.

13. Arithmetic II: Processing ASCII and BCD Data.

Data in Decimal Format. Processing ASCII Data. Processing Packed BCD Data. Converting ASCII Data to Binary Format. Converting Binary Data to ASCII Format. Shifting and Rounding a Product.

14. Defining and Processing Tables.

Defining Tables. Direct Addressing of Table Entries. Searching a Table. The XLAT (Translate) Instruction. Sorting Table Entries. Address Tables. Two-Dimensional Arrays.

V. ADVANCED INPUT/OUTPUT.

15. Facilities for Using the Mouse.

Basic Mouse Operations. Program: Displaying the Mouse Location. More Advanced Mouse Operations. Program: Using the Mouse with a Menu.

16. Disk Storage I: Organization.

Characteristics of a Disk Storage Device. The Disk System Areas and Data Area. The Boot Record. The Directory. The File Allocation Table. Processing Files on Disk.

17. Disk Storage II: Writing and Reading Files.

ACSIIZ Strings. File Handles. Error Return Codes. File Pointers. Creating Disk Files. Reading Disk Files. Random Processing.

18. Disk Storage III: INT 21H Functions for Support Disks and Files.

Operations Handling Disk Drives. Operations Handling the Directory and the FAT. Operations Handling Disk Files.

19. Disk Storage IV: INT 13H Disk Functions.

BIOS Status Byte. Basic INT 13H Disk Operations. Other INT 13H Disk Operations.

20. Facilities for Printing.

Common Printer Control Characters. INT 21H Function 40H: Print Characters. Special Printer Control Characters. BIOS INT 17H Functions for Printing.

VI. SPECIAL TOPICS.

21. Defining and Using Macros.

Simple Macro Definitions. Using Parameters in Macros. Using Comments in Macros. Nested Macros. Macro Directives.

22. Linking to Subprograms.

The SEGMENT Directive. Intrasegment Calls. Intersegment Calls. The EXTRN and PUBLIC Attributes. Using EXTRN and PUBLIC for an Entry Point. Defining the Code Segment as PUBLIC. Using Simplified Segment Directives. Passing Parameters to a Subprogram. The ENTER and LEAVE Instructions. Linking a C/C++ Program with an Assembly Language Program.

23. Program Loading and Overlays.

The Program Segment Prefix. The High-Memory Area. Memory Allocation Strategy. The Program Loader. Allocating and Freeing Memory. Loading or Executing a Program Function. Program Overlays. Resident Programs.

VII. REFERENCE CHAPTERS.

24. BIOS Data Areas, Interrupts, and Ports.

The Boot Process. The BIOS Data Area. Interrupt Services. BIOS Interrupts. INT 21H Services. Ports. String Input/Output. Generating Sound.

25. Operators and Directives.

Type Specifiers. Operators. Directives.

26. The PC Instruction Set.

Register Notation. The Addressing Mode Byte. The Instruction Set.

Appendix A: Conversion between Hexadecimal and Decimal Numbers.
Appendix B: ASCII Character Codes.
Appendix C: The DEBUG Program.
Appendix D: Reserved Words.
Appendix E: Assembling and Linking Programs.
Appendix F: Keyboard Scan Codes and ASCII Codes.
Index.

Updates

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.