Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Assembly Outline

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

University: Yardstick College

College/Faculty: Computer Science

Course title: Microprocessor and Assembly Language Programming


Course code: CoSc 3025
Credit hours: 3 ECTS:5 Contact hrs: 2 Lab hrs: 3 Tutorial hrs: 1
Prerequisite: CoSc 2022 Computer Organization and Architecture
Course category: Compulsory
Year: III Semester: I
Course description
Microprocessor architecture; memory organization; assembly language programming;
microprocessor assemblers; use of microprocessor boards; memory and I/O interfaces;
programming
peripherals; interrupt system programming; microprocessor system design and applications

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

Week1 Lab Environment setup


Assembly language instructions
Registers
Compiling and testing assembly codes
Week2 Simple Assignment and Arithmetic Operations
Data storage and Variables
Moving Data
Week3 Simple assignment and Arithmetic Operations
Addition , Subtraction
Register Reference
Multiplication and Division
Week4 Control Statements
Jumps, Labels and Flags
Week5 Conditional Statements

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

Teaching- learning methods


Three contact hours of lectures and two hours of tutorials per week. Students do home
assignments.
Assessment methods
Assignments/quizzes 10%
Mid semester examination 20%
Project 20%
Final examination 50%
Teaching materials
Text Books:

The Intel Microprocessors 8086/8088, 80186/80188, 80286, 80486, Pentium and


Pentium processor –
Architecture, Programming and Interfacing by Barry B Brey. 4th Edition, prentice Hall
– India – 2002
References:
 Ouglas v. Hall 'Microprocessors and Interfacing', Tata McGraw hill
 Uffenbeck 'Microcomputers and Interfacing', prentice hall
 Ram 'Fundamentals of Microprocessors and Microcomputers', Dhanpat Rai
Ompkins 'PC
interfacing', prentice hall
 Richard Trooper, Assembly Language Programming the IBM PC, McGraw Hill,
1994
 Vlad Pirogov, the Assembly Programming Master Book, 2006
 Peter Abel, IBM PC Assembly Language and Programming, 5h Edition, 2001.

You might also like