COAL Theory Outline Fall 2022
COAL Theory Outline Fall 2022
A. Course Description
2 NCEAC.FORM.001.C
Jump & Branch insturctions 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
7 Multiplication & Division Art of Assembly: 6.5.6
MUL and DIV Instructions Art of Assembly: 6.5.7
14
Programming exercise Mazidi: 3.2
Mazidi: 6.9
Adjustment
Instructions: AAA, AAD, AAM
15
8 Programming exercise
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
19 Screen Calculation and Printing
Programming exercise
10 String Instructions
Introduce basic string instructions Mazidi: 6.2
20
LES and LDS instruction Art of Assmbly: 6.3.3
Programming exercise
11 21 Software Interrupts Irvine: 14.1.4 Q3
Basic introduction of interrupts
BIOS and DOS interrupts for printing on Mazidi: 4.1
screen and reading keys
3 NCEAC.FORM.001.C
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
Writing ISR for Timer Interrupt
Interacting with I/O Irvine: 2.4.4 Q4
IN & Out Instructions Brey: 11.1
25
Application: Reading Time from RTC Art of Assembly: 17.4.7
Programming exercise
13
X64 programming Notes
Introduction to x64 programming
26
64-bit registers
Parameter passing to 64-bit functions
x64 programming A4
Writing libraries in assembly language
27
Calling library function in high level
14
language program
x64 programming
28
Programming exercise
Exploiting Hardware features: Multi-Media
eXtension (MMX) Brey: 14.5 Q5
29
MMX registers
15
Exploiting data-level parallelism
MMX
30
MMX exercise
31 Revision
16
32 Revision
4 NCEAC.FORM.001.C