Mshabab Alrizah

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.

WeekMain TopicTopic SlideAssignment Deadline
11Introduction to Microprocessors:Introduction to Microprocessor
2 Organization and Architecture of 8085
32 Organization and Architecture of 8086
4 Functional block diagram, registers, ALU
53 Arithmetic operations
6 Instruction Set:Instruction set- Data Transfer instructions Assignment 1
74 Arithmetic operations Quiz 1
8 Arithmetic operations
95 Logic operations
10 Branch operations
116 Branch Instructions Quiz 2
12 8085 Addressing Modes Assignment 2
137 Mid 1 Mid 1
14 Hardware Scheme for Data Transfer and Interrupts:Programming techniques-looping, counting and indexing
158 Basic Interfacing Concepts
16 Interfacing Output Displays
179 Interfacing Input Devices
18 I/O mapped I/O Assignment 3
1910 Memory mapped I/O Quiz 3
20 Interrupts
2111Stack and subroutines:Various interrupt schemes, multiple interrupts, enabling, disabling and masking of interrupts
22 Stack, Stack pointer, Program Counter
2312 Storage and Retrieval of information using PUSH and POP instructions
24 Subroutine, Information exchange between Program Counter and Stack pointer
2513 Conditional CALL and RET instructions Quiz 4
26 Subroutines: multiple calling nesting and Multiple Ending Subroutines
2714 Mid 2 Mid 2
28 Instruction Cycles and Timing Diagrams:Similarities and differences between PUSH/POP and CALL/RET instructions
2915 Timing and Control Signals
30 Machine Cycles and Timing diagram for 8085
3116 Final Final