IBM PC Assembly Language and Programming

IBM PC Assembly Language and Programming

  • Paperback
By (author) 

List price: US$60.69

Currently unavailable

Add to wishlist

AbeBooks may have this title (opens in new window).

Try AbeBooks


Appropriate for undergraduate courses in Assembly Language Programming. Abel has designed the text to serve as both tutorial and reference, covering a full range of programming levels so as to learn assembly language programming. Coverage starts from scratch, discussing the simpler aspects of the hardware and the language, then introduces technical details and instructions as they are more

Product details

  • Paperback | 545 pages
  • 175 x 235 x 17mm | 785g
  • Pearson Education Limited
  • Prentice-Hall
  • Harlow, United Kingdom
  • 5th International edition
  • 0130319163
  • 9780130319166

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. more