COAL Theory Outline Fall 2022
COAL Theory Outline Fall 2022
A. Course Description
Course Instructors
Course Coordinator Dr. Adnan Ghafoor
Office Hours TBA
Plagiarism Policy All the parties involved in first cheating case in Midterm or Final
term will be awarded ‘F’ for the course.
Current Catalog Description The objective of this course is to understand the organization of
microprocessor for instance Intel x86 in terms of assembly language
instruction. This course primarily focuses on the detailed analysis and
working of microprocessor.
Textbook (Notes) Assembly language, Design and Interfacing 4th edition, Mazidi &
Mazidi
Reference Books Assembly Language Intel based Computers, 4th Edition, by
KIP, R, IRVINE
Intel Microprocessors, 8th edition, by Barry B. Brey
Art of Assembly,
Teaching-Learning Methodology More emphasis will be on coding assignments and practical
lab sessions. Regular and online quizzes will be held to help
students improving their understanding. Extra tutorial session
will be conducted to increase problem solving kills.
Course Goals Upon successful completion of this course, students will be able:
1 NCEAC.FORM.001.C
Develop a habit to write both memory and time optimized
code using assembly language.
2
Register addressing mode Irvine: 12.3.6
Immediate addressing mode Art of Assembly: 4.6
Direct addressing mode Brey: 3.1
Indirect addressing mode Art of Assembly: 4.7
4
Logical to Physical Address Conversion Mazidi: 1.6
Examples with MOV instruction
2 NCEAC.FORM.001.C
Flag register Mazidi: 3.1 Q1
Programming practice questions
Data types Art of Assembly: 5.3
6 Variable declaration and initialization Mazidi: 2.5
ALU operations on variables
Arrays & Loops Art of Assembly: 5.6.1
7 Base plus index addressing mode Brey: 6.1
4 Base relative plus index addressing mode
Jump & Branch instructions Art of Assembly: 10.1
8
Irvine: 6.9.4
Bit Manipulation Art of Assembly: 6.6
9 Shift: Arithmetic and Logical Shift Mazidi: 3.5
Rotations
5 Bit Masking Irvine:
Selective Set Mazidi: 3.6
10
Selective Clear Art of Assembly: 9.6
Selective Complement Brey:
Stack
11 Introduction to Stack
Saving and restoring variable in stack
Subroutines A2
6
CALL and RET statements Q2
12 Simple subroutines Art of Assembly: 8.7
Parameter Passing through Stack Brey: 6.3
Return value
Subroutines
13 Parameter passing through stack
16 MID TERM
17 MID TERM PAPER REVIEW
Video Memory Art of Assembly: 23.1
9
18 Accessing video memory directly
Familiarize with ASCII and attribute
Display Memory
10 19 Screen Calculation and Printing
Programming exercise
3 NCEAC.FORM.001.C
String Instructions
Introduce basic string instructions Mazidi: 6.2
20
LES and LDS instruction Art of Assmbly: 6.3.3
Programming exercise
Software Interrupts Irvine: 14.1.4 Q3
Basic introduction of interrupts
21
BIOS and DOS interrupts for printing on
screen and reading keys Mazidi: 4.1
11
Software Interrupts Mazidi: 14.1
Explain the concept of IVT (IVT)
22
Writing ISRs
Writing ISR for Interrupt 0x65
Exceptions (Handling) Art of Assembly: 17.3
23 Divide by Zero
Overflow
12 Hardware Interrupts Art of Assembly: 17.4 A3
Programmable Interrupt Controller Mazidi: 14.3
24
IRQs
4 NCEAC.FORM.001.C