Course Title: Microprocessor & Assembly Language Programming
Course Code: CoSc xxx
Credit hour: 5Ects (2 Lecture+1 ,2 Lab)
Prerequisites: Digital Electronics and Logic Design /EEng 2041
Target department: Computer science 3rd year [CPU]
Instructor Name: Berihun G. email:
[email protected]COURSE DESCRIPTION:
This course deals with the architecture of microprocessors with different version and it also deals
with applications that require standard input/output devices w/c has minimal direct need for
assembly language programming. Programmers write the library routines to achieve standard
interfaces and these routines are written in assembly language. Therefore, this course is highly
dealing with assembly language.
COURSE OBJECTIVE:
At the end of the course the student will be able to:
✓ Explain the architecture of 8086/8088 microprocessor
✓ Write efficient assembly programs for 80x86/8088microprocess
✓ Design and implement user interface using assembly language
Course Content
Unit 1. Introduction
1.1. Architectural evolution of the 80x86 systems
1.2. Major components
1.3. Programmers’ view
1.3.1. Execution Unit
1.3.2. General purpose Registers
1.3.3. Address Registers
1.3.4. Flags
1.3.5. Internal Buses
1.3.6. Bus Interface Unit
Unit 2. Assembly Language Basics
2.1. Components of Assembly Language
2.2. Assembly Language Directives.
2.3. 80x86 Opcodes
2.3.1. Data Transfer
2.3.2. Input and Output Functions.
2.3.3. Data Manipulation.
2.3.4. Arithmetic Logical Instructions
2.3.5. Program Control Flow Instruction.
2.3.6. Looping Statement
2.4. Arrays.
Unit 3. Addressing Modes.
3.1 Register Addressing Mode.
3.2 Immediate Addressing Mode.
3.3 Indexed Addressing Mode
3.4 Direct Addressing Mode
3.5 Indirect Addressing Mode
3.6 Based Addressing Mode
3.7 Based Indexed Addressing Mode
Unit 4. Stack Organization
Unit 5. Interfacing
Assessment Methods
Quizzes and assign 25%
Mid Exam 25%
Final 0%
Delivery Methods
✓ Lecture
✓ Laboratory
✓ Exercises
✓ Assignments
References
• Richard Trooper, Fundamentals of Assembly Language Programming, 2nd Ed.
• Jeff Duntmann, Assembly Language Step-by-Step: Programming with DOS and Linux, 2nd
Ed., John Wiley & Sons, 2000. ISBN: 0471375233.
• Randy Hyde, The Art of Assembly Language Programming, 2nd Ed., 2001
• Barry B. Brey, The Intel Microprocessors: Architecture, Programming and Interfacing, 8th
Ed., ISBN 0-13-502645-8.
• Kip R. Irvine, Assembly Language for Intel-Based Computers, 4th Ed., 2003.
• Richard C. Detmer, Introduction to 80x86 Assembly Language and Computer Architecture,
2001, ISBN 0-13-502645-8.