Assembly Outline
Assembly Outline
Assembly Outline
Course objectives
On completion of the course, successful students will be able to:
Become familiar with the basic components of 8086 instruction set architecture
Inspect and modify 8086 processor registers and memory.
Use assembler to develop and run assembly language programs.
Identify registry, memory allocation, memory reference techniques, File processing, modular
programming etc
Identify how to interface serial and parallel I/O devices with a microprocessor
Write code to process exceptions and interrupts,
Course outline
CHAPTER 1: INTRODUCTION TO MICROPROCESSORS (4hr)
Introduction to microprocessors
General architecture of microcomputer system
Evolution of Intel microprocessors
Architectural compatibility
Hardware and software
Review of the basic number systems and conversion between different number
systems
CHAPTER 2: BASIC ARCHITECTURE OF THE 8088 AND 8086 MICROPROCESSORS (4hr)
68
Internal architecture of the 8086/8088 microprocessors
Memory address space and data organization
Data types
Segment registers and memory segmentation
Pointer and index register
Status and flag register
The Stack
CHAPTER 3: ADDRESSING MODES (5hr)
Data-Addressing Modes
Register Addressing
Immediate Addressing
Direct Data Addressing
Register Indirect Addressing
Base-Plus-Index Addressing
Register Relative Addressing
Base Relative-Plus-Index Addressing
Scaled-Index Addressing
RIP Relative Addressing
Data Structures
Program Memory-Addressing Modes
Direct Program Memory Addressing
Relative Program Memory Addressing
Indirect Program Memory Addressing
Stack Memory-Addressing Modes
CHAPTER 4: INSTRUCTIONS (6hr)
4.1. Data Movement Instructions
MOV Revisited
PUSH/POP
Load-Effective Address
String Data Transfers
Miscellaneous Data Transfer Instructions
69
: Arithmetic and Logic instructions
Arithmetic Instructions
Basic Logic Instructions
Shift and Rotate
String Comparisons
CHAPTER 5: PROGRAM CONTROL INSTRUCTIONS (4hr)
The Jump Group
Unconditional Jump (JMP)
Conditional Jumps and Conditional Sets
Controlling the Flow of the Program
LOOP
REPEAT
Procedures
CALL
RET
Introduction to Interrupts
Interrupt Vectors
Interrupt Instructions
Interrupt Control
Machine Control and Miscellaneous Instructions
Flag Control Instructions
WAIT
HLT
5.6. NOP
CHAPTER 6: 8086/8088 HARDWARE SPECIFICATIONS (5hr)
Pin-Outs and the Pin Functions
Clock Generator (8284A)
Bus Buffering and Latching
Bus Timing
Ready and the Wait State
Minimum Mode versus Maximum Mode
70
CHAPTER 7: INTERFACE (4hr)
Memory Interface
Memory Devices
7.1.1 Memory Pin Connections
I/O Interface
Introduction to I/O Interface
I/O Port Address Decoding
The Programmable Peripheral Interface
Analog-to-Digital (ADC) and Digital-to-Analog (DAC) Converters
CHAPTER 8: INTERRUPTS (4hr)
Basic Interrupt Processing
The Purpose of Interrupts
Interrupts
Interrupt Instructions: INTO, INT, INT 3, and IRET
The Operation of a Real Mode Interrupt
Operation of a Protected Mode Interrupt
Interrupt Flag Bits
Storing an Interrupt Vector in the Vector Table
Hardware Interrupts
Laboratory outline
71
Complex and Compound Conditional Expressions
If then else conditional Expression
Week6 Looping Instructions
Week7 Arrays and Pointers
Week8 Addressing Data in CPU
Simple Addressing Register (Immediate and Direct)
Week9 Subroutine and Stack
Calling and Returning from Subroutine
Pushing and Popping Stack
Week10 Recursion