IBM PC汇编语言与程序设计(第4版 英文版)

IBM PC汇编语言与程序设计(第4版 英文版)
作 者: Peter Abel
出版社: 清华大学出版社
丛编项: 大学计算机教育丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《IBM PC汇编语言与程序设计(第4版 英文版)》作者简介

内容简介

内容简介本书目的是帮助读者学习用汇编语言进行程序设计,首先简明地介绍硬件和软件,然后介绍编程所必需的指令,特别重视用例清晰。第4版与前几版相比:加强对Intel80486及其后继机型的介绍,有更多的实例和练习,而且较早地引入了中断操作,介绍了最新的汇编程序版本,对全书作了大面积调整和修订,每章后的问题经过修订和增补。全书分7部分:PC机硬、软件基础;汇编语言基础;屏幕操作与键盘操作;数据处理;先进的输入/输出;高级程序设计;有关BIOS数据区程序中断,伪操作,指令系统的参考资料;书后附有每章后部分问题的答案。

图书目录

PREFACE

Part A Fundamentals of PC Hardware and Software

1 BASIC FEATURES OF PC HASDWARE

Introduction

Bits and Bytes

Binary Numbers

Hexadecimal Representation

ASCII Code

The Processor

Internal Memory

Segments and Addressing

Registers

Key Points

Questions

2 REQUIREMENTS FOR USING PC SOFTWARE

Introduction

Features of the Operating System

The Boot Process

Input-Output Interface

The System Program Loader

The Stack

Addressing of Instructions and Data

Instruction Operands

Key Points

Questions

3 EXECUTING COMPUTER INSTRUCTIONS

Introduction

Using the DEBUG Program

Viewing Memory Locations

Machine Language Example 1: Immediate Data

Machine Language Example 11: Defined Data

An Assembly Language Example

Using the INT Instruction

Saving a Program from Within DEBUG

Using the PTR Operator

Key Points

Questions

Part B Fundamentals of Assembly Language

4 REQUIREMENTS FOR CODING IN ASSEMBLY LANGUAGE

Introduction

Assemblers and Compilers

Progiam Comments

Reserved Words

Identifiers

Statements

Directives

Instructions for Initializing a Program

Instructions for Ending Program Execution

Example of a Source Program

Initializing for Protected Mode

Simplified Segment Directives

Data Definition

Directives for Defining Data

The EQU Directive

Key Points

Questions

5 ASSEMBLING, LINKING AND EXECUTING A PROGRAM

Introduction

Preparing a Program for Execution

Assembling a Source Program

Using Conventional Segment Definitions

Using Simplified Segment Directives

Two-Pass Assembler

Linking an Object Program

Executing a Program

Cross-Reference Listing

Error Diagnostics

The Assembler Location Counter

Key Points

Questions

6 SYMBOLIC INSTRUCTIONS AND ADDRESSING

Introduction

The Symbolic Instruction Set

Instruction Operands

The MOV Instruction

Move-and-Fill Instmctions

Immediate Operands

The XCHG Instruction

The LEA Instruction

The INC and DEC Instmctions

Extended Move Operations

The INT Instruction

Aligning Data Addresses

Near and Far Addresses

The Segment Override Prefix

Key Points

Questions

7 WRITING .COM PROGRAMS

Introduction

Differences Between an .EXE and a .COM Program

Converting into .COM Format

Example of a .COM Program

The .COM Stack

Debugging Tips

Key Points

Questions

8 PROCRAMMING REQUIREAIENTS FOR LOGIC AND CONTROL

Introduction

Short, Near, and Far Addresses

Instruction Labels

The JMP Instruction

The LOOP Instruction

The Flags Register

The CMP Instruction

Conditional Jump Instructions

Calling Procedures

Effect of Program Execution on the Stack

Boolean Operations

Program: Changing Uppercase to Lowercase

Shifting Bits

Rotating Bits

Jump Tables

Organizing a Program

Key Points

Questions

Part C Screen and Keyboard Operations

9 INTRODUCTION TO SCREEN AND KEYBOARD PROCESSING

Introduction

The Screen

Setting the Cursor

Clearing the Screen

INT 21H Function 09H for Screen Display

INT 21H Function OAH for Keyboard Input

Program: Accepting and Displaying Names

Using Control Characters in a Screen Display

INT 2IH Function 02H for Screen Display

File Handles

INT 2IH Function 40H for Screen Display

INT 2IH Function 3FH for Keyboard Input

Key Points

Questions

10 ADVANCED FEATURES OF SCREEN PROCESSINC

Introduction

Video Adapters

Setting the Video Mode

Using Text Mode

Screen Pages

Using INT IOH for Text Mode

Program: Displaying the ASCII Character Set

ASCII Characters for Boxes and Menus

Program: Blinking, Reverse Viden and Scrolling

Direct Video Display

Using Graphics Mode

INT IOH for Graphics

Program: Setting and Displaying Graphics Mode

Determining the Type of Video Adapter

Key Points

Questions

11 ADVANCED FEATURES OF KEYBOARD PROCESSING

Introduction

The Keyboard

Keyboard Shift Status

The Keyboard Buffer

Using INT 2IH for Keyboard Input

Using INT 16H for Keyboard Input

Extended Function Keys and Scan Codes

Program: Selecting from a Menu

BIOS INT 09H and the Keyboard Buffer

Keying in the Full ASCII Character Set

Key Points

Questions

Part D Data Manipulation

12 PROCESSING STRING DATA

Introduction

Features of String Operations

REP: Repeat String Prefix

MOVS: Move String Instruction

LODS: Load String Instruction

STOS: Store String Instruction

Program: Using LODS and STOS to Transfer Data

CMPS: Compare String Instruction

SCAS: Scan String Instruction

Example: Using Scan and Replace

Alternative Coding for String Instructions

Duplicating a Pattern

Program: Right Adjusting a screen Display

Key Points

Questions

13 ARITHMETIC: I-PROCESSING BINARY DATA

Introduction

Processing Unsigncd and Signed Data

Addition and Subtraction

Extending Values in a Register

Performing Arithmetic on Doubleword Values

Multiplication

Performing Doubleword Multiplication

Special Multiplication Instructions

Multiplication by Shifting

Division

Division by Shifting

Reversing the Sign

The Numeric Data Processo

Key Points

Questions

14 ARITHMETIC: II-PROCESSING ASCII AND

BCD DATA

Introduction

Data in Decimal Format

Processing ASCII Data

Processing Unpacked BCD Data

Processing Packed BCD Data

Converting ASCII Data to Binary Format

Converting Binary Data to ASCII Format

Shifting and Rounding a Product

Program: Converting ASCII Data

Key Points

Questions

15 DEFINING AND PROCESSING TABLES

Introduction

Defining Tables

Direct Addressing of Table Entries :

Searching a Table

The XLAT (Translate) Instruction

Program: Displaying Hex and ASCII Characters

Sorting Table Entries

Linked Lists

The TYPE, LENGTH and SIZE Operators

Key Points

Questions

Part E Advanced Input/Output

16 DISK STORAGE 1: ORGANIZATION

Introduction

Disk Characteristics

The Disk System Area and Data Area

The Boot Record

The Directory

The File Allocation Table

Exercise: Examining the FAT

Processing Files on Disk

Key Points

Questions

17 DISK STORAGE 11: WRITING AND READING

fILES

Introduction

ASCIIZ Strings

File Handles

Error Return Codes

File Pointers

Using File Handles to Create Disk Files

Using File Handles to Read Disk Files

Using File Handles for Random Processing

Program: Processing an ASCII File

Absolute Disk 1/0

Disk Services Using File Control Blocks

Key Points

Questions

18 DISK STORAGE III: INT 21H FUNCTIONS FOR SUPPORTING

DISKS AND PILES

Introduction

Operations Handling Disk Drives

Program: Reading Data from Sectors

Operations Handling the Directory and the FAT

Program: Displaying the Directory

Operations Handling Disk Files

Program: Selectively Deleting Files

Key Points

Questions

19 DISK STORAGE IV: INT 13H DISK FUNCTIONS

Introduction

BIOS Status Byte

Basic INT I3H Disk Operations

Program: Using INT I3H to Read Sectors

Other INT I3H Disk Operations

Key Points

Questions

20 FACILITIES FOR PRINTING

Introduction

Common Printcr Control Charactcrs

INT 2IH Function 401-1: Print Charaeters

Program: Printing With Page Overflow and Headings

Program: Printing ASCII Files and Handling Tabs

INT IIH Function 05 H: Print Character

Special Printer Control Characters

INT 17H Functions for Printing

Key Points

Questions

21 OTHER INPUT/OUTPUT FACILITIES

Introduction

Mouse Features

Mouse Funetions

Common INT 33H Operations

Program: Using the Mouse

Ports

String Input/Output

Generating Sound

Key Points

Questions

Part F Advanced Programming

22 DEFINING AND USING MACROS

Introduction

Two Simple Macro Definitions

Using Parameters in Macros

Macro Comments

Using a Macro Within a Macro Definition

The LOCAL Directive

Including Macros from a Library

Concatenation

Repetition Directives

Conditional Directives

Key Points

Questions

23 LINKING TO SUBPROGRAMS

Introduction

The SEGMENT Directive

Intrasegment Calls

Intersegment Calls

The EXTRN and FUBLIC Attributes

Using EXTRN and PUBLIC for an Entry Point

Defining the Code Segment as PUBLIC

Using Simplified Segment Directives

Defining Common Data as PUBLIC

Defining Data in Both Programs

Passing Parameters to a Subprogram

Linking Pascal with an Assembly Language Program

Linking C with an Assembly Language Program

Key Points

Questions

24 MEMORY MANAGEMENT

Introduction

The Main DOS Programs

The High-Memory Area

The Program Segment Prefix

Memory Blocks

Memory Allocation Strategy

The Program Loader

Allocating and Freeing Memory

Loading or Executing a Program Function

Program Overlays

Resident Programs

Key Points

Questions

Part G Reference Chapters

25 BIOS DATA AREAS AND PROGRAM INTESSUPTS

Introduction

The Boot Process

The BIOS Data Area

Interrupt Services

BIOS Interrupts

BIOS:DOS Interface

DOS Interrupts

INT 2IH Services

Key Points

Questions

26 OPERATORS AND DIRECTIVES

Introduction

Type Specifiers

Operators

Directives

27 THE PC INSTRUCTION SET

Introduction

Register Notation

The Addressing Mode Byte

Two-Byte Instructions

Three-Byte Instructions

Four-Byte Instructions

Instruction Set

APPENDIXES

A Conversion Between Hexadecimal and Decimal Numbers

B ASCII Character Codes

C Reserved Words

D Assembler and Link Options

E The DEBUG Program

F Keyboard Scan Codes and ASCII Codes

ANSWERS TO SELECTED QUESTIONS

INDEX