DATE TOPIC(S)/READING DUE
     
Jan 23 Course introduction
Von Neumann architecture
Control unit/fetch-decode-execute cycle
x86 processor architecture
READ: (1) course syllabus, (2) AoA V1 2.7, (3) Von Neumann architecture, (4) Control unit, (5) Instruction cycle, (6) x86
 
Jan 25 Instruction sets and instruction formats
High Level Assembly (HLA)
Common instructions, data storage, Input/Output (I/O)
READ: (1) AoA V1 2.3, (2) AoA V1 2.4, (3) AoA V1 2.5, (4) AoA V1 2.6
 
Jan 26   Book Challenge #1
Programming Challenge #1
Jan 30 Data representation: decimal
Data representation: binary
Data representation: hexadecimal
READ: (1) AoA V1 3.2, (2) AoA V1 3.3
 
Feb 1 HLA control structures
HLA data types
HLA stdin.getX routines
READ: (1) AoA V1 2.9, (2) AoA V1 2.10
 
Feb 2   Book Challenge #1 (score)
Book Challenge #2
Programming Challenge #2
Feb 6 Data type vs. data storage
Register overlay
READ: (1) AoA V1 2.7, (2) AoA V1 2.10, (3) AoA V1 3.2, (4) AoA V1 3.3, (5) AoA V1 3.4
 
Feb 8 Data representation (continued)
Register overlay
READ: (1) AoA V1 2.7, (2) AoA V1 2.10, (3) AoA V1 3.2, (4) AoA V1 3.3, (5) AoA V1 3.4
 
Feb 9   Book Challenge #2 (score)
Book Challenge #3
Programming Challenge #3
Feb 13 Exceptions/interrupts and robust user input handling
Subroutines/HLA procedures
READ: (1) AoA V1 2.9, (2) AoA V1 2.10, (3) AoA V3 8.2
 
Feb 15 OPEN LAB  
Feb 16   Book Challenge #3 (score)
Programming Challenge #4
Feb 20 x86 arithmetic instructions: add, sub, mul
READ: (1) AoA V1 2.7, (2) AoA V1 2.8, (3) AoA V3 10.2
 
Feb 22 x86 arithmetic expressions: add, sub, mul
READ: (1) AoA V3 10.3
 
Feb 23   Book Challenge #4
Programming Challenge #5
Feb 27 x86 arithmetic instructions: div and mod
READ: (1) AoA V3 10.2
 
Mar 1 x86 arithmetic expressions: div and mod
READ: (1) AoA V3 10.3
 
Mar 2   Book Challenge #4 (score)
Book Challenge #5
Programming Challenge #6
Mar 6 x86 signed arithmetic: mul and imul
READ: (1) AoA V3 10.2, (2) Opcode [Wikipedia]
 
Mar 8 x86 signed arithmetic: mul and imul
READ: (1) AoA V3 10.2
 
Mar 9   Book Challenge #5 (score)
Book Challenge #6
Programming Project #1
Mar 13 x86 stack
READ: (1) AoA V2 2.7
 
Mar 15 push and pop
READ: (1) AoA V2 2.7
 
Mar 16   Book Challenge #6 (score)
Book Challenge #7
Programming Challenge #7
Mar 27 bitwise logic
READ: (1) AoA V1 3.7
 
Mar 29 bitwise logic
READ: (1) AoA V1 3.11
 
Mar 30   Book Challenge #7 (score)
Book Challenge #8
Programming Challenge #8
Apr 3 two's complement
binary addition
READ: (1) AoA V1 3.2, (2) binary addition
 
Apr 5 bitwise logic
READ: (1) AoA V1 3.7
 
Apr 6   Book Challenge #8 (score)
Book Challenge #9
Programming Challenge #9
Apr 10 x86 addressing modes: direct and indirect addressing
READ: (1) AoA V2 2.2, (2) AoA V2 2.10
 
Apr 12 x86 addressing modes: direct and indirect addressing
READ: (1) AoA V2 2.2, (2) AoA V2 2.10
 
Apr 13   Book Challenge #9 (score)
Book Challenge #10
Programming Challenge #10
Apr 17 arrays in HLA
x86 addressing modes: indexed and scaled indexed addressing
READ: (1) AoA V2 2.2, (2) AoA V3 4.2, (3) AoA V3 4.3
 
Apr 19 arrays in HLA
x86 addressing modes: indexed and scaled indexed addressing
READ: (1) AoA V2 2.2, (2) AoA V3 4.2, (3) AoA V3 4.3
 
Apr 20   Book Challenge #10 (score)
Book Challenge #11
Programming Challenge #11
Apr 24 mem.alloc, mem.free, HLA pointers
READ: (1) AoA V2 2.8, (2) AoA V3 1.7
 
Apr 26 mem.alloc, mem.free, HLA pointers
READ: (1) AoA V2 2.8, (2) AoA V3 1.7
 
Apr 27   Book Challenge #11 (score)
Book Challenge #12
Programming Challenge #12
May 1 cmp, unconditional and conditional jumps
low-level control: decisions
READ: (1) AoA V3 10.2, (2) AoA V4 2.2, (3) AoA V4 2.3, (4) AoA V4 2.4, (5) AoA V4 2.5, (6) AoA V4 2.6
 
May 3 cmp, unconditional and conditional jumps
low-level control: decisions
READ: (1) AoA V3 10.2, (2) AoA V4 2.2, (3) AoA V4 2.3, (4) AoA V4 2.4, (5) AoA V4 2.5, (6) AoA V4 2.6
 
May 4   Book Challenge #12 (score)
Book Challenge #13
Programming Challenge #13
May 8 cmp, unconditional and conditional jumps
low-level control: loops
READ: (1) AoA V3 10.2, (2) AoA V4 2.2, (3) AoA V4 2.3, (4) AoA V4 2.4, (5) AoA V4 2.5, (6) AoA V4 2.6, (7) AoA V4 2.11, (8) AoA V4 2.12
 
May 10 cmp, unconditional and conditional jumps
low-level control: loops
READ: (1) AoA V3 10.2, (2) AoA V4 2.2, (3) AoA V4 2.3, (4) AoA V4 2.4, (5) AoA V4 2.5, (6) AoA V4 2.6, (7) AoA V4 2.11, (8) AoA V4 2.12
 
May 11   Book Challenge #13 (score)
Book Challenge #14
Programming Challenge #14
May 15 "real" x86 assembly
DOWNLOAD: NASM v2.13.03 (Win32 or your platform)
 
May 17 "real" x86 assembly
DOWNLOAD: NASM v2.13.03 (Win32 or your platform)
 
May 18   Book Challenge #14 (score)
Programming Challenge #15
Programming Project #2
May 22 FINAL: 8:00am - 10:00am, MC 146 Final challenge