Microprocessor and Assembly Language
قال رسول اللهِ صلّى اللهُ عليهِ وسلَّم: (إِنَّ الله يُحِبُ إذا عَمِل أحَدُكُم عَمَلا أنْ يُتْقِنَه)
Announcements
Please make sure to check this section frequently!
Announcement #2 2/16/2021: The lecture will online (on Blackboard). Please attend!
About the course
This course introduces microprocessors, an instruction set of microprocessors, assembly language programming, and machine language concepts. Internal communication structure, memory interface components, Input-Output processors, Direct Memory Access technique are discussed. The role of interrupts and interrupt handling techniques are also introduced. The students are given training in developing assembly language programs for simple problems during the theoretical and practical sessions.,
Instructor
Dr. Mshabab Alrizah
Location: Faculty office 6
Office hours: Monday 9 AM-11 AM and Thursday 2 PM-4 PM
Lectures
Class Sunday: 2pm to 2:50pm in classroom 4
Class Monday: 9pm to 10pm online (Blackboard)
Class Thursday: 4pm to 6pm at lab 1
Prerequisites
251-CCS-3, Computer Organization & Architecture
Programing Language: C
Skills: familiar with Unix/Linux (At least you can run it) + VirtualBox
Textbook(s)
- Microprocessor Architecture, Programming, and Applications with the 8085, by Gaonkar.
- X86 Microprocessors : 8086 To Pentium, Multicores, Atom and The 8051 Microcontroller – Architecture, Programming and Interfacing Paperback (2nd Edition) , by Lyla
More resours
TBA
Homework and programming assignments
Assignments #1:
Assignment #2:
Assignment #3:
Evaluation and grade
Assignments: 5 % (Assignement1, assignement2, …)
Lab assignments: 5% (Lab1, Lab2,….)
Quizzes: 5% (Quize1, Quize2,…)
Lab Quiz: 5%
One Midterm exams: 20%
Lab exam and tutorial: 10%
Final exam: 50%
Schedule
This schedule is subject to change depending on how the course progresses.
Week | Main Topic | Topic | Slide | Assignment Deadline | |
---|---|---|---|---|---|
1 | 1 | Introduction to Microprocessors: | Introduction to Microprocessor | ||
2 | Organization and Architecture of 8085 | ||||
3 | 2 | Organization and Architecture of 8086 | |||
4 | Functional block diagram, registers, ALU | ||||
5 | 3 | Arithmetic operations | |||
6 | Instruction Set: | Instruction set- Data Transfer instructions | Assignment 1 | ||
7 | 4 | Arithmetic operations | Quiz 1 | ||
8 | Arithmetic operations | ||||
9 | 5 | Logic operations | |||
10 | Branch operations | ||||
11 | 6 | Branch Instructions | Quiz 2 | ||
12 | 8085 Addressing Modes | Assignment 2 | |||
13 | 7 | Mid 1 | Mid 1 | ||
14 | Hardware Scheme for Data Transfer and Interrupts: | Programming techniques-looping, counting and indexing | |||
15 | 8 | Basic Interfacing Concepts | |||
16 | Interfacing Output Displays | ||||
17 | 9 | Interfacing Input Devices | |||
18 | I/O mapped I/O | Assignment 3 | |||
19 | 10 | Memory mapped I/O | Quiz 3 | ||
20 | Interrupts | ||||
21 | 11 | Stack and subroutines: | Various interrupt schemes, multiple interrupts, enabling, disabling and masking of interrupts | ||
22 | Stack, Stack pointer, Program Counter | ||||
23 | 12 | Storage and Retrieval of information using PUSH and POP instructions | |||
24 | Subroutine, Information exchange between Program Counter and Stack pointer | ||||
25 | 13 | Conditional CALL and RET instructions | Quiz 4 | ||
26 | Subroutines: multiple calling nesting and Multiple Ending Subroutines | ||||
27 | 14 | Mid 2 | Mid 2 | ||
28 | Instruction Cycles and Timing Diagrams: | Similarities and differences between PUSH/POP and CALL/RET instructions | |||
29 | 15 | Timing and Control Signals | |||
30 | Machine Cycles and Timing diagram for 8085 | ||||
31 | 16 | Final | Final |