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