Mon March 29
Read: Chap 1
Wed March 31
Read: Chap 2.1, 2.2
Lab 1
Fri April 2
HW#1: 2.58 and 2.61
Read: Chap 2.3
Mon April 5
HW#2: 2.74 and 2.81
Read: Chap 2.4
Wed April 7
Read: Chap 3.1, 3.2, 3.3
Fri April 9
HW#3: 2.83 and 2.86 plus: What is the largest positive integer N such that all integers in range [0,N] can be represented exactly in a 32-bit float? In a 64-bit double? Explain.
Read: Chap 3.4, 3.5
Mon April 12

(Project 1 due Tue April 13 9pm)

Wed April 14
Read: 3.6, 3.7
Lab 2
Fri April 16
Read: 3.8
HW#4: 3.54 plus: do the same thing for the following assembly, which has the exact same structure as exercise 3.54:
movl    16(%ebp), %edx
movl    12(%ebp), %eax
addl    8(%ebp), %eax
addl    %eax, %eax
leal    (%edx,%edx,2), %edx
cmpl    %edx, %eax
setg    %al
movzbl  %al, %eax
Mon April 19
(Read: 3.9)
HW#5: 3.56, plus: Manually decompile HW5-fcall.S into two C functions funcQ() and funcP(), the prototypes of which are included as comments. Here you can ignore things starting with "." (like ".text"). See if you can create C code that doesn't use local variables; the actual C code didn't use them. We haven't yet covered %esi being callee-save or stack frame allocation by "subl $20, %esp"; these aren't essential for your task.
Wed April 21
(Read: 3.10, 3.11, 3.12)
Fri April 23
Skim: 3.13
Mon April 26
HW #6: Problems 3.59, 3.60 in book. Also: Pick two four-letter words from the list here and then look at union.c. For each of the two words you've chosen, give the integer value (in hex) that must be used in the line "v.ii = " so that the program picks the chosen word. You must specify if you are intending this for a little or big-endian machine! Explain how you arrived at your numeric values (simply giving the number is not a sufficient answer).

(Project 2 due Tue April 27 9pm)

Wed April 28
Midterm taken during, and located according to, your lab times:
AA=Wed 1:00pm-2:20pm : Wieboldt 230
BB=Wed 3:30pm-4:50pm : Cobb 116
CC=Wed 5:00pm-6:20pm : Cobb 107
Open book, open notes, don't go crazy printing stuff. Material covered: Chap 1, 2, 3 (except 3.6.6 conditional moves and 3.14 FP instructions), Projects 1 and 2, HW #1--#6
Fri April 30
Read: 5.1-5.6