Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000010339707 | QA76.8 I774 2007 | Open Access Book | Gift Book | Searching... |
On Order
Summary
Summary
Written for the Intel/Windows/DOS platform, this study of assembly language teaches students to write and debug programs at the machine level. It simplifies and demystifies concepts that students need to grasp before they can go on to more advanced computer architecture and operating systems courses.
Author Notes
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.
Table of Contents
1 Basic Concepts |
Applications of assembly language |
Basic concepts |
Machine language |
Data representation |
2 IA-32 Processor Architecture |
Basic microcomputer design |
Instruction execution cycle |
IA-32 processor architecture |
IA-32 memory management |
Components of a microcomputer |
The input-output system |
3 Assembly Language Fundamentals |
Introduction to assembly language |
Linking and debugging |
Defining constants and variables |
4 Data Transfers, Addressing, and Arithmetic |
Simple data transfer and arithmetic instructions |
Assemble-link-execute cycle |
Operators |
Directives |
Expressions |
JMP and LOOP instructions |
Indirect addressing |
5 Procedures |
Linking to an external library |
Description of the book's link library |
Stack operations |
Defining and using procedures |
Flowcharts |
Top-down structured design |
6 Conditional Processing |
Boolean and comparison instructions |
Conditional jumps and loops |
High-level logic structures |
Finite state machines |
7 Integer Arithmetic |
Shift and rotate instructions with useful applications |
Multiplication and division |
Extended addition and subtraction |
ASCII and packed decimal arithmetic |
8 Advanced Procedures |
Stack Parameters |
Local Variables |
Advanced PROC and INVOKE Directives |
Recursion |
9 Strings and Arrays |
String Primitives |
Manipulated Arrays of Characters and Integers |
Two-dimensional arrays |
Sorting |
Searching |
10 Structures and Macros |
Structures |
Macros |
Conditional Assembly Directives |
Defining Repeat Blocks |
11 MS-Windows Programming |
Protected Mode Memory Management Concepts. Using the Microsoft(r) Windows API to Display Text and Colors |
Dynamic Memory Allocation |
12 High-Level Language Interface |
Parameter Passing Conventions |
Inline Assembly Code |
Linking Assembly Language Modules to C and C++ Programs |
13 16-Bit MS-DOS Programming |
Calling MS-DOS Interrupts for Console and File Input-Output |
14 Disk Fundamentals |
Disk Storage Systems |
Sectors |
Clusters |
Directories |
File Allocation Tables |
Handling MS-DOS Error Codes |
Drive and Directory Manipulation |
15 BIOS-Level Programming |
Keyboard Input |
Video Text, Graphics, and Mouse Programming |
16 Expert MS-DOS Programming |
Custom-Designed Segments |
Runtime Program Structure |
Interrupt Handling |
Hardware Control Using I/O Ports |
17 Floating Point Programming and IA-32 Instruction Encoding |
Floating-point Binary Representation and Floating-Point Arithmetic |
Learning to Program the IA-32 Floating-Point Unit |
Understanding the Encoding of IA-32 Machine Instructions |
Appendix A Installing and Using the Assembler |
Appendix B The IA-32 Instruction Set |
Appendix C BIOS and MS-DOS Interrupts |
Appendix D MASM Reference |
Appendix E Answers to Review Questions |