Assembler

Assembler Language Concepts

Anatomy of an Assembler Language

Anatomy of an Assembler Language (cont.)

Anatomy of an Assembler Language (cont.)

Example: IBM PC, Intel 8088/8086

   8088

   8088 (cont.)

   8088 (cont.)

   What is a Segment?

   About Segments

8088 Addressing
Modes

Addressing Modes: Examples

Basic Addressing
Modes

Pentium Addressing Modes

Power PC Addressing Modes

Memory Reference Ambiguities

   8088 Flags

   Flags (cont.)

Turbo Assembler: Assembler Language Code Template

   Data Declaration

Data Declarations
(cont.)

   Pentium Data Types

Slide 24

   PowerPC Data Types

   Assembler Example

   Assembler Example

Assembler Example:
CX as a loop counter

   Control Flow

   Jump Tables

   Returning from a Jump

Stacks for Subroutine Support

   Stack Operations

   Subroutine Call/Return

   Passing Parameters

   Stack Frame Pointers

Example of PASCAL Calling Conventions

Difference with C Calling Conventions

   C Example

Corresponding Assembler Code for 80386 Processor

   Software Interrupts

Why Software Interrupts?

Other Instructions of Processors

Mutual Exclusion Example

Mutual Exclusion
(cont.)

Advantages/Disadvantages of Assembly Language