| Lecture | Topic |
| 1 | Discussion of course policies and organization; Installing the assembler and sample programs from the textbook CD |
| 2 | Sections 1.1-1.3: Data representation; Introducing Assembly Language; Sample Hello World program |
| 3 | S11: Multilevel machines; Digital logic |
| 4 | S2: Microprogramming; IEEE floating-point number representation; memory access (see Sections 15.1.3-4) |
| 5 | Sections 2.1-2.4: CPU architecture; Operating system and memory; Components of a microcomputer |
| 6 | Sections 3.1-3.6: Assembling, linking, and debugging; Data allocation; Symbolic constants; Data transfer instructions |
| 7 | Sections 3.7-3.8: Arithmetic instructions; Basic operand types |
| 8 | Sections 4.1-4.3: Assembler and linker; operators and expressions; JMP and LOOP |
| 9 | Sections 4.4-4.7: Indirect addressing; debugging workshop; 80386/80486 instructions; using the link library |
| 10 | S3: Instruction execution cycle. Pipelining. Cache memory usage |
| 11 | (TBA) |
| 12 | Exam 1 (Lectures 1-11) |
| 13 | S4: Hamming codes |
| 14 | Sections 5.1-5.4, & 5.8: Stack, creating procedures (subroutines), software interrupts, recursion |
| 15 | Additional examples showing how to call procedures and pass parameters in registers. |
| 16 | Sections 5.5-5.7: MS-DOS function calls, BIOS keyboard input, BIOS video control |
| 17 | Section 6.1: Boolean and comparison (bitwise) instructions |
| 18 | Sections 6.2-6.3: Conditional jumps, conditional loops |
| 19 | Section 6.4: High-level logic structures |
| 20 | (TBA) |
| 21 | Exam 2 (Lectures 13-20) |
| 22 | Section 7.1: Shift and rotate instructions |
| 23 | Section 7.2: Applications using shifting and rotating |
| 24 | Sections 7.4-7.5: Multiplication and division; Application: direct video output |
| 25 | Sections 9.2-9.3: Character translation methods; Stack parameters |
| 26 | Sections 9.4-9.5: Separately assembled modules; Creating a link library |
| 27 | Sections 11.1-11.2: Disk storage fundamentals; Sector display program |
| 28 | Sections 13.1-3.3: Inline assembly code; linking to C++ programs |
| 29 | Section 15.2: Instruction encoding; Section 15.5: Floating-point instructions |
| 30 | Exam 3 (Lectures 23-29) |
Footnotes:
1 Supplemental topics (S1, S2, ...). are topics not covered in
the book. They will be covered by readings on the course Web site.