
Because Knetbooks knows college students. Our rental program is designed to save you time and money. Whether you need a textbook for a semester, quarter or even a summer session, we have an option for you. Simply select a rental period, enter your information and your book will be on its way!
An ideal quick-reference for people who need to brush up on their PC Assembler programming skills, and a quality tutorial for those who already program in C, this complete and fully updated study of assembly language for the IBM-PC covers the basics of operating systems and architecture in the context of a microprocessor. Based on the intel 80 x 86 processor family, it concentrates on the MS-DOS operating system, and provides literally hundreds of short examples that show how assembly language may be applied to useful problems.
| Introduction | p. 1 |
| Introducing Assembly Language | p. 1 |
| Data Representation | p. 4 |
| Assembly Language: An Introduction | p. 10 |
| Basic Elements of Assembly Language | p. 15 |
| Sample HELLO Program | p. 19 |
| Hardware and Software Architecture | p. 22 |
| Components of a Microcomputer | p. 22 |
| System Architecture | p. 26 |
| System Software and... MORE | p. 35 |
| Assembly Language Fundamentals | p. 46 |
| Data Definition Directives | p. 46 |
| Data Transfer Instructions | p. 52 |
| Arithmetic Instructions | p. 56 |
| Addressing Modes | p. 60 |
| Program Structure | p. 66 |
| The Macro Assembler | p. 76 |
| The Assembly Process | p. 76 |
| Related Files | p. 80 |
| Equates | p. 83 |
| Operators and Expressions | p. 85 |
| Transfer-of-Control Instructions | p. 91 |
| Using the 80386 Processor | p. 95 |
| Debugging Workshop | p. 96 |
| Input-Output Services | p. 106 |
| Procedures | p. 107 |
| Software Interrupts | p. 111 |
| DOS Function Calls | p. 116 |
| BIOS-Level Video Control (INT 10h) | p. 123 |
| Conditional Processing | p. 141 |
| Boolean and Comparison Instructions | p. 141 |
| Conditional Jumps | p. 148 |
| Conditional Loops | p. 157 |
| High-Level Logic Structures | p. 159 |
| Arithmetic | p. 172 |
| Shift and Rotate Instructions | p. 173 |
| Sample Applications | p. 179 |
| Multiple Addition and Subtraction | p. 183 |
| Signed Arithmetic | p. 186 |
| Multiplication and Division | p. 187 |
| ASCII Arithmetic | p. 191 |
| Packed Decimal Arithmetic | p. 197 |
| Numeric Conversions and Libraries | p. 208 |
| Character Translation Using XLAT | p. 209 |
| Binary to ASCII Conversion | p. 213 |
| ASCII to Binary Conversion | p. 218 |
| Separately Assembled Modules | p. 222 |
| Creating External Subroutines | p. 226 |
| Stack Parameters | p. 238 |
| String Processing | p. 251 |
| String Storage Methods | p. 252 |
| String Primitive Instructions | p. 253 |
| A Library of String Routines | p. 263 |
| Creating a Link Library | p. 272 |
| Application: String Library Demo Program | p. 275 |
| Macros and Structures | p. 285 |
| Introduction | p. 285 |
| Special Techniques | p. 292 |
| Macro Operators | p. 297 |
| A Macro Library | p. 299 |
| Advanced MACRO Usage | p. 303 |
| Advanced Operators and Directives | p. 313 |
| Disk Storage | p. 327 |
| Disk Storage Fundamentals | p. 328 |
| Application: Sector Display Program | p. 337 |
| Application: Cluster Display Program | p. 340 |
| System-Level File Functions | p. 345 |
| Reading the DOS Command Tail | p. 350 |
| Drive and Directory Manipulation | p. 352 |
| File Manipulation | p. 357 |
| Application: Display Filenames and Dates | p. 363 |
| File Processing | p. 373 |
| Standard DOS File Functions | p. 374 |
| Application: Create a Text File | p. 379 |
| Application: List a Text File | p. 383 |
| Application: Display a Student Information File | p. 388 |
| Random File Access | p. 395 |
| Indexing the Student Information File | p. 398 |
| High-Level Linking | p. 412 |
| General Conventions | p. 412 |
| Linking to Turbo Pascal | p. 414 |
| Turbo Built-In Assembler (BASM) | p. 426 |
| Inline Statements and Directives | p. 429 |
| Linking to Turbo C | p. 431 |
| Advanced Topics I | p. 444 |
| Completing the Instruction Set | p. 444 |
| Defining Segments | p. 454 |
| Running Programs Under DOS | p. 465 |
| Advanced Topics II | p. 477 |
| System Hardware | p. 477 |
| Instruction Encoding | p. 485 |
| Dynamic Memory Allocation | p. 490 |
| Interrupt Handling | p. 493 |
| Defining Real Numbers | p. 503 |
| Intel 80x87 Math Coprocessor | p. 505 |
| App. A. Binary and Hexadecimal Tutorial | p. 519 |
| App. B. Using DEBUG | p. 533 |
| App. C. Microsoft CodeView | p. 547 |
| App. D. Borland Turbo Debugger | p. 555 |
| App. E. Guide to the Companion Diskette | p. 562 |
| App. F. MASM/TASM Reserved Words | p. 566 |
| App. G. BIOS and DOS Interrupts | p. 569 |
| App. H. Intel 8086/8088 Instruction Set | p. 579 |
| Index | p. 617 |
| Table of Contents provided by Blackwell. All Rights Reserved. |