MicroController Pros Home Page My Account  Cart Contents  Checkout  
  Store » Assembly Language for Intel-Based Computers Table of Contents My Account  |  Cart Contents  |  Checkout   
Vacation Notice: We are on vacation November 11th - 19th 2017. Any orders placed during that time frame will ship on November 20th.
Quick Find
Enter keywords to find the product you are looking for in the Quick Find field above

or use
Advanced Search
Accessory Boards->
ADI Blackfin
Atmel AVR->
Cypress PSoC
Microchip PIC->
Silicon Labs
ST Microelectronics->
Texas Instruments->
Embedded Ethernet->
Embedded Software->
I/O Modules->
Parts & Components->
Pick & Place Tools
Programmable Logic (PLD)
Prototype PCBs->
ROM/Flash Emulators
Test & Measurement->
Tutorial Software
Universal Programmers->
Intro to Embedded Tools
Embedded News Digest
Useful Resources
Shipping & Returns
Warranty & Liability
Privacy Notice
Conditions of Use
Contact Us
Assembly Language for Intel-Based Computers Table of Contents

This is the Table of Contents forAssembly Language for Intel-Based Computers, 5th Edition.

Table of Contents


Basic Concepts

Welcome to Assembly Language

  • Some Good Questions to Ask
  • Assembly Language Applications
  • Section Review

Virtual Machine Concept

  • The History of PC Assemblers
  • Section Review

Data Representation

  • Binary Numbers
  • Binary Addition
  • Integer Storage Sizes
  • Hexadecimal Integers
  • Signed Integers
  • Character Storage
  • Section Review

Boolean Operations

  • Truth Tables for Boolean Functions
  • Section Review

Chapter Summary

IA-32 Processor Architecture

General Concepts

  • Basic Microcomputer Design
  • Instruction Execution Cycle
  • Reading from Memory
  • How Programs Run
  • Section Review

IA-32 Processor Architecture

  • Modes of Operation
  • Basic Execution Environment
  • Floating-Point Unit
  • Intel Microprocessor History
  • Section Review

IA-32 Memory Management

  • Real-address Mode
  • Protected Mode
  • Section Review

Components of an IA-32 Microcomputer

  • Motherboard
  • Video Output
  • Memory
  • Input-Output Ports and Device Interfaces
  • Section Review

Input-Output System

  • How It All Works
  • Section Review

Chapter Summary

Assembly Language Fundamentals

Basic Elements of Assembly Language

  • Integer Constants
  • Integer Expressions
  • Real Number Constants
  • Character Constants
  • String Constants
  • Reserved Words
  • Identifiers
  • Directives
  • Instructions
  • The NOP (No Operation) Instruction
  • Section Review

Example: Adding Three Integers

  • Alternative Version of AddSub
  • Program Template
  • Section Review

Assembling, Linking, and Running Programs

  • The Assemble-Link-Execute Cycle
  • Section Review

Defining Data

  • Intrinsic Data Types
  • Data Definition Statement
  • Defining BYTE and SBYTE Data
  • Defining WORD and SWORD Data
  • Defining DWORD and SDWORD Data
  • Defining QWORD Data
  • Defining TBYTE Data
  • Defining Real Number Data
  • Little Endian Order
  • Adding Variables to the AddSub Program
  • Declaring Uninitialized Data
  • Section Review

Symbolic Constants

  • Equal-Sign Directive
  • Calculating the Sizes of Arrays and Strings
  • EQU Directive
  • TEXTEQU Directive
  • Section Review

Real-Address Mode Programming (Optional)

  • Basic Changes

Chapter Summary

Programming Exercises

Data Transfers, Addressing, and Arithmetic

Data Transfer Instructions

  • Introduction
  • Operand Types
  • Direct Memory Operands
  • MOV Instruction
  • Zero/Sign Extension of Integers
  • LAHF and SAHF Instructions
  • XCHG Instruction
  • Direct-Offset Operands
  • Example Program (Moves)
  • Section Review

Addition and Subtraction

  • INC and DEC Instructions
  • ADD Instruction
  • SUB Instruction
  • NEG Instruction
  • Implementing Arithmetic Expressions
  • Flags Affected by Addition and Subtraction
  • Example Program (AddSub3)
  • Section Review

Data-Related Operators and Directives

  • OFFSET Operator
  • ALIGN Directive
  • PTR Operator
  • TYPE Operator
  • LENGTHOF Operator
  • SIZEOF Operator
  • LABEL Directive
  • Section Review

Indirect Addressing

  • Indirect Operands
  • Arrays
  • Indexed Operands
  • Pointers
  • Section Review

JMP and LOOP Instructions

  • JMP Instruction
  • LOOP Instruction
  • Summing an Integer Array
  • Copying a String
  • Section Review

Chapter Summary

Programming Exercises



Linking to an External Library

  • Background Information
  • Section Review

The Book's Link Library

  • Overview
  • Individual Procedure Descriptions
  • Library Test Program
  • Section Review

Stack Operations

  • Runtime Stack
  • PUSH and POP Instructions
  • Section Review

Defining and Using Procedures

  • PROC Directive
  • CALL and RET Instructions
  • Example: Summing an Integer Array
  • Flowcharts
  • Saving and Restoring Registers
  • Section Review

Program Design Using Procedures

  • Integer Summation Program (Design)
  • Integer Summation Implementation
  • Section Review

Chapter Summary

Programming Exercises

Conditional Processing


Boolean and Comparison Instructions

  • The CPU Flags
  • AND Instruction
  • OR Instruction
  • XOR Instruction
  • NOT Instruction
  • TEST Instruction
  • CMP Instruction
  • Setting and Clearing Individual CPU Flags
  • Section Review

Conditional Jumps

  • Conditional Structures
  • Jcond Instruction
  • Types of Conditional Jump Instructions
  • Conditional Jump Applications
  • Bit Testing Instructions (Optional)
  • Section Review

Conditional Loop Instructions

  • LOOPZ and LOOPE Instructions
  • LOOPNZ and LOOPNE Instructions
  • Section Review

Conditional Structures

  • Block-Structured IF Statements
  • Compound Expressions
  • WHILE Loops
  • Table-Driven Selection
  • Section Review

Application: Finite-State Machines

  • Validating an Input String
  • Validating a Signed Integer
  • Section Review

Decision Directives

  • Signed and Unsigned Comparisons
  • Compound Expressions
  • .REPEAT and .WHILE Directives

Chapter Summary

Programming Exercises

Integer Arithmetic


Shift and Rotate Instructions

  • Logical Shifts and Arithmetic Shifts
  • SHL Instruction
  • SHR Instruction
  • SAL and SAR Instructions
  • ROL Instruction
  • ROR Instruction
  • RCL and RCR Instructions
  • Signed Overflow
  • SHLD/SHRD Instructions
  • Section Review

Shift and Rotate Applications

  • Shifting Multiple Doublewords
  • Binary Multiplication
  • Displaying Binary Bits
  • Isolating MS-DOS File Date Fields
  • Section Review

Multiplication and Division Operations

  • MUL Instruction
  • IMUL Instruction
  • Benchmarking Multiplication Operations
  • DIV Instruction
  • Signed Integer Division
  • Implementing Arithmetic Expressions
  • Section Review

Extended Addition and Subtraction

  • ADC Instruction
  • Extended Addition Example
  • SBB Instruction
  • Section Review

ASCII and Unpacked Decimal Arithmetic

  • AAA Instruction
  • AAS Instruction
  • AAM Instruction
  • AAD Instruction
  • Section Review

Packed Decimal Arithmetic

  • DAA Instruction
  • DAS Instruction
  • Section Review

Chapter Summary

Programming Exercises

Advanced Procedures


Stack Frames

  • Stack Parameters
  • Local Variables
  • ENTER and LEAVE Instructions
  • LOCAL Directive
  • WriteStackFrame Procedure
  • Section Review


  • Recursively Calculating a Sum
  • Calculating a Factorial
  • Section Review

.MODEL Directive

  • Language Specifers
  • Section Review

INVOKE, ADDR, PROC, and PROTO (Optional)

  • INVOKE Directive
  • ADDR Operator
  • PROC Directive
  • PROTO Directive
  • Parameter Classifications
  • Example: Exchanging Two Integers
  • Debugging Tips
  • Section Review

Creating Multimodule Programs

  • Hiding and Exporting Procedure Names
  • Calling External Procedures
  • Using Variables and Symbols Across Module Boundaries
  • Example: ArraySum Program
  • Creating the Modules Using Extern
  • Creating the Modules Using INVOKE and PROTO
  • Section Review

Chapter Summary

Programming Exercises

Strings and Arrays


String Primitive Instructions

  • Section Review

Selected String Procedures

  • Str_compare Procedure
  • Str_length Procedure
  • Str_copy Procedure
  • Str_trim Procedure
  • Str_ucase Procedure
  • String Library Demo Program
  • Section Review

Two-Dimensional Arrays

  • Ordering of Rows and Columns
  • Base-Index Operands
  • Base-Index-Displacement Operands
  • Section Review

Searching and Sorting Integer Arrays

  • Bubble Sort
  • Binary Search
  • Section Review

Chapter Summary

Programming Exercises

Structures and Macros


  • Defining Structures
  • Declaring Structure Variables
  • Referencing Structure Variables
  • Example: Displaying the System Time
  • Structures Containing Structures
  • Example: Drunkard's Walk
  • Declaring and Using Unions
  • Section Review


  • Overview
  • Defining Macros
  • Invoking Macros
  • Additional Macro Features
  • Using the Book's Macro Library
  • Section Review

Conditional-Assembly Directives

  • Checking for Missing Arguments
  • Default Argument Initializers
  • Boolean Expressions
  • IF ELSE, and ENDIF Directives
  • The IFIDN and IFIDNI Directives
  • Example: Summing a Matrix Row
  • Special Operators
  • Macro Functions
  • Section Review

Defining Repeat Blocks

  • WHILE Directive
  • REPEAT Directive
  • FOR Directive
  • FORC Directive
  • Example: Linked List
  • Section Review

Chapter Summary

Programming Exercises

MS-Windows Programming

Win32 Console Programming

  • Background Information
  • Win32 Console Functions
  • Displaying a Message Box
  • Console Input
  • Console Output
  • Reading and Writing Files
  • File I/O in the Irvine32 Library
  • Testing the File I/O Procedures
  • Console Window Manipulation
  • Controlling the Cursor
  • Controlling the Text Color
  • Time and Date Functions
  • Section Review

Writing a Graphical Windows Application

  • Necessary Structures
  • The MessageBox Function
  • The WinMain Procedure
  • The WinProc Procedure
  • The ErrorHandler Procedure
  • Program Listing
  • Section Review

Dynamic Memory Allocation

  • HeapTest Programs
  • Section Review

IA-32 Memory Management

  • Linear Addresses
  • Page Translation
  • Section Review

Chapter Summary

Programming Exercises

High-Level Language Interface


  • General Conventions
  • Section Review

Inline Assembly Code

  • __asm Directive in Microsoft Visual C++
  • File Encryption Example
  • Procedure Call Overhead
  • Section Review

Linking to C/C++ in Protected Mode

  • Using Assembly Language to Optimize C++ Code
  • Calling C and C++ Functions
  • Multiplication Table Example
  • Calling C Library Functions
  • Directory Listing Program
  • Section Review

Linking to C/C++ in Real-Address Mode

  • Linking to Borland C++
  • ReadSector Example
  • Example: Large Random Integers
  • Section Review

Chapter Summary

Programming Exercises

16-Bit MS-DOS Programming

MS-DOS and the IBM-PC

  • Memory Organization
  • Redirecting Input-Output
  • Software Interrupts
  • INT Instruction
  • Coding for 16-Bit Programs
  • Section Review

MS-DOS Function Calls (INT 21h)

  • Selected Output Functions
  • Hello World Program Example
  • Selected Input Functions
  • Date/Time Functions
  • Section Review

Standard MS-DOS File I/O Services

  • Create or Open File (716Ch)
  • Close File Handle (3Eh)
  • Move File Pointer (42h)
  • Get File Creation Date and Time
  • Selected Library Procedures
  • Example: Read and Copy a Text File
  • Reading the MS-DOS Command Tail
  • Example: Creating a Binary File
  • Section Review

Chapter Summary

Chapter Exercises

Disk Fundamentals

Disk Storage Systems

  • Tracks, Cylinders, and Sectors
  • Disk Partitions (Volumes)
  • Section Review

File Systems

  • FAT12
  • FAT16
  • FAT32
  • NTFS
  • Primary Disk Areas
  • Section Review

Disk Directory

  • MS-DOS Directory Structure
  • Long Filenames in MS-Windows
  • File Allocation Table (FAT)
  • Section Review

Reading and Writing Disk Sectors (7305h)

  • Sector Display Program
  • Section Review

System-Level File Functions

  • Get Disk Free Space (7303h)
  • Create Subdirectory (39h)
  • Remove Subdirectory (3Ah)
  • Set Current Directory (3Bh)
  • Get Current Directory (47h)
  • Get and Set File Attributes (7143h)
  • Section Review

Chapter Summary

Programming Exercises

BIOS-Level Programming


  • BIOS Data Area

Keyboard Input with INT 16h

  • How the Keyboard Works
  • INT 16h Functions
  • Section Review

VIDEO Programming with INT 10h

  • Basic Background
  • Controlling the Color
  • INT 10h Video Functions
  • Library Procedure Examples
  • Section Review

Drawing Graphics Using INT 10h

  • INT 10h Pixel-Related Functions
  • DrawLine Program
  • Cartesian Coordinates Program
  • Converting Cartesian Coordinates to Screen Coordinates
  • Section Review

Memory-Mapped Graphics

  • Mode 13h: 320 X 200, 256 Colors
  • Memory-Mapped Graphics Program
  • Section Review

Mouse Programming

  • Mouse INT 33h Functions
  • Mouse Tracking Program
  • Section Review

Chapter Summary

Chapter Exercises

Expert MS-DOS Programming


Defining Segments

  • Simplified Segment Directives
  • Explicit Segment Definitions
  • Segment Overrides
  • Combining Segments
  • Section Review

Runtime Program Structure

  • Program Segment Prefix
  • COM Programs
  • EXE Programs
  • Section Review

Interrupt Handling

  • Hardware Interrupts
  • Interrupt Control Instructions
  • Writing a Custom Interrupt Handler
  • Terminate and Stay Resident Programs
  • Application: The No_Reset Program
  • Section Review

Chapter Summary

Floating-Point Processing and Instruction Encoding

Floating-Point Binary Representation

  • IEEE Binary Floating-Point Representation
  • The Exponent
  • Normalized Binary Floating-Point Numbers
  • Creating the IEEE Representation
  • Converting Decimal Fractions to Binary Reals
  • Section Review

Floating-Point Unit

  • FPU Register Stack
  • Rounding
  • Floating-Point Exceptions
  • Floating-Point Instruction Set
  • Arithmetic Instructions
  • Comparing Floating-Point Values
  • Reading and Writing Floating-Point Values
  • Exception Synchronization
  • Code Examples
  • Mixed-Mode Arithmetic
  • Masking and Unmasking Exceptions
  • Section Review

Intel Instruction Encoding

  • IA-32 Instruction Format
  • Single-Byte Instructions
  • Move Immediate to Register
  • Register-Mode Instructions
  • IA-32 Processor Operand-Size Prefix
  • Memory-Mode Instructions
  • Section Review

Chapter Summary

Programming Exercises

Appendix A: MASM Reference

Appendix B: The IA-32 Instruction Set

Appendix C: BIOS and MS-DOS Interrupts

Appendix D: Answers to Review Questions


This is the Table of Contents forAssembly Language for Intel-Based Computers, 5th Edition.

Shopping Cart more
0 items
What's New? more
Flowcode 7 "Misc Pack A" Feature Pack
Flowcode 7 "Misc Pack A" Feature Pack
Specials more
4-port USB2.0 Hub, Unpowered, ASUS Zenhub
4-port USB2.0 Hub, Unpowered, ASUS Zenhub
01. RFID ISO Card Tag, 125kHz, EM4102 Read-only
02. PIC16F628A-I/P Microcontroller, 18 DIP, 20 MHz
03. Atmel ATtiny2313-20PU AVR Microcontroller, 20 DIP, 20 MHz
04. LCD 4-mux, 7 digits x 14 segments, progress bar, arrows
05. LCD 4-mux, 7.1 digits x 7 segments, progress bar, arrows
06. USB Universal In-Circuit Programmer PIC AVR ARM MSP 8051 EEPROM
07. ARM JTAG Debugger & Programmer, parallel port
08. Power Supply 3-12V DC, US/UK/Euro/AU Plugs, 100-240VAC
09. Power Supply 3-12V DC, U.S. plug, 6 connection tips
10. Atmel AVR JTAG In-Circuit Debugger & Programmer, USB
Reviews more
Atmel AVR & AT89S52 Tutorial Kit
Boa noite, Porque não consigo baixar o Tutorial e Manual do ..
5 of 5 Stars!
  Saturday 18 November, 2017   List of all our Products

Copyright © 2003-2017 MicroController Pros LLC
Powered by osCommerce