You are on page 1of 3

Engineering and Technology College

RAYA UNIVERSITY
(ETC)

Department: Computer Science


Module Title : Microprocessor and Assembly Language Programming
Instructor’s Contact Information: Course Information:
Instructor Name: G/meskel N. Course Title: Microprocessor and Assembly Language Programming
Office: Block-7 Room- 005 Course Code: CoSc 3025 Class year: III Semester: I
Office Hours: Any working hours Academic Year: 2015 Contact hrs.: 2 Lab hrs.: 3
Email: Gcrossn@gmail.com Credit hour: 3 Course ECTS: 5 Tutorial hrs.: 1
Prerequisite: Computer Organization and Architecture

Course Microprocessor architecture; memory organization; assembly language programming;


Description: microprocessor assemblers; use of microprocessor boards; memory and I/O interfaces; programming
peripherals; interrupt system programming; microprocessor system design and applications.
Course Goals or By the end of this course, students will be able to:
Learning  Become familiar with the basic components of 8086 instruction set architecture
Outcome:  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,.
Teaching
Learning The learning–teaching methodology will be student-centered with appropriate
Methods: guidance of instructor/s during the students’ activities .There will be Lecture,
Demonstrations, Tutorials, Reading assignments, Group Discussions and Lab work.
Reading
Week Topics Assignment
Week 1 CHAPTER 1: INTRODUCTION TO MICROPROCESSORS (4hr)
1.1 Introduction to microprocessors
1.2 General architecture of microcomputer system
1.3 Evolution of Intel microprocessors
1.4 Architectural compatibility
Week 2 & 3 CHAPTER 2 : BASIC ARCHITECTURE OF THE 8088 & 8086 MICROPROCESSORS (4hr)
2.1 Internal architecture of the 8086/8088 microprocessors
2.2 Memory address space and data organization
2.3 Data types
2.4 Segment registers and memory segmentation
2.5 Pointer and index register
2.6 Status , flag register and stack
Week 4 & 5 CHAPTER 3: ADDRESSING MODES (5hr)
3.1 Data-Addressing Modes
3.1.1 Register Addressing
3.1.2 Immediate Addressing
3.1.3 Direct Data Addressing
3.1.4 Register Indirect Addressing
3.1.5 Base-Plus-Index Addressing
3.1.6 Register Relative Addressing
3.1.7 Base Relative-Plus-Index Addressing
3.2 Program Memory-Addressing Modes
3.3 Stack Memory-Addressing Modes
Week 6,7 & 8 CHAPTER 4: INSTRUCTIONS (6hr)
4.1. Data Movement Instructions
4.2. Arithmetic and Logic instructions
4.2.1 Arithmetic Instructions
4.2.2 Basic Logic Instructions
4.2.3 Shift and Rotate
4.2.4 String Comparisons
Week 9 & 10 CHAPTER 5: PROGRAM CONTROL INSTRUCTIONS (4hr)
5.1 The Jump Group
5.1.1 Unconditional Jump (JMP)
5.1.2 Conditional Jumps and Conditional Sets
5.2 Controlling the Flow of the Program
5.2.1 LOOP
5.2.2 REPEAT
5.3 Procedures
Week 11&12 CHAPTER 6: 8086/8088 HARDWARE SPECIFICATIONS (5hr)
6.1 Pin-Outs and the Pin Functions
6.2 Clock Generator (8284A)
6.3 Bus Buffering and Latching
6.4 Bus Timing
6.5 Ready and the Wait State
6.6 Minimum Mode versus Maximum Mode
Week 13 &14 CHAPTER 7: INTERFACE (4hr)
7.1 Memory Interface
7.2 I/O Interface
Week 15 CHAPTER 8: INTERRUPTS (4hr)
8.1 Basic Interrupt Processing
8.1.1 The Purpose of Interrupts
8.1.2 Interrupts
8.1.3 Interrupt Instructions: INTO, INT, INT 3, and IRET
8.2 Hardware Interrupts
Week 16 Final Exam
Laboratory outline
Week 1  Lab Environment setup
 Assembly language instructions
 Registers
 Compiling and testing assembly codes
Week 2  Simple Assignment and Arithmetic Operations
 Data storage and Variables
 Moving Data
2
Week 3  Simple assignment and Arithmetic Operations
 Addition , Subtraction
 Register Reference
 Multiplication and Division
Week 4  Control Statements
 Jumps, Labels and Flags
Week 5  Conditional Statements
 Complex and Compound Conditional Expressions
 If then else conditional Expression
Week 6  Looping Instructions
Week 7  Addressing Data in CPU
 Simple Addressing Register (Immediate and Direct)
Week 8  Subroutine and Stack
 Calling and Returning from Subroutine
 Pushing and Popping Stack
Week 9  Recursion

Assessment Criteria The evaluation shall be based on both formative and summative assessment which include:
Assessment Forms % of credit allotted
Continuous Assessment 50%
Assignments/quizzes 10%
Mid semester examination 20%
Project 20%
Final examination 50% 50%
Role of Instructor(s) Deliver lectures and practical sessions, motivate students in class, assign and guide individual
and group assignments, and assess performance of learners.
Role of Students Attend lectures and lab classes, take important notes, participate in class discussions, do
individual and group assignments, present individual and group assignment in class, and
attend quiz, test and final examination.
Reading 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